This blog entry is really a shout out to the nice folks at Coursera and Rice University who have provided the MOOC (massive open online course) titled "An Introduction to Interactive Programming in Python". I recently took this free course, and it was FANTASTIC.
This was my first MOOC, so I wasn't quite sure what to expect. First, I went through the sign-up process through Coursera. I don't remember much about that, except I'm pretty sure about three things:
- It must not have been very hard.
- It was free, I was not about to pay for something without trying it.
- It required an email address.
I had already browsed Coursera's catalogue, and decided to try the Python course based on the class description. It promised we'd do some game development, which interested me.
I've been a programmer for quite some time and was somewhat familiar with Python. I use it once in a while for general-purpose file munging duties. But I have never been a game programmer, and that's what got me interested in this course.
The course turned out to be an 8 week cycle, where each week was composed of:
- About 4 or 5 10 minute video lectures. The professors were very clear and had good teaching skills.
- A mid-week quiz that covered some of the concepts discussed this week.
- A 'mini project' where the instructors would provide a template for a Python program that gave you a head start. You also got explicit suggestions on how to implement the game we were working on that week.
Programs are graded by peers. Each week you would assess 5 fellow student's programs, and then have a look at your own.
By the way, if you want your efforts to be recognized for college credit, you can pay a fee for this within the first couple of weeks of class. I wasn't interested in that, I just wanted the gaming knowledge. So I paid nothing, but got all the knowledge for free!
To minimize environmental issues, the course instructors have provided a browser-based IDE called 'CodeSkulptor'. A truly brilliant idea, this UI works very well.
That's it! So for 8 weeks we wrote games like 'Pong', 'Memory', 'High/Low', 'BlackJack' and finally 'Asteroids'. We started out slowly, and then added all the stuff I knew I had to grasp but never did before-- Sprites, collisions, making stuff move around the screen, bouncing things off walls, etc.
I would never have guessed in a million years that someone could teach the fundamentals of this stuff through 10 minute video lectures. But they did, and today I am happily working on games of my own invention using these necessary techniques.
If you haven't picked up on this yet, I found this class absolutely fantastic. I intend to take another class soon, and hope the catalogue of programming classes keeps expanding.
By the way, MOOCs are offered from some very prestigious schools. This is top-notch stuff.
So please give MOOCs a try. If you're like me and have an interest in game programming, catch the next iteration of the Python Interactive Programming class. I hope you find it as fun as I did.