I took an intro to engineering course during the spring semester of my freshman year. I'm writing this summary almost two years after taking the course, but from what I remember, we concentrated on working with MATLAB during the first half of the course, and finished the semester with a few weeks of working with a Raspberry Pi.
For our final project, we needed to build something that could demonstrate what we learned throughout the semester. I decided to build a 'jukebox'. I used an LCD to display the current song being played along with any other messages the user needed in order to use the device. I utilized a piezo buzzer to play the differnet songs on the jukebox, and I also connected a few push buttons to control the device.
Reflecting on the end result, I remember the software being a bit primitive. Each button only corresponded to one song, but I could've easily added more than three songs to the jukebox by having two of the buttons be up/down selectors and the other button could've played the selected song. At the time, I didn't have a firm grasp on loops, which is why I chose to limit the device to only three songs.
I ran into some sound quality issues with the piezo buzzer once I began testing the different songs. Since the frequency range on the buzzer is limited, some of the songs I was playing on the device didn't sound quite like they should have. This was more of a hardware issue than anything.
It was a fun project to work on, and it definitely helped me realize that I enjoyed doing this kind of work. In the following semester, I took some more engineering classes since I liked this class so much, but I didn't realize until later that this class was more of a hands-on programming class than it was an engineering class.