Course Meetings

Lectures meet MW 11:30am–12:50pm Eastern Time.

Course Staff

Photo of Yizhou Zhang Yizhou Zhang
[show email] Office hour: Wed 1:30–2:30pm, Zoom
Photo of Ende Jin Ende Jin
[show email] Office hour: Tue 1:30–2:30pm, Zoom

Please use Piazza to ask questions about course content or assignments.

Coursework and Evaluation

Students are tasked with writing a compiler that compiles programs written in Joos 1W, a fairly large subset of Java, to i386 assembly. The project will be done in groups. The standard size of a group is three. The project will be broken up into several assignments with fixed due dates. The assignments must be submitted to Marmoset. Marks for your code will be reported to you by Marmoset, and your marked written reports will be returned to you by email. After the final assignment deadline, secret tests will be run by Marmoset on your last on-time submission.

The above assignments (including accompanying reports) total 78% of your final mark, if you are in CS 444. An additional 20% will be assigned to secret tests which will be run after the Assignment 5 deadline.

Students enrolled in CS 644 are required to complete a literature survey on a topic related to compiler construction.

CS 444
Assignment 0 0%
Assignments 1–5, code submissions 66%
Assignments 1–5, report submissions 12%
Secret tests 20%
Participation 2%
Total 100%
CS 644
(breakdown scaled accordingly)
Literature survey Proposal 3%
Survey 16%
Participation 2%
Total 100%

Marking Policy on Late Submissions

Reports submitted after the assignment deadline will not be marked and will receive a mark of zero. If you cannot finish the assignment by the deadline, submit what you have by the deadline, and explain any unfinished parts in your report.

For code submissions, the following late policy applies:

0.5 × best-on-time + 0.5 × best-overall

where “best-on-time” is the best submission within the assignment deadline, and “best-overall” is the best submission up until the deadline of the last assignment. Examples:

Submitting an additional solution for an assignment can never reduce your mark.

Marking Policy on Group Work

When working in a group, disagreements sometimes arise. One of the objectives of this course is for you to resolve such disagreements with sufficient, constructive, and frank communication within the group. Therefore, when disagreements arise, discuss them within the group before asking the instructor to intervene. If the group fails to reach a resolution, the group as a whole should arrange a meeting with the instructor. The instructor's role is primarily to mediate the discussion within the group, rather than to intervene in the disagreement. Problems are easier to resolve if handled early. When a problem arises, try to resolve it as soon as possible. Do not leave it until the end of the course.

At the end of the course, the following policies will be used to distribute marks among the group members:

Contingency Plan

Should the authorities demand lectures be online, lectures will meet on Zoom. Should the authorities demand lectures be in-person, lectures will meet on campus. Coursework and weighting stay unaffected.

Administrative Notices