ArcadeFSE
I built an arcade with three games. My favorite was chess: a chess engine in Python. Expectations were low, but it ended up playing surprisingly well. Well enough to beat me, at least, though my friends who actually knew chess made quick work of it. I implemented all the rules and game logic from scratch. Learned about minimax, alpha-beta pruning, iterative deepening, and heuristic design.
I used the same core logic for Connect 4. Since Connect 4 is a much easier game, the bot destroyed pretty much everybody. It hadn't fully solved the game though; if you played against an actual perfect Connect 4 solver, my bot would still lose. But it was pretty good nonetheless.
And Pac-Man. I didn't really have any care for Pac-Man, but one of my friends had done Pac-Man for his entire FSE, and I just wanted to one-up him with mine.