Descry is a web-based platform designed to teach algorithms through interactive visual programs. Our project was inspired by the challenges associated with learning computer science, particularly in understanding complex algorithms. Utilizing Node.js, React, and Docker for frontend development and deployment, along with Java and Processing for the creation of executable JAR files to visualize algorithms, Descry aims to bridge the gap between theoretical concepts and practical application.
Algorithm education is a critical aspect of computer science, as it forms the foundation for efficient problem solving and data manipulation. However, many students struggle to grasp the concepts and inner workings of algorithms due to their abstract nature. Descry was developed to address this issue, providing a website that offers visual demonstrations and explanations of various algorithms, making them more accessible and understandable.
The frontend of Descry was built using Node.js and React, providing a seamless user interface for efficient navigation through the platform. Docker was employed for containerization and deployment, ensuring that the platform can be consistently and reliably run across different environments.
To offer an interactive learning experience, the Descry includes executable JAR files, created using Java and the Processing library. Our team developed a wrapper utility that allows easy implementation of the Processing in order to visualize algorithms. These files, when downloaded and run on a user's computer, provide visual demonstrations of various algorithms, enabling users to visualize their function and better understand their underlying principles.
Descry serves as an innovative approach to algorithm education, offering an interactive, visual platform that makes complex concepts more accessible. The project highlights the importance of collaboration, communication, and adaptability in overcoming the challenges of diverse skill sets and limited experience working together. As a result, Descry not only provides an invaluable learning resource but also stands as a testament to the potential of interdisciplinary teamwork in software development.
git clone https://github.com/Derek-Fox/descry.tech.git
mv descry.tech/descry-update.sh .
bash descry-update.shAccess this on http://localhost:3005 once it is installed
This is a react website that is packaged in a docker container and the script will compile the container locally with the name and tag 'descry' then run that container. This makes deployment and scalability very easy as NPM can be a bit tricky but the docker file takes care of all of that.