If you see the bigger picture, then actually its not about programming a computer but about giving them a advanced, problem solving and organised mindset
This is pretty much it. These applications doesn't really teach you actually how to program, but they do help you to learn problem solving skills which are a very important for actual programming and are (more importantly) very transferable.
As a side note, f**k C# man (and OO structure in general frankly). I swear I'm just using a sledgehammer to punch code into arbitrarily arranged classes without any real structure, and half my damn variables are public. I've only been working on my assignment piece for like 4 days and the class structure is already basically beyond repair. Also, all of my sprites and most of their information are hardcoded into the Sprite class, rather than into corresponding sprite specific classes that merely inherit what they actually need.
