When I started out with personal computers back in 1981 there was no option but to enter the data for each program to run so before I could play a game I entered each line of code. I vividly remember the downhill ski game all in ASCII text (no pixillated graphics then) but it helped me understand how each part worked and what I could change.
Likewise, later on in life when I was programming in Visual Basic, dBase, Clipper, and C++ I always found it easier to adapt to a new language by using a program I'd previously written and applying that, rather than just learning the theory blindly.
Context and meaning make all the difference. Open source also allows a learning programmer to study and understand someone else's code applications.
Python has earned a reputation as a wonderful beginner programming language. But where does one begin? One of my favorite ways to get people interested in programming is by writing games. PursuedPyBear (ppb) is a game programming library optimized for teaching, and I recently used it to teach my children more about my favorite programming language.