Grading

Grades will be based on the following metrics:

Course Project
The value of learning by first hand implementation cannot be overemphasized. A significant part of the grade (about 50%) will be based on a course project that will involve a combination of theoretical and programming work. It will also be an opportunity for you to get exposed to research work in the area of compilers and parallel computing.
Tests
There will be one mid-term and one final test.
Blogging and Class Participation
In keeping with the spirits of an advanced graduate course, you will be given a semi-open ended problem to think about after finishing each topic. A course blog site will be set up for you to write your findings and thoughts in your own blog on that site. Your blog will also be a place to raise questions, or make comments, that we might not have time for in class. In addition, in an advanced graduate-level course in-class discussions can dramatically improve learning for everyone (including the instructor!). In order to provide you an incentive to be active in class and on your blogs, these will be worth 10% of the grade.

Course Project

The course project will be a semester long project. You may propose any project of your liking, as long as it is in consonance with the focus of this course. Alternatively, the instructor can suggest some projects based on your interest and background. Depending on the project you may also be put in touch with an advanced PhD student in the compilers research group to assist and direct you in the details.

Several milestones will be defined for the project. You are responsible for making sure that you are on track, but milestones will assist you in assessing your progress.

The project will be graded based on you reaching your milestones on time, a formal technical report that you will submit on the due date, and a project presentation near the end of the semester. If a project produces interesting results your report could be enhanced into a paper that we will consider submitting to a peer reviewed conference or workshop.

Collaboration

You are free, indeed encouraged, to discuss your project with others. The project might be individual or in groups, based on the class interest and the project. If a project is collaborative you may choose your partner. You will also be required to submit a confidential statement of contribution with each milestone, which will state your opinion of the relative contributions to the project of each team member.