"An Introduction to Interactive Programming in Python" offered by Rice University via Coursera is one of the best programming courses I have come across as a student. The content is fantastic, the teacher are awesome. Both Joe Warren, and Scott Rixner offer invaluable insight into event-driven programming using Python. Hats off to them. John's programming tips are one of its kind, it will raise your level of programming for sure. The class is fun, the games that we've built in the course are enjoyable. I would recommend any one interested in programming to take this class, you won't regret the experience.