| Week | Material |
| 8/23-8/26 | Preliminaries. Hardware, software, the shell. |
| 8/29-9/2 | Programs, variables, expressions, statements. |
| Lab 1 due Friday, 9/2. |
| 9/6-9/9 | Functions. |
| Lab 2 due Friday, 9/9. |
| 9/12-9/16 | More on functions, loops. |
| Program 1 due Friday, 9/16. |
| 9/19-9/23 | Branching and recursion. |
| Lab 3 due Monday, 9/19. |
| Lab 4 due Friday, 9/23. |
| 9/26-9/30 | More on functions and recursion. |
| Lab 5 due Friday, 9/30. |
| 10/3-10/7 | More on loops, algorithms. |
| Midterm 1, Monday, 10/3. |
| Program 2 due Friday, 10/7. |
| 10/12-10/14 | Structured types: strings. |
| Lab 6 due Friday, 10/14. |
| 10/17-10/21 | Structured types: lists. |
| Lab 7 due Friday, 10/21. |
| 10/24-10/28 | Structured types: dictionaries. |
| Program 3 due Friday, 10/28. |
| 10/31-11/4 | Structured types: tuples. |
| Lab 8 due Monday, 10/31. |
| Lab 9 due Friday, 11/4. |
| 11/7-11/11 | Files. |
| Lab 10 due Friday, 11/11. |
| 11/14-11/18 | Classes and objects. |
| Midterm 2, Wednesday, 11/16. |
| Program 4 due Friday, 11/18. |
| 11/21-11/23 | Classes and functions. |
| 11/28-12/2 | Classes and methods. |
| Lab 11 due Wednesday, 11/30. |
| 12/5-12/7 | Inheritance. |
| Lab 12 due Monday, 12/5. |
| Program 5 due Wednesday, 12/7. |