CSCI 439: Advanced topics in Programming: Intro to Compilers
Fall 2022 Course Outline

This document is available at url: csci.viu.ca/~wesselsd/csci439/outline.html

CSCI 439 (3) Advanced topics in Programming: Intro to Compilers
In this course students will be introduced to the core concepts of compilers and compiler development, including lexical analysis, syntax analysis, semantic analysis, code optimization, and code generation. As part of the course, students will implement a compiler for a simple language. (3:0:2)

Pre-requisites: minimum C in either CSCI 320 or 330 or permission of the instructor.

Course Motivation and overview

This course is intended to give the student a stronger understanding of how compilers and interpretters work, how the are developed and implemented, their relationship to the underlying hardware, and the impact all of this has on the end user - the software developer.

The lectures will be used to discuss both the underlying theory and the specific tools and techniques we will be applying, while the labs and project will be used to apply this knowledge in practical exercises and the development of a small compiler.

A more detailed list of course topics and knowledge outcomes is given in the Topics and Knowledge Outcomes sections below.

Contact information, materials

Timetable

Assessment

(Notes: the final exam can replace one lower quiz mark, and the final project submission can replace one lower lab mark.)

Resources

Topics
An approximate list of topics is given below, more detail and an approximate ordering can be found at csci.viu.ca/~wesselsd/courses/csci439

Knowledge Outcomes
On successful completion of the course, the student should be able to:

Furthermore, the student should have an understanding of:

Computer accounts
To work on your quizzes and experiment with the tools and languages discussed during the semester, you will be given accounts for the computer labs. There is a user id and password associated with each account. Each student is responsible for their account, and for following both the departmental and university-college policies. These may be found under the Lab and Computer Usage rules at scitech.viu.ca/computer-science/computing-resources

VIU's Accessibility Services
VIU's Accessibility Services office provides services to students with Learning Disabilities, mental health disabilities, Attention Deficit Hyperactivity Disorder, Autism, chronic medical conditions, and impairments in mobility, hearing, and vision.

If you have a disability requiring academic accommodations in this course but are not yet registered with Disability Access Services, please contact them at accessibilityservices@viu.ca or visit them in BLDG 200 (2nd floor). If you are already registered with AS, please provide me with your accommodation letter, either in person during my office hours, or by email.

Appeals of Grades:
Any exercise or examination grade may be appealed. However, the appeal must be made to the instructor, in writing and attached to the work in question, and within 7 days of the grade being made available to the class. The instructor reserves the right to re-grade the entire piece of work submitted on appeal, not necessarily just the component that the student believes is in error.

Grade Conversion:

The standard VIU grading scale will be in use.
90-100 85-<90 80-<85 76-<80 72-<76 68-<72 64-<68 60-<64 55-<60 50-<55 <50
A+ A A- B+ B B- C+ C C- D F

Student Academic Code of Conduct (VIU policy 96.01)
All VIU students are required to familiarize themselves with, and adhere to, the Student Academic Code of Conduct.