Descry: A Visual Approach to Algorithm Education

Abstract

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.

1. Introduction

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.

2. How we built it

2.1 Front-end Development and Deployment

The front-end 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.

2.2 Algorithm Visualization Programs

To offer an interactive learning experience, 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.

3. Conclusion

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.

Share this project:

Updates