Projects
We will have projects due every Wednesday at 7 pm. Some of these projects will be assembly language projects; some of them will simulate the hardware. Our projects will require knowledge of MIPS assembly language (which I’ll teach you) and basic knowledge of C and Java. We won’t require much of either Java or C. It is expected that you learned Java in CSC210, and it is assumed that you can learn C quickly because C has a syntax similar to Java. If this is not the case for you, please let me know so I can adapt the content.
Projects will be due at 7 pm, but TAs are not allowed to answer any questions after 5 pm on Wednesdays. All projects will be turned in to Gradescope.
| Project title | Start Date | Deadline | Topic |
|---|---|---|---|
| Simulation Project 0 | Tuesday, January 14 | Wednesday, January 22 | Pre-project |
| Simulation Project 1 | Monday, January 20 | Wednesday, January 29 | Basics of Binary |
| Assembly Project 1 | Monday, January 27 | Wednesday, February 05 | Introduction to MIPS |
| Simulation Project 2 | Sunday, February 02 | Wednesday, February 12 | Logic Networks |
| Assembly Project 2 | Monday, February 10 | Wednesday, February 19 | Loops, Arrays, and Strings |
| Simulation Project 3 | Sunday, February 16 | Wednesday, February 26 | An ALU |
| Assembly Project 3 | Sunday, February 23 | Wednesday, March 05 | Intro to Functions |
| Simulation Project 4 milestone 1 | Tuesday, March 04 | Wednesday, March 19 | Instruction Decode |
| Simulation Project 4 milestone 2 | Monday, March 17 | Wednesday, March 26 | Single-cycle CPU |
| Assembly Project 4 | Tuesday, March 25 | Wednesday, April 02 | More Functions |
| Assembly Project 5 | Monday, March 31 | Wednesday, April 09 | More MIPS |
| Simulation Project 5 | Monday, April 07 | Wednesday, April 16 | Pipelined Computer |
| Assembly Project 6 | Wednesday, April 16 | Wednesday, April 30 | More MIPS |