This is an archived course. A more recent version may be available at ocw.mit.edu.

Readings

This section includes the online textbook, readings by session, and Python/IDLE resources.

Textbook

The course textbook is How to Think Like a Computer Scientist, by Allen Downey: (This resource may not render correctly in a screen reader.PDF - 1MB)

If you have trouble accessing the textbook, or don't want to download the whole PDF, try the individual chapters:

Chapter 1 - The way of the program

Chapter 2 - Variables, expressions and statements

Chapter 3 - Functions

Chapter 4 - Conditionals and recursion

Chapter 5 - Fruitful functions

Chapter 6 - Iteration

Chapter 7 - Strings

Chapter 8 - Lists

Chapter 9 - Tuples

Chapter 10 - Dictionaries

Chapter 12 - Classes and objects

Chapter 13 - Classes and functions

Chapter 14 - Classes and methods

Chapter 16 - Inheritance

Appendix A - Debugging (important!)

The lectures stick with the order of the textbook for the most part, but not always.

Readings by Session

Chapters 2 and 3 from the 6.01 course notes are courtesy of Dennis Freeman, Leslie Kaelbling, and Tomas Lozano-Perez, and are used with permission.

SES # READINGS 6.01 COURSE NOTES
1 Read all of Chapter 1 and all of Chapter 2. It will be useful to refer to section 4.12 of Chapter 4.  
2 Read sections 4.1, 4.2, 4.4 - 4.7 of Chapter 4, and section 6.2 of Chapter 6.  
3 Read all of Chapter 3, section 6.5 - 6.9 of Chapter 6, and sections 2.1, 2.2, and 2.3 (up to the heading "List Comprehensions") of the 6.01 course notes. Chapter 2 (PDF)
4

Read all of Chapter 7, all of Chapter 8, and the rest of chapter 2 (from "Lists" on; the "List Comprehension" section is optional) plus sections 3.2 - 3.4 (up to 3.4.6) of the 6.01 course notes.

Optional: more on list comprehensions here and on Wikipedia.

Chapter 3 (PDF - 1.5MB)
5 Get caught up on any reading that you've missed from the past four days, and be sure to review concepts you are unclear on.  
6 Read all of Chapter 10.  
7 Read all of Chapter 12, Chapter 13, and Chapter 14.  
8 In addition to chapters 12-14, read Chapter 16.  
9-10 Make sure you know and understand Chapters 12-14, and 16. Chapters 11, 15, 18, 19, and 20 are interesting, but not covered in this course.  

 

Python/IDLE Resources

The Python Tutorial, by Guido van Rossum

This is the standard tutorial reference by the inventor of Python. Everyone should have a bookmark for it in their browser for reference.

Official IDLE Documentation

The official Python IDLE documentation, including keyboard shortcuts, debugging, etc.