CSC 652 Advanced Compiler Construction (Spring 2009)

Class time: Monday, Wednesday, Friday 2-2:50pm.
Class location: McGlothlin-Street Hall 002.

Instructor: Xipeng Shen (xshen@cs.wm.edu)
Office hours: Monday 10am--noon, Wednesday 10am--noon at McGlothlin-Street Hall 117; walk-ins without appointment are welcome.

Overview:
With the increasing diversity and complexity of computers and their applications, the development of efficient, reliable software has become increasingly dependent on automatic support from compilers and other program analysis and translation tools. This course covers principal topics in understanding and transforming programs at the code block, function, program, and behavior levels. Specific techniques for imperative languages include data flow, dependence, inter-procedural, and profiling analyses, resource allocation, and multi-grained parallelism on both CPUs and GPUs.

Learning Objectives:
The objectives include three folds. First, students will learn the key techniques in modern compiler construction, getting prepared for industry demands for compiler engineers. Second, students will understand the rationale of various program analysis and optimization techniques, able to improve their programming skills accordingly. The third goal is to build the foundation for students to pursue the research in the areas of compiler, program analysis, program modeling, and operating systems.

Textbooks:

Assignments and grading:
There will be several written assignements and quizzes, a compiler construction project. Grading policy:
       30% - written assignments
       70% - project

There will be 10% penalty for every 12 hours after the submission deadline except for medication reasons with doctor's proof.