All assignments should be submitted through the course moodle. They are due at 11:59 PM on the due date.

# Topic Release Date Due Date # days Points Link
1 MacroJava to MiniJava 01/08/2022 21/08/2022 20 19 macro_to_mini
2 Type Checker 23/08/2022 11/09/2022 19 19 typechecker
3 MiniJava to microIR 13/09/2022 02/10/2022 19 19 mini_to_micro
4 microIR to miniRA 04/10/2022 26/10/2022 19 19 micro_to_mini
5 miniRA to MIPS Assembly 25/10/2022 06/11/2022 12 19 miniRA_to_mips


Six assignments and the in-lab mini assignments constitute 40% of the course grade. Six assignments in total add up to 94 assignment points. The in-lab mini assignments will account for 6 assignment points. Lab attendance is mandatory for getting the mini assignment points.

Assignment late penalties

We are flexible about submitting assignments late. Unless otherwise specified, assignments may be turned in late with the following penalties applied to the score received:

  • 1 day late: −5%
  • 2 days late: −15%
  • 3 days late: −30%
  • 4 days late: −50%
  • > 4 days late: we will not grade it.

Academic Integrity

You’re in college; you’re expected and encouraged to discuss your work with others. That said, everything you write for this course (code, written assignments, quizzes, exams and everything else) must be your own original work.

Properly attribute any work that you use. It is part of your job as a scholar to understand what counts as plagiarism, and make sure you avoid it.