CSE 131 Syllabus
Compiler Construction
(More Assembly Required)
Winter 2010


Lectures:

Tuesdays & Thursdays 12:30 - 1:50pm
Center Hall 212

Discussion Sections:

Mondays: 11:00-11:50am — Peterson 102
Fridays: 2:00-2:50pm — Center 222

Lab:

EBU3B B240 -- where TAs/Tutors will be on duty
All files, turnin, linking and execution of generated code on ieng9.ucsd.edu Sun SPARC architecture

Instructor:

Rick Ord — EBU3B 2102
Office Hours: I will try to be down in the Lab when I can,
Fri 9:00 - 11:00am in my office, open office policy, or by appt
rord@ucsd.edu

TAs:

Ankur Jain cs131w1@ieng9.ucsd.edu
And several great undergraduate tutors!
See the Lab Hours schedule for all the TAs and Tutors.
Class email help cs131w@ieng9.ucsd.edu

References:

Grading:

Major Course Concepts

Semantic Analysis -- Ch. 1-6 (C:PTT); Ch. 4 (EAC); Ch. 1-4, 7 (PLP)

Emphasis on Type Checking

Runtime Environment -- Ch. 7 (C:PTT); Ch. 5-7 (EAC); Ch. 3, 7-10 (PLP)

Emphasis on C/C++ and Java/C# runtime architectures and memory management

Code Generation -- Ch. 8-9 (C:PTT); Ch. 7, 11-13 (EAC); Ch. 5-6, 14 (PLP)

Code shape issues. Procedure call abstraction. OOP/polymorphism implementation.
Project target code is Sun SPARC assembly. Hence the subtitle: More Assembly Required.

Code Optimization/Improvement -- Ch. 9-10 (C:PTT); Ch. 8-10 (EAC); Ch. 15 (PLP)

Machine independent and machine dependent code improvements. Local and global
code improvements.

Programming Projects

Reduced-C translator (defined subset of the C++ Programming Language)
Project 1 -- Static Semantic Analysis with emphasis on Static Type Checking/Error Reporting
Project 2 -- Code Generation (to SPARC Assembly) with some dynamic runtime checks
Most project details covered in Discussion Sections including starter code
We do run MOSS (Measure Of Software Similarity)

Back to
CSE 131 Home Page
[http://www.cs.ucsd.edu/~ricko/CSE131/]