6.189 | January IAP 2008 | Undergraduate

A Gentle Introduction to Programming Using Python


Course Meeting Times

Lectures: 5 sessions / week for 2 weeks, 3 hours / session


1 Variables and types
2 Functions, basic recursion
3 Control flow: Branching and repetition
4 Introduction to objects: Strings and lists
5 Project 1: Structuring larger programs
6 Python modules, debugging programs
7 Introduction to data structures: Dictionaries
8 Functions as a type, anonymous functions and list comprehensions
9 Project 2: Working in a team
10 Quiz, wrap-up

Administrative Details


This is a pass/fail course — attend the classes, do the homework. Attendance is important; email us in advance if you have to miss a class.

Optional Assignment(s)

There is an optional assignment that you can work on when you have free time, e.g. if you finish the class lab period early. This assignment is completely optional — it was designed to give you a better intuition for programming and to help in later course 6 studies.


This class uses readings from the online textbook How to Think Like a Computer Scientist — it’s always nice to have two perspectives on concepts. You can find this textbook here.

Python Installation

You can get the latest version here.

  • Linux and Mac OS X users: You should already have Python installed — to test this, run the command Python in console mode. Note that the first line tells you the version number; you may want to upgrade your installation if you have a version earlier than 2.3.
  • Windows users: Grab the Windows installer from the Downloads section. After installation, you can run the IDLE (Python GUI) command from the Start menu.

Course Info

As Taught In
January IAP 2008
Learning Resource Types
assignment_turned_in Problem Sets with Solutions
notes Lecture Notes
group_work Projects
assignment_turned_in Programming Assignments with Examples