| 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 10a | 30 |
| Project 10b | 40 |
| Project 11a | 30 |
| Project 11b | 40 |
| Project 12a | 40 |
| Project 12b | 40 |
| Midterm Exam | 150 |
| Final Exam | 250 |
| Date | Day | Topic/Activity | Reading | Assignment Due |
|---|---|---|---|---|
| 8/22 | Tuesday | Introduction Boolean Logic | None | None |
| 8/24 | Thursday | Boolean Arithmetic | Chapters 1 and 2 Appendix A | None |
| 8/25 | (Friday) | None | None | Project 1 |
| 8/29 | Tuesday | More Boolean Arithmetic Sequential Logic | Chapter 3 | None |
| 8/30 | (Wednesday) | None | None | Project 2 |
| 8/31 | Thursday | Sequential Logic | Chapter 3 | None |
| 9/4 | (Monday) | None | None | Project 3 |
| 9/5 | Tuesday | Machine Language | None | None |
| 9/7 | Thursday | Hack Assembly Examples Overview of ARM Assembly | Chapter 4 | None |
| 9/11 | (Monday) | None | None | Project 4 |
| 9/12 | Tuesday | Computer Architecture | None | None |
| 9/14 | Thursday | Computer Architecture | Chapter 5 | None |
| 9/18 | (Monday) | None | None | Project 5 |
| 9/19 | Tuesday | Assembler | None | None |
| 9/21 | Thursday | Assembler Review for Exam | Chapter 6 | None |
| 9/26 | Tuesday | Midterm Exam | Chapters 1-6 | None |
| 9/27 | (Wednesday) | None | None | Project 6 |
| 9/28 | Thursday | Virtual Machine I: Stack Arithmetic | Chapter 7 | None |
| 10/3 | Tuesday | Practice with Stack Arithmetic Memory Layout of Objects | None | None |
| 10/4 | (Wednesday) | None | None | Project 7 |
| 10/5 | Thursday | Virtual Machine II: Program Control | Chapter 8 | None |
| 10/9 | (Monday) | None | None | Project 8, part 1 |
| 10/10 | Tuesday | Virtual Machine II: Program Control | None | None |
| 10/11 | (Wednesday) | None | None | Project 8, part 2 |
| 10/12 | Thursday | Fall Break | None | None |
| 10/17 | Tuesday | High-Level Language | None | None |
| 10/18 | (Wednesday) | None | None | Project 9: Concept |
| 10/19 | Thursday | High-Level Language | Chapter 9 | None |
| 10/23 | (Monday) | None | None | Project 9 |
| 10/24 | Tuesday | Compiler I: Syntax Analysis | Chapter 10 | None |
| 10/26 | Thursday | Compiler I: Syntax Analysis | None | None |
| 10/27 | (Friday) | None | None | Project 10: Tokenizer |
| 10/31 | Tuesday | Compiler I: Syntax Analysis | None | None |
| 11/1 | (Wednesday) | None | None | Project 10: Parser |
| 11/2 | Thursday | Compiler II: Code Generation | Chapter 11 | None |
| 11/6 | (Monday) | None | None | Project 11: Part 1 |
| 11/7 | Tuesday | Compiler II: Code Generation | None | None |
| 11/9 | Thursday | Compiler Optimization | None | None |
| 11/13 | (Monday) | None | None | Project 11: Part 2 |
| 11/14 | Tuesday | Operating System | Chapter 12 | None |
| 11/16 | Thursday | Operating System | None | None |
| 11/21 | Tuesday | No class | None | Project 12: Part 1 |
| 11/23 | Thursday | Thanksgiving | None | None |
| 11/28 | Tuesday | Operating System Processes | None | None |
| 11/30 | Thursday | Review Course Evaluations | None | None |
| 12/4 | Monday | None | None | Project 12: Part 2 |
| 12/6 | Wednesday 8:30-11:30 | Final Exam | None | All remaining work |