This section includes the online textbook and a schedule of readings by session.
Downey, Allen, Jeffrey Elkner, and Chris Meyers. How to Think Like a Computer Scientist: Learning with Python. Green Tea Press, 2002. ISBN: 9780971677500. (PDF - 1.0MB)
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 4: Conditionals and recursion
Chapter 12: Classes and objects
Chapter 13: Classes and functions
Chapter 14: Classes and methods
Appendix A: Debugging (important!)
The lectures stick with the order of the textbook for the most part, but not always.
Readings by Session
Readings are from How to Think Like a Computer Scientist unless otherwise noted.
|1||Chapters 1 and 2, section 4.12|
|2||Sections 4.1, 4.2, 4.4-4.7, and 6.1-6.2|
Chapter 3, appendix A, sections 6.5-6.9
Sections 2.1, 2.2, and 2.3 (up to the heading "Lists") from the 6.01 course notes
Chapters 7 and 8
Chapter 2 from "Lists" on, from the 6.01 course notes
More on list comprehensions is available here and on Wikipedia.
|5||Chapters 9 and 10|
Chapters 12-14 (read chapter 14 well; get through at least section 14.6)
This tutorial on classes may also be helpful.
|7||Finish chapters 12-14; read chapter 16|
|8||Wikipedia: Conway's Game of Life (Project 2)|
For the final week, make sure you know and understand chapters 12-14 and 16.
Chapters 11, 15, 18, 19, and 20 are very interesting, but not covered in this course; take 6.01, 6.042, and 6.006 to learn more about programming and data structures.