This is the material from the first course in the CS undergraduate program, which was done in Java for learning Object-Oriented Programming. There were some exercises and homework to do in Java, but I chose to do some of them as well in C++ for personal learning purposes.
This was made for educational purposes and is licensed under the MIT License.
The project we were tasked to do was a clone of the game Crash Balls, originally released for BlackBerry. Some key differences (or a crazy spin) that I put into it were a bar at the top that gets lower a bit every time a move is done (and if it reaches you, it's Game Over).
I also added a couple of 'rails' to show where the balls would fall together with 'ghost images' of their possible placement, also an animation of the balls falling whenever you decide the position you want to put them in.