Supported by the Instructional Support Group.

University of Waterloo : Faculty of Mathematics : School of Computer Science

General information

This course presents the relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture, assemblers, specification and translation of programming languages, linkers and loaders, block-structured languages, parameter passing mechanisms, and comparison of programming languages.

Use the links above and below to navigate course content.


Current Term (Spring 2022)


Quizzes will be hosted on Learn. See the course outline for more details.

View Your Marks

For your convenience, we provide a facility to check your unofficial marks online. As your assignment and quiz marks are recorded, they will be made available on this website. You will need your WatIAM username (8 characters or less) and password in order to log in; your password is the same one that you use for Quest. Errors in the marks should be reported to the ISA.

Additional Reference Material

Language-specific resources:

Piazza provides a forum for students to discuss and ask questions about course material and assignments. A Piazza invitation should be sent to your UW email address shortly after the beginning of the term or the day after you enroll. We encourage you to use Piazza regularly. It is a handy and timely way for students to learn from each other and the course staff. Essential announcements will be posted to Piazza. Read the Piazza rules in the course outline before posting.

Since many office hours are being organized online, we have created an online office hours booking page. Please visit the following link: Book Office Hours (the page might respond slowly, please be patient).