On Sun, Jul 27, 2008 at 3:33 AM, wesley chun <[EMAIL PROTECTED]> wrote: > > on a tangential note, i may be asked to teach a private course to > individuals who have never formally learned to program before, and i'm > participating in this thread for a number of reasons, including the > fact that i'm trying to come up with a supplemental textbook to use in > addition to my course notes. i had envisioned the dawson book, but if > it's going OoP, i will have to come up with alternatives. > > cheers, > -wesley >
While Python wasn't my first computer programming language, I found the Dawson book (PPftAB2E) to be very approachable, and would highly recommend it to anyone interested in learning Python. PPftAB2E is just a lot of FUN to work through, even if the student isn't planning on becoming a "game programmer." It seems to cover all the Python basics. I liked the fact that most of the 'games' used as example programs were text- based games. The introduction to Python OOP was gentle, yet covered most of the aspects of OOP without being overwhelming. Each chapter in the book built on the previous chapter's examples. I learned more about programming, reading/doing PPftAB2E, than from any other programming book I've read/done. I'd like to repeat that the FUN factor was an important aspect. Personally, I learn better and faster when I'm having fun, than when I have to learn something that is tedious from the very beginning. Even though PPftAB2E uses games to teach Python, it never really gets into PyGame. Instead, it uses a customized version of a PyGame wrapper, called LiveWires. LiveWires was developed to teach programming to kids in Great Britain. So if a student goes through PPftAB2E, and wants to continue programming games, I'd recommend "Game Programming" by Andy Harris [ISBN-13: 978-0-470-06822-9]. Game Programming is a fairly complete PyGame tutorial. >From the Preface: <quote> Let's face it: Games are fun. Games are what brought me into computer programming so long ago, and they're a big part of why I'm still in it. There's something irresistible about immersing yourself in an imaginary world. Books and movies are a great way to experience a form of "alternative reality," but an interactive computer game is something more. You don't simple watch a game. You 'participate.' If you think games are fun to play, you should try 'creating' them. There's nothing more fun than building your own gaming environment, and when you actually make something that's exciting for others to play, you'll feel a rare sense of accomplishment. If playing games is more immersive than watching movies, writing games is even more immersive than playing them. After all, the players are really playing with a universe constructed by you. In a sense they're playing with you. </quote> PyGame is a Python wrapper around the extraordinary SDL library, which allows beginning programmers to do some really incredible things, using the Python language. The bottom line is: PPftAB2E is a fantastic book to use to teach people who have never programmed a computer before; and Game Programming is a great follow-up book for those from the beginning class who want to continue learning game programming with Python/PyGame. The PyGame crowd even have their own website and mailing list: http://www.pygame.org/news.html There are quite a few Python/PyGame examples on the PyGame website, so an advanced Python class from the intermediate class would have lots of stuff to take apart, modify, and put back together. Or, the class could team-build a game for one of the Python/PyGame game competitions. So there is a complete curriculum for you. I'm sure that students who learned how to program Python by learning to program games, would be well equipped to learn how to program anything, from networked business apps, to Enterprise apps, or anything else. They would be well-grounded Problem Solvers who have learned how to learn. They probably had a lot of FUN learning how to learn, so it sticks with them better, and longer, I'm so sure. 8^D Happy Programming! -- b h a a l u u at g m a i l dot c o m Kid on Bus: What are you gonna do today, Napoleon? Napoleon Dynamite: Whatever I feel like I wanna do. Gosh! _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor