Calendar · Lecture Notes
MIT OpenCourseWare
A Gentle Introduction to Programming Using Python
Art: not stated, Fletcher's Combined Block Telegraph Apparatus and Bell, 1889 · Public domain
- Instructor
- Sarina Canelake
- Term
- January IAP 2011
- Level
- Undergraduate
- What's inside
- 1 exam · 1 reading · 51 other files · 6 web pages
- Materials open
- MIT OCW
Other versions of this course
- 6.189 · January IAP 2011 · Study here (this version)
- 6.189 · January IAP 2008 · On MIT OCW ↗
About this course
Source: MIT OpenCourseWare 6.189 A Gentle Introduction to Programming Using Python, January IAP 2011, Sarina Canelake — original course page on ocw.mit.edu ↗. License: CC BY-NC-SA 4.0. Study order: MIT's own listing order, section by section. Taken from MIT's published course files, downloaded from ocw.mit.edu on September 23, 2026. How RedLectern is built.
Materials are grouped the way MIT organized them. A verified, course-wide order has not been established here.
Has MIT solutions
Before you start
Prerequisites are not listed here. Check MIT's own syllabus for this course.
How this course was organized
What's here, and what isn't
- MIT's own materials here did not support a verified, course-wide order, so they are grouped by section instead.
Not included here
25 items from the source could not be safely included:
- MIT's page format for this item wasn't recognized clearly enough to place it safely. (24 items)
- Referenced in a table, but without MIT's own verified order, so it isn't used to claim a sequence.
Materials by section
Grouped by section, as MIT organized them. Not sequenced or ordered.
Lectures
24 files
- This resource is a supporting file for defining functions (lecture3.py) Download
- How to comment code properly Download
- Common Python mistakes and misconceptions Download
- Recursion notes Download
- Optional problems Download
- Getting started Download
- Additional Material Two examples of a rock-paper-scissors program: rps_example1.py Download
- This resource is a supporting file for strings, lists, and list comprehensions (rps_example2.py) Download
- This resource is a supporting file for introduction (raw_input_example.py) Download
- This resource is a supporting file for conditionals and loops (height_example.py) Download
- This resource is a supporting file for conditionals and loops (conditional_examples.py) Download
- This resource is a supporting file for conditionals and loops (loop_examples.py) Download
- This resource is a supporting file for defining functions (functions.py) Download
- This resource is a supporting file for defining functions (check_for_vowels.py) Download
- This resource is a supporting file for strings, lists, and list comprehensions (string_examples.py) Download
- This resource is a supporting file for strings, lists, and list comprehensions (list_examples.py) Download
- This resource is a supporting file for strings, lists, and list comprehensions (comprehension_examples.py) Download
- How to use while-else loops (suggestion: don’t use them at all, but if you do be aware they work differently than you might think): while_else.py Download
- Recursion examples Download
- Solutions to optional problems Download
- This resource is a supporting file for tuples, dictionaries, and common python mistakes (tuple_examples.py) Download
- This resource is a supporting file for classes (point.py) Download
- This resource is a supporting file for classes (wheel.py) Download
- This resource is a supporting file for inheritance (inheritance_examples.py) Download
Assignments
26 files
- Homework 1 Download
- Homework 1: Written Exercises Download
- Homework 2 Download
- Homework 2: Written Exercises Download
- Homework 3 Download
- Homework 3: Written Exercises Download
- Homework 4 Download
- Homework 4: Written Exercises Download
- Homework 1 · Code template Download
- Homework 2 · Code template Download
- Homework 3 · Code template Download
- Final project: Tetris Download
- Graphics module documentation Download
- Project 1: Hangman Download
- Project 2: Conway’s game of life Download
- This resource is a supporting file for nims (nims.py) Download
- This resource is a supporting file for strings and lists (strings_and_lists.py) Download
- This resource is a supporting file for hangman (hangman_template.py) Download
- This resource is a supporting file for words (words.txt) Download
- Optional extension: hangman_lib.py Download
- This resource is a supporting file for hangman (hangman_lib_demo.py) Download
- This resource is a supporting file for graphics (graphics.py) Download
- This resource is a supporting file for wheel (wheel.py) Download
- This resource is a supporting file for color strings (rgb.txt) Download
- This resource is a supporting file for game of life (game_of_life_template.py) Download
- This resource is a supporting file for tetris (tetris_template.py) Download
Exams
Course outline
Calendar · Lecture Notes
Lecture 2: Conditionals, loops
Calendar · Lecture Notes
Lecture 3: Defining functions
Calendar · Lecture Notes
Lecture 4: Strings, lists, list comprehensions
Calendar · Lecture Notes
Lecture 5: Tuples, dictionaries, common Python mistakes
Calendar · Lecture Notes
Lecture 6: Classes
Calendar · Lecture Notes
Lecture 7: More about classes
Calendar · Lecture Notes
Lecture 8: Inheritance
Calendar · Lecture Notes
Lecture 9: Review
Calendar · Lecture Notes
Lecture 10: More review
Calendar · Lecture Notes
Lecture 11: Questions and applications
MIT OpenCourseWare, Sarina Canelake, 6.189 A Gentle Introduction to Programming Using Python, January IAP 2011.
License: CC BY-NC-SA 4.0 · Edition: January IAP 2011 · Open the original course on OCW ↗
Organized by RedLectern, independent of MIT and not endorsed by MIT.
Per-resource rights are recorded on each resource; All-Rights-Reserved items are link-only, never mirrored.
