I think a lot of the guys here probably got interested in computer science because of games.<p>I started by making websites using a textarea on tripod and writing HTML for a Worms website. C++ and DirectX were just another 4 years away (I was 11).<p>I did 4 years of game programming in high school before going to college where I finally sat down next to others that wanted to learn. Some of them had never programmed before. But things that making computer games taught me intuitively instead of in a text book (and therefore understanding it deeper because I made the mistakes that called for these concepts):<p>- Polymorphism / Interfaces<p>- Large Project management and organization (main.cpp:10045 anyone?)<p>- Problem decomposition / abstraction<p>- "Full stack" multi-tool pipelining (photoshop-&#62;custom sprite sheet editor-&#62;low level image loading-&#62;memory management framework-&#62;abstraction layer-&#62;game logic)
- The interaction of a full system.<p>These things gave me an edge in school, and I'm not (just) beating my chest when I saw I wasn't really challenged until the second semester of my sophomore year. This is more likely because I had 200,000 lines under my belt by the time I got to school but its games that got me there.<p>I strongly encourage game programming as a way to start because the first time you get a picture moving on a screen you're going to want to do more, and it'll bring you back every time.