Games are fun! They are fun to build and fun to play. They can be an exciting conduit to learning new programming languages or new programming techniques. Here are a few of the games I've built over the course learning to program that have allowed me to learn interesting new concepts.
I wrote this game as my final project for Harvard's course, CS50, and I'd call it my first program written completely independently. It helped me get a sense of how to transition to object-oriented programming, as opposed to the procedural programming I'd learned up to that point. Twisted Towers is a tower defense style game that I wrote with Python's Pygame library.
This was the first game and one of the first programs I ever wrote. It's written in Scratch, a learner programming language created by MIT. If you have someone interested in programming, I highly recommend pointing them to this language as a first try. It was a fun experience that got me excited to learn more programming with more useful languages.