Hi! If you're reading this, you're probably either reviewing my GitHub for an internship after clicking the link on my resumé, or maybe you're just interested in the project.
Here's the basic rundown:
This project was created in mind to help beginning students in the field of Computer Science help understand what these various sorting algorithms they're learning about in class actually do through a visual tool animating these in-place sortings. User changable settings were also developed to help customize the experience.
With algorithms like Select Sort, the visual interpretation is simple to follow, giving a helpful tool to show how the algorithm traverses, compares, and alters values throughout the list.
In my personal opinion, the Merge Sort animation seems to be the most helpful, as it really helps give an intuitive sense of what the recursive formula is actually doing.
Heap Sort and Quick Sort may be a little harder to follow without knowing the principles of the algorithms themselves, but they make for beautiful animations nonetheless.
The project was created utilizing React, JS, CSS, and HTML, and was largely inspired by the mathematical animations of Grant Sanderson, the developer of the Youtube channel 3Blue1Brown. If you haven't checked out his channel already, I highly recommend that you do.
Well, this semester (Spring 2022), I'm taking two Computer Science related courses in my junior year at NYU, one of which is Machine Learning. Perhaps in the near future, another fun resume-building project will be to create a functional ML algorithm (NLP and Quantitative Finance have always drawn my interest), although I already have another idea in mind for my next project.
It's a fundamental theorem in mathematics that you can draw a curve passing through n points exactly if the highest degree of the polynomial describing it is greater or equal to n. I plan on building a web application that will accept a user's drawing (think dragging your mouse to create some curve over an area of the screen), and returning a cartesian polynomial (or perhaps parametric) equation that best approximates the user's curve given a predetermined and adjustable level of complexity, along with an animation.
If you made it this far, thanks for your interest! I had a great time creating a working project and I can't wait to continue with freelance creative projects like these. And if you're reading this from the link in my resumé, well, I look forward to meeting in person!