Inspiration

I decided to write this app with the hopes of one day presenting it to the middle school students that I currently tutor. I feel that data structures and algorithms may seem daunting to individuals who are new to computer science. I feel confident that through the animation and active interaction of basic data structures, anyone can learn the basics of computer science and learn to love software.

What it does

Render currently provides an interactive experience with four basic data structures. Users are able to input nodes and elements while the interactions created are displayed in real time.

How I built it

Render was created in Java making use of the JavaFX library. Each scene or window is an implementation of JavaFX's layout and control classes. The animations were made through the Application class and the methods pertaining to said library.

Challenges I ran into

Some challenges I encountered were due to getting used to the GridPane node class which I had decided to use primarily for this project. Keeping width and height fields consistent within a considerable amount of layers had proved to cost many hours and pieces of paper, but in the end the convenience the Container provided had made the efforts worth it.

Accomplishments that I'm proud of

I'm extremely proud of how clean and modern the project turned out to be. I felt some doubt in the initial decisions I made in designing the GUI but seeing the finished product makes me feel very accomplished.

What I learned

I learned a considerably amount of GUI development using JavaFX, as well as using CSS in the design of certain elements. I took a lot out of this project, and I will definitely use the skills and libraries I learned in future projects.

What's next for Render

I hope to add even more data structure animations as well as algorithm visuals. I plan on investing some time learning web development as well with the hopes of making Render more easily available as an open source academic resource.

Built With

Share this project:
×

Updates