| Letter grade | Points to achieve |
|---|---|
| A | 900 |
| B | 800 |
| C | 700 |
| D | 600 |
| Assignment | Total Value |
|---|---|
| Project 1 | 40 |
| Project 2 | 40 |
| Project 3 | 40 |
| Project 4 | 40 |
| Project 5 | 40 |
| Project 6 | 40 |
| Project 7 | 40 |
| Project 8a | 20 |
| Project 8b | 40 |
| Project 9 | 40 |
| Project 10-11a | 30 |
| Project 10-11b | 30 |
| Project 10-11c | 40 |
| Project 10-11d | 40 |
| Project 12a | 40 |
| Project 12b | 40 |
| Midterm Exam | 150 |
| Final Exam Cancelled 10 free points 20 points per chapter completed | 250 |
| Date | Day | Topic/Activity | Reading | Assignment Due |
|---|---|---|---|---|
| 1/21 | Tuesday | Introduction Boolean Logic | None | None |
| 1/23 | Thursday | Boolean Arithmetic | Chapters 1 and 2 Appendix A | None |
| 1/24 | (Friday) | None | None | Project 1 |
| 1/28 | Tuesday | More Boolean Arithmetic Sequential Logic | Chapter 3 | None |
| 1/29 | (Wednesday) | None | None | Project 2 |
| 1/30 | Thursday | Sequential Logic | Chapter 3 | None |
| 2/3 | (Monday) | None | None | Project 3 |
| 2/4 | Tuesday | Machine Language | Chapter 4 | None |
| 2/6 | Thursday | Hack Assembly Examples | None | None |
| 2/10 | (Monday) | None | None | Project 4 |
| 2/11 | Tuesday | Computer Architecture | Chapter 5 | None |
| 2/13 | Thursday | Computer Architecture | None | None |
| 2/17 | (Monday) | None | None | Project 5 |
| 2/18 | Tuesday | Assembler | Chapter 6 | None |
| 2/20 | Thursday | Assembler Review for Midterm | None | None |
| 2/25 | Tuesday | Midterm Exam | Chapters 1-6 | None |
| 2/26 | (Wednesday) | None | None | Project 6 |
| 2/27 | Thursday | Virtual Machine I: Stack Arithmetic | Chapter 7 | None |
| 3/3 | Tuesday | Practice with Stack Arithmetic Memory Layout of Objects | None | None |
| 3/4 | (Wednesday) | None | None | Project 7 |
| 3/5 | Thursday | Virtual Machine II: Program Control | Chapter 8 | None |
| 3/9 | (Monday) | None | None | Project 8, part 1 |
| 3/10 | Tuesday | Virtual Machine II: Program Control | None | None |
| 3/11 | (Wednesday) | None | None | Project 8, part 2 |
| 3/12 | Thursday | High-Level Language ("Jack") | Chapter 9 | None |
| 3/17 | Tuesday | Pandemic | None | None |
| 3/19 | Thursday | Pandemic | None | None |
| 3/24 | Tuesday | Spring Break | None | None |
| 3/26 | Thursday | Spring Break | None | None |
| 3/30 | (Monday) | None | None | Project 9: Concept |
| 3/31 | Tuesday | Discussion of Concepts Limitations of Jack | None | |
| 4/2 | Thursday | Demonstrations | None | Project 9 Demo |
| 4/3 | (Friday) | None | None | Project 9 Demo feedback incorporated |
| 4/7 | Tuesday | Tokenizing Input | Chapter 10 | None |
| 4/9 | Thursday | A Simple Compiler Jack to VM | None | None |
| 4/10 | (Friday) | None | None | Project 10 & 11: Tokenizer |
| 4/14 | Tuesday | Jack to VM | None | None |
| 4/15 | (Wednesday) | None | None | Project 10 & 11: Statements |
| 4/16 | Thursday | Conditionals and Loops | Chapter 11 | None |
| 4/20 | (Monday) | None | None | Project 10 & 11: Conditionals and Loops |
| 4/21 | Tuesday | Classes and Arrays | None | None |
| 4/23 | Thursday | Classes and Arrays | None | None |
| 4/27 | (Monday) | None | None | Project 10 & 11: Classes and Arrays |
| 4/28 | Tuesday | Operating System | Chapter 12 | None |
| 4/30 | Thursday | Operating System | None | None |
| 5/4 | (Monday) | None | None | Project 12: Part 1 |
| 5/6 | Wednesday, 5 pm | None | None | Project 12: Part 2 |