Home » Blog » An Introduction to Interactive Programming in Python: Rice University Online Course

An Introduction to Interactive Programming in Python: Rice University Online Course

Rice University along with Coursera is starting a free online course “An Introduction to Interactive Programming in Python”. This course is an introduction to the basics of programming in Python. The main focus of the program will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Python is a high level programming language that is used in a wide variety of application domains. It helps to work more quickly and integrate the systems more effectively. Python supports multiple programming paradigms which include object oriented, imperative and functional  programming or procedural styles. Python is available for all major operating systems such as Windows, Linux/Unix, OS/2, Mac, Amiga, etc. and even some versions run on .NET and the Java virtual machine also. Python code can be packaged into separate executable programs such as Py2exe or Pyinstaller. It features a dynamic type system and automatic memory management and has a large and a comprehensive standard library.



User Review
0 (0 votes)

About the Course

This course is designed to help students who have very little or no computing background. It will help them to learn the basics of building simple interactive applications. To make learning easier, a new browser-based programming environment has been developed that makes developing interactive applications in Python more simple. The primary method for learning the course material will be to work through multiple “mini-projects” in Python. These projects will include building fun games, which make the classes more enjoyable.

During the class students will watch two sets of videos (part A and part B) and then complete one quiz for each set. Quizzes will have a soft deadline of Tuesday & Thursday, respectively and a hard deadline of Saturday. Each week’s main task is to complete a mini-project that will be due by Saturday. Grades for mini-projects will be determined via peer-assessment.

Duration of the Course

The course will start on 7th October 2013 for the duration of 9 weeks. For the study course will demand a workload of 7-10 hours/week.


Students are recommended to have Mathematics in their High school to get enroll in this course are eligible.

Course Syllabus

Week 0
Topic : Statements, expressions, variables

Week 1
Topic : Functions, logic, conditionals
Mini Project : “Rock-Paper-Scissors-Lizard-Spock” game

Week 2
Topic : Event-driven programming, local and global variables, buttons and input fields
Mini Project : “Guess the Number” game

Week 3
Topic : The canvas, static drawing, timers, interactive drawing
Mini Project : Stopwatch: The Game

Week 4
Topic : Lists, keyboard input, motion, positional/velocity control
Mini Project : “Pong” game

Week 5
Topic : Mouse input, more lists, dictionaries, images
Mini Project : “Memory” game

Week 6
Topic : Classes, tiled images
Mini Project : “Blackjack” game

Week 7
Topic : Acceleration and friction, spaceship class, sprite class, sound
Mini Project : Spaceship from “RiceRocks” game

Week 8
Topic : Sets, groups of sprites, collisions, sprite animation
Mini Project : Full “RiceRocks” game


Students on successfully completing the classes will receive a Statement of Accomplishment signed by the course instructors Joe, Scott, John and Stephen.

About the Instructors

Joe Warren, a Professor in the Department of Computer Science at Rice University. His main area of research interest is Computer Graphics and Geometric Modelling. Joe was an undergraduate at Rice from 1979-1983 and received his Ph.D. from Cornell in 1986.

Scott Rixner, an Associate Professor of Computer Science at Rice University. His research interest is on Systems Software and Computer Architecture.

John Greiner, Computer Science teacher at Rice University since 1997. John earned a Ph.D. from Carnegie Mellon University and a BA from Rice University.

Stephen Wong, a Lecturer of Computer Science at Rice University. He is an experienced computer scientist, physicist and educator specializing in object-oriented programming, software engineering and computer science pedagogy.