Readings
This section includes the online textbook, readings by session, and Python/IDLE resources.
Textbook
The course textbook is How to Think Like a Computer Scientist, by Allen Downey: (PDF - 1MB)
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 5 - Fruitful functions
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
Chapters 2 and 3 from the 6.01 course notes are courtesy of Dennis Freeman, Leslie Kaelbling, and Tomas Lozano-Perez, and are used with permission.
SES # | READINGS | 6.01 COURSE NOTES |
---|---|---|
1 | Read all of Chapter 1 and all of Chapter 2. It will be useful to refer to section 4.12 of Chapter 4. | |
2 | Read sections 4.1, 4.2, 4.4 - 4.7 of Chapter 4, and section 6.2 of Chapter 6. | |
3 | Read all of Chapter 3, section 6.5 - 6.9 of Chapter 6, and sections 2.1, 2.2, and 2.3 (up to the heading "List Comprehensions") of the 6.01 course notes. | Chapter 2 (PDF) |
4 |
Read all of Chapter 7, all of Chapter 8, and the rest of chapter 2 (from "Lists" on; the "List Comprehension" section is optional) plus sections 3.2 - 3.4 (up to 3.4.6) of the 6.01 course notes. Optional: more on list comprehensions here and on Wikipedia. | Chapter 3 (PDF - 1.5MB) |
5 | Get caught up on any reading that you've missed from the past four days, and be sure to review concepts you are unclear on. | |
6 | Read all of Chapter 10. | |
7 | Read all of Chapter 12, Chapter 13, and Chapter 14. | |
8 | In addition to chapters 12-14, read Chapter 16. | |
9-10 | Make sure you know and understand Chapters 12-14, and 16. Chapters 11, 15, 18, 19, and 20 are interesting, but not covered in this course. |
Python/IDLE Resources
The Python Tutorial, by Guido van Rossum
This is the standard tutorial reference by the inventor of Python. Everyone should have a bookmark for it in their browser for reference.
The official Python IDLE documentation, including keyboard shortcuts, debugging, etc.