This section includes the online textbook and a schedule of readings by session.
Textbook
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.
LEC # | READINGS |
---|---|
1 | Chapters 1 and 2, section 4.12 |
2 | Sections 4.1, 4.2, 4.4-4.7, and 6.1-6.2 |
3 |
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 |
4 |
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 |
6 |
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) |
9-11 |
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. |