Compiler Design (COMP 520)
Purpose:This course covers modern compiler techniques and their application to both general purpose and domain specific languages. The practical aspects focus on current technologies, primarily Java and interactive web services.
Contents:A detailed syllabus is available from the course website. This is a summary of the core topics that will be covered:
Schedule:Lectures: 3 hours/week. MWF 9:05-9:55, ENGMC (McConnell) 103
Prerequisites:Officially Required: COMP 273 (Introduction to Computer Systems), COMP 302 (Programming Languages and Paradigms). Students registering without the official prerequisites may find the course removed from their transcript by their faculty. This should not be a problem for graduate students. Speak to the instructor if you are unsure about whether you should take the course.
Other: COMP 330 (Theoretical Aspects of Computer Science) is also recommended. Students without COMP 330 should familiarize themselves with regular and context-free languages.
This is a programming-intensive course. The primary languages used are C and Java and familiarity with them is assumed.
Lecturer:Jesse Doherty, McConnell 234, office hours in ENGMC 228 right after class ends or by appointment.
Email: jesse [at] cs [dot] mcgill [dot] ca
Teaching Assistants:Soroush Radpour, McConnell 226, office hours TBA email: soroush [dot] radpour [at] mail [dot] mcgill [dot] ca
Mailing List:cs520-students [AT] cs [DOT] mcgill [DOT] ca
Your McGill email will be added to the list. We will use it for announcements, and you can use it for public discussions as you wish.
In-class Final: 15%
Participation: up to 10% (bonus)
Assignment marks are allocated as follows:
TextThe readings consist of chapters from the following two textbooks:
Detailed Course Schedule and Links:The course web page contains a detailed course schedule, links to the course notes and links to relevant software. You should visit this page often to get the most recent information.
Assignment and Exam PolicyAll assignments (deliverables, milestones, and the project) are due at midnight. We will be using Subversion for all group submissions. Marks will be generously deducted for lateness. No assignment submissions will be accepted after marked assignments have been returned or after solutions have been discussed in class.
Both in-class exams are closed book. If you miss either midterm you will require a medical note or written permission from the instructor to reschedule.
Academic Integrity at McGill UniversityMcGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see http://www.mcgill.ca/integrity/ for more information). A helpful article on how to avoid plagiarism can be found at: http://www.mcgill.ca/integrity/studentguide/.
In terms of this course, part of your responsibility is to ensure that you put the name of the author on all code that is submitted. By putting your name on the code you are indicating that it is completely your own work. If you use some third-party code you must have permission to use it and you must clearly indicate the source of the code.
In general, work submitted for this course must represent your own efforts. Copying assignments or tests, or allowing others to copy your work, will not be tolerated. Note that introducing syntactic changes into a copied program is still considered plagiarism.
You may submit all work in either English or French. English is strongly preferred.
|Maintained by Jesse Doherty [HOME]|