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. "How to Think Like a Computer Scientist" is also available in one big PDF.
(links will be added here incrementally over the term)
Reference (Python 2.5.4)
Lectures 1-3
Lecture 4
- 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)
Lecture 5-7
- 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)
- Documenting functions: Documenting Functions from Dive Into Python
- 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 8
Lecture 9
- Asymptotic notation: Section 3 from the Spring 2005 6.042 lecture notes on OCW
- 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)
Lecture 10
Lecture 11
- Merge sort: Wikipedia on Merge Sort, Sections 1 and 2
- Exceptions: Section 11.5 in How to Think Like a Computer Scientist (you might also be interested in the other parts of Chapter 11 about reading and writing to files)
Lectures 12-13
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
Lecture 14
Lectures 15-16