Compiler Construction bio photo

Compiler Construction

Twitter Github

Edit on GitHub

Assignments

In the practical part of the course, you build an IDE for MiniJava, a small subset of Java. We split this task into three milestones of weekly individual assignments:

Submission

We rely on GitHub for assignment submissions. We assign a private GitHub repository to each student and encourage students to commit and push their work frequently. To submit your assignment, you need to file a pull request. There are two kinds of submissions.

To check your progress on an assignment, you can submit a prelimanary solution. We will provide limited early feedback on preliminary solutions. This feedback typically comes with a tentative grade and points out areas where your solution is incomplete or insufficient, without giving any details on the reasons. We do not give any feedback on the day of a deadline, since this will not be early at all.

To submit your solution for grading, you need to submit a final solution. As the name suggests, you cannot submit another final solution for the same assignment. We will provide a detailed grading report on final solutions. To ensure fairness and equal chances for all students, grading reports will not be published before 5 days after the submission deadline. We do our best to hand out grading reports as quick as possible, but manual grading can be tedious and might result in longer waiting times for some assignments.

Early feedback and most parts of final grading are automated and supported by an AWS in Education Grant award. Each pull request triggers the launch of an Amazon EC2 instance which runs automated feedback and grading for your solution. Be aware that feedback might be delayed due to submissions by other students, instance limits, server problems, etc.

Grades

We grade the first final solution of each of your assignments. Grades reflect on correctness, clarity, shown programming skills, and readability of your submission. To pass the practical part of the course, you need to meet all of the following criteria:

  1. You completed each assignment with a grade of 4.0 or better.
  2. You completed the assignments of each milestone with an average grade of 5.0 or better.
  3. You completed all the assignments with an average grade of 6.0 better.

These rules allow you to compensate for lower grades in single assignments, but ensure a minimal quality in all your milestones as well as in your overall practical work.

Deadlines 2015/16

In the first quarter, assignments must be submitted weekly until Thursday, 23:59. In the second quarter, assignments must be submitted weekly until Sunday, 23:59. Each student has 5 late days to use at his or her discretion. Each late day constitutes a 24-hour extension; you cannot split late labs into smaller increments. Once a student runs out of late days, any late submission is penalised at a rate of 0.1 grading points per day. No submission may be handed in more than 5 days late.

Please reserve your late days for legitimate emergencies. If you think you cannot meet deadlines due to special circumstances, you should contact the academic counsellor. Together we will try to find an individual solution for you. Remember to contact the academic counsellor as soon as possible, once you become aware of your situation. Otherwise, you might lose your chance for a deadline extension.

Academic Misconduct

All actual, detailed work on assignments must be individual work. You are encouraged to discuss assignments, programming languages used to solve the assignments, their libraries, and general solution techniques in these languages with each other. If you do so, then you must acknowledge the people with whom you discussed at the top of your submission. You should not look for assignment solutions elsewhere; but if material is taken from elsewhere, then you must acknowledge its source. You are not permitted to provide or receive any kind of solutions of assignments. This includes partial, incomplete, or erroneous solutions. You are also not permitted to provide or receive programming help from people other than the teaching assistants or instructors of this course. Any violation of these rules will be reported as a suspected case of fraud to the Board of Examiners and handled according to the EEMCS Faculty’s fraud procedure. If the case is proven, a penalty will be imposed: a minimum of exclusion from the course for the duration of one academic year up to a maximum of a one-year exclusion form all courses at TU Delft. For details on the procedure, see Section 2.1.26 in the faculty’s Study Guide for MSc Programmes.

Retry

To ensure fairness and equal chances for all students, you are not allowed to take the same practical assignments in another edition of this course. In case you participated in previous editions of the course, please contact the course manager to discuss an individual assignment.

Overview