Department of Computer Science
The University of Western Ontario
London, Canada

CS 4447a/9545a: Compiler Theory
Course Outline, Fall 2010


Course Description

This course studies the concepts used the creation of programming language compilers. The topics include: compiler organization, scanning, parsing, attribute grammars, type inference, code generation, code optimization and run-time systems.

Prerequisites

You must have the permission of the department to take this course.

CS 2208, CS 2212, CS 3331 and CS 3342

Unless you have either the prequisites for this course or written special permission from your Dean to enroll in it, you will be removed from this course and it will be deleted from your record. This decision may not be appealed. You will receive no adjustment to your fees in the event that you are dropped from a course for failing to have the necessary prerequisites.

Instructor

Name: Stephen Watt
Office: MC 375
Office Hours: Tuesdays 1:30-2:30
Phone: 519-661-4244
E-Mail: Stephen.Watt@uwo.ca

Course Materials

Recommended Textbook: Compilers: Principles, Techniques, and Tools (Second Edition), by Aho, Lam, Sethi and Ullman, Addison-Wesley 2007.

Course Website

http://www.csd.uwo.ca/~watt/home/courses/2010-11/cs4447a

Course Topics

The course starts with an overview, and then examines in more detail the questions that arise in each of the stages of compilation. Topics are treated in the order in which compilers handle input programs.

Class Schedule

Lectures:

Every other Tuesday 9:30-11:30 in MC 375.

Computing Facilities

Each student will be given an account on the Computer Science Department senior undergraduate computing facility, GAUL. In accepting the GAUL account, a student agrees to abide by the department's Rules of Ethical Conduct.

Student Evaluation

If for any reason the assignment schedules given below cannot be adhered to, the assignment marks will be pro-rated. (The 3 assignments are worth 60% of the overall mark for the course. If an assignment has to be cancelled for any reason, the remaining assignment weights will be prorated to add up to 45%).

The student presentations will be held during the week of November 24th. Depending on course enrollment, some presentations may be held on the Tuesday and Thursday evenings of that week. Students are expected to attend all the presentations.

Assignments

Schedule:
Assignment 1 (heavy): Given October 1. Due October 30.
Assignment 2 (heavy): Given November 1 Due November 30.
Submission:

Assignments are to be submitted electronically, as described at the time the assignment is given . This will include completing an Assignment Submission Form, which requires a student to declare the assignment to be his or her own work and affix his or her signature.

Late Assignment Policy:

An assignment looses 5% of its total possible value for each day late. Weekend days also count 5% each. Assignments more than 8 days late will not be accepted.

Assignment Marking:
Assignments will be marked by the teaching assistant, if there is one, or by the instructor. Assignments will be graded for clarity, completeness, correctness and style. These criteria will be applied to code, documentation and test cases.

Email Contact

You may contact the course instructor via e-mail with brief questions regarding course material or clarification of assignments. However, please first check the course website for answers to frequently asked questions, or to see if the information is already there, before e-mailing the instructor. You must include "CS4447" or "C9S545" in the subject line (otherwise the message might get filtered as spam). Please send E-mail from your UWO account and send E-mail in plain text format.

We will occasionally need to send email messages to the whole class, or to students individually. Email will be sent to the UWO email address assigned to students by Information Technology Services (ITS), i.e. your email address @uwo.ca. It is each student's responsibility to read this email on a frequent and regular basis, or to have it forwarded to an alternative email address if preferred. See the ITS website for directions on forwarding email.

You should note that email at ITS (your UWO account) and other email providers such as hotmail.com or yahoo.com may have quotas or limits on the amount of space they can use. If you let your email accumulate there, your mailbox may fill up and you may lose important email from your instructors.  Losing email that you have forwarded to an alternative email address is not an excuse for not knowing about the information that was sent.

Academic Accommodation for Medical Illness

If you are unable to meet a course requirement due to illness or other seriouscircumstances, you must provide valid medical or other supporting documentationto your Dean's office as soon as possible and contact your instructorimmediately. It is the student's responsibility to make alternativearrangements with their instructor once the accommodation has been approved andthe instructor has been informed. In the event of a missed final exam, a"Recommendation of Special Examination" form must be obtained from the Dean'sOffice immediately. For further information please see: http://www.uwo.ca/univsec/handbook/appeals/medical.pdf.

A student requiring academic accommodation due to illness should use theStudent Medical Certificate when visiting an off-campus medical facility or request a Record's Release Form (located in the Dean's Office) for visits toStudent Health Services. The form can be found here:https://studentservices.uwo.ca/secure/medical_document.pdf.

Accessibility Statement

Please contact the course instructor if you require material in an alternate format or if you require any other arrangements to make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation.

Ethical Conduct

Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at the following Web site: http://www.uwo.ca/univsec/handbook/appeals/scholoff.pdf .

Plagiarism: Students must write their essays and assignments in their own words. Whenever students take an idea, or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. Plagiarism is a major academic offence.

All assignments are individual assignments. You may discuss approaches to problems among yourselves; however, the actual details of the work (assignment coding, answers to concept questions, etc.) must be an individual effort.

The standard departmental penalty for assignments that are judged to be the result of academic dishonesty is, for the student's first offence, a mark of zero for the assignment, with an additional penalty equal to the weight of the assignment also being applied. You are responsible for reading and respecting the Computer Science Department's policy on Scholastic Offences and Rules of Ethical Conduct.

The University of Western Ontario uses software for plagiarism checking. Students may be required to submit their written work and programs in electronic form for plagiarism checking.

All required papers may be subject to submission for textual similarity review to the commercial plagiarism detection software under license to the University for detection of plagiarism. All papers submitted for such checking will be included as source documents in the reference database for the purpose of detecting plagiarism of papers subsequently submitted to the system. Use of the service is subject to the licensing agreement, currently between The University of Western Ontario and Turnitin.com (http://www.turnitin.com/).

Tutoring

The role of tutoring is to help students understand course material. Tutors should not write assignments or take-home tests for the students who hire them. Having employed the same tutor as another student is not a legitimate defense against an accusation of collusion, should two students hand in assignments judged similar beyond the possibility of coincidence.