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)
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.
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 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 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.
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
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
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?
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