To get started I think to myself, "Okay, start small!". So I come up with the idea of making pong, but when I start planning out how it is going to get programmed is when I run into trouble. I start thinking of how am I going to render the objects, GUI, and text, and also handle shaders, textures, etc. Then I start planning how to play audio. Then I start thinking about how I am going to handle the window and input.
That's a finished game, not a beginner learning "project".
Maybe I'm missing some points and posts, but start small isn't emphasised well enough. Pong is almost always mentioned. Some may get the notion that Pong should come right after "Hello World". I think you should start even smaller, it's just the very beginner stuff is not really specific or worth to mention. It doesn't have to be anything finished. Maybe some console program that prints something depending on input. Maybe a spinning cube with no user input. Just fractions of a game at a time, but "complete" programs in the sense of runnable executables.
Another opinion: "finished" game is overemphasized too. It's very good thing to finish stuff, but not your very first learning project. Don't finish it. Finish what's worth it.






