In my sophomore fall semester, I created a music editor coded in Java for an Object-Oriented Design class (which I now am a TA for).
The music editor not only allows the user to listen + watch representations of songs, but also to add + remove notes.
This project spanned two months and was my first software project of this scale. I learned a lot throughout the process, including good design patterns, how to use MIDI with Java, and how to use Java Swing to create GUIs. The music editor was created using the Model-View-Controller architectural pattern, and the independence of each component was tested when we swapped views with classmates and adapted our models to work with the new code.
The code for my project can be found here.