A Modern Day '101 Basic Computer Games'?
pcraven asks: "Back when I learned how to program, I found a book called 101 Basic Computer Games by David H. Ahl. This book had a lot of simple programs that I could type into the Apple //e. It made programming interesting. I'm not sure I would have started a career in programming without it. Today I haven't found any recent equivalent to this book. I want a bunch of sample computer games that students can program that they will find fun and interesting. Something that a CompSci 101 graduate could type in and run. Does anyone know of a book or web site like this?"
Ah yes... I remember and look back on those times with a mixture af happy and desperate thoughts. I remember buying one of the many (!) monthly magazines with computer game code listing and spending an afternoon and evening typing a game in on my trusted Commodore VIC20. When the game ran it was wonderful (the VIC20 was after all a pretty impressive computer for the time), but I also remember the times when the code didn't work! Then I had to spend a few extra hours looking for typos because I had no idea what the "complicated" BASIC was doing, so there was only the tedious way of debugging. Those were the days...
That aside I doubt if a lot was learned from those computer games listed in books/magazines that weren't picked up from somewhere else. Mindlessly typing in the games certainly doesn't help with understanding, and only if you approach the problem from an how-does-he-do-this perspective are you really going to get something out of other peoples code. I still find that the most usefull way of learning some programming is to have an itch that needs scratching. In teaching (games)-programming I would guess that getting beginners to write tic-tac-toe, a worm-game etc. is still a good idea, and there are lots of simple code to be found on the net.
Witness the plethora of DHTML/Javascript books out there -- that'd cover at least half of the BASIC book programs from the past. Books tend to come with CD's now, so there's no reason you couldn't include the language, a whole environment, hell a whole operating system (can you say knoppix) on that CD.
My theory, however, on the reason you don't see kids programming books anymore is that computers are no longer toys in themselves. When these books were "hot" (actually they never were, so let's say when they were being published) home computers were a relatively new phenomenom and a largely unexplored frontier. Now they're ubiquitous, and the joy of puttering around on the computer isn't really so interesting to most kids as tinkering with something already on the computer.
An updated LOGO type of language with 3d graphics instead of turtles, that might inspire interest again. At least something that can allow kids to create something as eyecatching and appealing as games from 5 years ago. Or just update some of these old saws to modern standards: Imagine rocky's boots on a modern 3d engine. Kids aren't interested because all the educators are still pointing them at computers and saying "this is a COMPUTER billy, can you say COMPUTER?", while the kid's thinking "please, I bet it has less than a gig of RAM and it's not even DDR".
I've finally had it: until slashdot gets article moderation, I am not coming back.
I faithfully typed in C=64 programs for years never minding that I wasn't learning much from such densely packed, often unreadable code. BASIC wasn't necessarily the problem, rather that memory restrictions and magazine space issues prevented most people from organizing code well. Comments were lost, multiple statements crammed onto the same line, etc.
I agree with whoever said that kids wouldn't be interested in such things today. We have to accept that interests have changed and web page building has replaced classic programming in the minds of novices. The biggest obstacle to a "fun" programming book is the appalling lack of built-in or bundled programming languages with new computers. As much as I enjoy using languages like PHP and Java I think they are much too complicated for the newbie. We should either bring back traditional BASIC with tighter syntax requirements, popularize a version of LOGO with hooks to graphics routines and the ability to build a complete clickable app or popularize some other similar easy to use language for first timers. Only then might we see a renewed interest in learning how to program.