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

A textbook for 6.00 is now available. The book and the course lectures parallel each other, though there is more detail in the book about some topics. The book is NOT required. We will not be referring to it in assignments or depending upon it to cover holes in the lectures.

mp_logo.gif Buy at Amazon Guttag, John. Introduction to Computation and Programming Using Python. MIT Press, 2013. ISBN: 9780262519632.

If you choose not to purchase this book, you will probably find it useful to buy or borrow another book that covers Python. You might check your local public library's resources, or search online for a free Python text, such as How to Think Like a Computer Scientist or An Introduction to Python.

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