In tutorials, practice problems will be reviewed and help with
projects will be provided.
Please contact by email or during lectures to make appointment.
You are presumed to have good knowledge of computer architecture and
programming languages. Background in operating systems, and experience
in programming with C will prove helpful.
[1]
You are required to complete a machine project, in which you are to
construct a mini OpenGL shader compiler for graphics processors. The
detailed project decription is
distributed
seperately.
Lec 2
Lec 3
Lec 4
Lec 5
Lec 6
Lec 8
Lec 11-12
Lec 13-14
Lec 15
Lec 16-18
Lec 19-23
There will be two comprehensive exams for this class: a 50min midterm
and a 2:00hrs final. The exams will be based on material covered in
the lectures (i.e., reading assignment), tutorials and the machine
project. All exams are open book/lecture notes and you are required to
bring some form of valid picture ID. The dates and times of the exams
will be announced in the newsgroup.
The weighting scheme for the class requirements will be as follows:
Minor lab downtime will not qualify for project extensions. Nuclear
meltdown in the lab might qualify. To protect yourself, keep backups
on the lab machines so if your computer crashes, you can recover.
Absence from any exam will result in a zero score unless it is due to
an emergency and official documentation is provided.
Cheating is against ``fair-play'' and will not be tolerated under any
circumstances. While the pressures of many classes, homeworks, work
and/or extracurricular activities can be great, this is never an
excuse for copying solutions from others. "Helping" somebody by
allowing them to "borrow" your work is not doing them a favor either,
but indicates your approval and active participation in such
activities. The University holds among its highest principles the
notion of academic freedom and integrity. If you are caught cheating
it may lower your grade or it can even give you a fail grade for the
class. If you think that there is an issue that influences your
performance in the class then talk to the instructor.
The following textbooks are not required but they can serve as good
reference material:
[2] [3] [4]
Course Info
Instructor
Jianwen Zhu
312 Engineering Annex
jzhu at eecg.tornoto.edu
TA
Peter Goodman
peter.goodman at gmail.com
Lecture
Wed 10-11 WB133
Wed 11-12 WB133
Lecture Schedule
Tutorial
Mon 3-4 BA 3012
on selected weeks
Online Resources
Web Site
http://www.eecg.toronto.edu/~jzhu/csc467/csc467.html
Discussion Group
http://groups.google.com/group/uoft_csc467-2012
Announcement
http://www.eecg.toronto.edu/~jzhu/csc467/csc467an.html
Important Dates
Oct 15th
Lab 1 due
Oct 24th
Midterm, in class
Nov 5th
Lab 2 due
Nov 19th
Lab 3 due
Dec 3rd
Lab 4 due
Tutorials
Sept 24th
Shader tutorial
and project review
Oct 8th
Flex tutorial
and Lab 1 review
Oct 22nd
Bison tutorial
and Lab 2 review
Oct 29th
Midterm Review
Nov 12th
Lab 3 Help
Nov 26th
Lab 4 Help
Office Hour
Prerequisites
Text Book
Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman and Monica S. Lam,
Compilers: Principles, Techniques, and Tools,
Addison Wesley; 2 edition, August 31, 2006.
Machine Project
Handouts
Exams
Grading Policy
Project
40%
Midterm Exam
20%
Final Exam
40%
Cheating Policy
Other References
Andrew W. Appel. Modern Compiler Implementation in
C,Cambridge University Press, 1997 (the same book
exists on two additional editions, Java and ML).
Charles N. Fischer and Richard J. LeBlanc, Jr. Crafting
a Compiler , Benjamin/Cummings Publishing, 1991.
Chris Fraser, David Hansen, lcc, A Retargetable
Compiler for ANSI C, Addison-Wesley, 1995.