An Introduction to Interactive Programming in Python

This course is offered through Coursera — you can add it to your Accredible profile to organize your learning, find others learning the same thing and to showcase evidence of your learning on your CV with Accredible's export features.

Course Date: 15 September 2014 to 17 November 2014 (9 weeks)

Price: free

Course Summary

This course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Estimated Workload: 7-10 hours/week

Course Instructors

Joe Warren

Joe Warren is a Professor in the Department of Computer Science at Rice University. His main area of research interest is computer graphics and geometric modeling, where he has published extensively. He is the author of the book Subdivision Methods for Geometric Design. He also has a love for computer gaming, both playing games and teaching students how to build them. He has taught the Department’s introduction to game creation course as well as its senior-level game design course in collaboration with Houston game professionals for over a decade. Joe was an undergraduate at Rice from 1979-1983 and received his Ph.D. from Cornell in 1986. He has been a professor at Rice ever since and served as the Chair of the Department from 2008-2013.

Scott Rixner

Scott Rixner is an Associate Professor of Computer Science at Rice University. His research focuses on systems software and computer architecture. He is well versed in the internals of the Python programming language, as he is currently developing a light-weight Python interpreter for embedded systems in his research. He has also taught many of the introductory computer science courses at Rice, including Computational Thinking, Algorithmic Thinking, Introduction to Program Design, and Introduction to Computer Systems. He is the chairman of the curriculum committees for both the Department of Computer Science and the School of Engineering at Rice. Prior to joining Rice, he received his Ph.D. from MIT.

John Greiner

John Greiner has been teaching Computer Science at Rice University since 1997. While focusing on introductory computer science, he has also taught many algorithms, theory, and systems courses. He is active in curricular development and policy as well as outreach to high school students. John earned a Ph.D. from Carnegie Mellon University and a B.A. from Rice University.

Stephen Wong

Dr. Wong, a Lecturer of Computer Science at Rice University, is an experienced computer scientist, physicist and educator specializing in object-oriented programming, software engineering and computer science pedagogy. A Howard Hughes Ph.D. Fellow, he received his Ph.D. in experimental solid state physics from M.I.T. in 1988 and worked at Bell Labs and Hughes Research Labs before entering academia. He has published numerous papers and run many seminars on design patterns and C.S. pedagogy. He has designed and taught innovative introductory “objects-first” courses leveraging the power of interactivity to teach fundamental C.S. concepts and skills. He pioneered a cutting-edge experientially-driven, discovery-learning process software engineering course where highly realistic software engineering situations that require solutions using state-of-the-art design, information management and project management skills. His research includes the use design patterns in redesigning traditional algorithms, serious gaming systems, enterprise-class information management systems and large-scale, high-fidelity simulation systems.

Course Description

This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications.  Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.  These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse.

The primary method for learning the course material will be to work through multiple "mini-projects" in Python.  To make this class enjoyable, these projects will include building fun games such as Pong, Blackjack, and Asteroids.  When you’ve finished our course, we can’t promise that you will be a professional programmer, but we think that you will learn a lot about programming in Python and have fun while you’re doing it.


  • Will I get a certificate after completing this class?

    Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by Joe, Scott, John, and Stephen.

  • What resources will I need for this class?

    The only requirement for the class is access to a modern web browser. All coding and program development will be done in a web-based programming environment that supports building interactive applications in Python. The programs that you create will be saved, shared and graded via the cloud.

  • What is the coolest thing I'll learn if I take this class?

    You’ll be able to build your own games in Python.


Our course syllabus can be seen at


Our course will last nine weeks.  The lectures from each week will focus on the topics listed in the syllabus while an associated weekly “mini- project” will serve to reinforce these concepts in practice.  Grades for these mini-projects will be determined via peer-assessment.  The class will also include two quizzes each week to provide further feedback.

Course Workload

7-10 hours/week

Review course:

Please sign in to review this course.

Similar Courses

{{ }} {{ }}


{{course.start_date | date:'MMM d'}} — {{ course.end_date | date:'MMM d'}}   ({{ course.time_until_course_starts }} ,   length: {{ course.length_in_weeks }} weeks) Self-paced — no deadlines    
${{ course.price }} p/mfree


Course Activity & Community

Be the first Accredible user to join this course!

uploaded {{ feed_item.model.caption || feed_item.model.url || feed_item.model.file_file_name }} for the course {{ }} — {{ feed_item.time_ago }}

{{ }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}

started the course {{ }} — {{ feed_item.time_ago }}
followed {{ }} — {{ feed_item.time_ago }}
followed thier friend {{ }} — {{ feed_item.time_ago }}
{{ feed_item.model.text }} (on the course {{ }}) — {{ feed_item.time_ago }}

{{ }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}