Archived Versions

Readings

Below, you'll find a set of online resources designed to accompany the 6.00 lectures. We've found that the readings are generally more effective when done after the lecture, though you are of course welcome to read them at any time.

General References

How to Think Like a Computer Scientist: Learning with Python (This resource may not render correctly in a screen reader.PDF)

Python Programming

The Python Tutorial

Lectures 1-3

Lecture 4

  • Functions, type conversion, and stack diagrams: Chapter 3 of How to Think Like a Computer Scientist
  • More about functions: Chapter 5 of How to Think Like a Computer Scientist (through section 5.4)
  • Recursion: Chapter 4 of How to Think Like a Computer Scientist (from section 4.9 on), as well as Chapter 5 of How to Think Like a Computer Scientist (from section 5.5 on)

Lecture 5

Lecture 6

  • Lists: Chapter 8 of How to Think Like a Computer Scientist
  • Dictionaries: Chapter 10 of How to Think Like a Computer Scientist
  • As a reference: the Python Tutorial section on lists and dictionaries (feel free to skip 5.1.3 and 5.1.4)

Lectures 7-8

  • Asymptotic notation: Section 3 from the Spring 2005 6.042 lecture notes on OCW (PDF)
  • Order of growth: Sections 2.1 and 2.2 from Computational Modeling and Complexity Science
  • Binary search: Wikipedia article on binary search (focus on the recursive implementation in Section 4)

Lectures 9-10

Lecture 12

Lectures 14-16

Lots of reading on classes:

  • Chapter 12 of How to Think Like a Computer Scientist
  • Chapter 13 of How to Think Like a Computer Scientist
  • Chapter 14 of How to Think Like a Computer Scientist
  • Chapter 15 of How to Think Like a Computer Scientist
  • Chapter 16 of How to Think Like a Computer Scientist

Lectures 17-19

Lecture 20