[Tutor] Online class/education for Python?

bhaaluu bhaaluu at gmail.com
Sun Jul 27 16:18:14 CEST 2008


On Sun, Jul 27, 2008 at 3:33 AM, wesley chun <wescpy at gmail.com> 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!


More information about the Tutor mailing list