span.SPELLE {mso-spl-e:yes;} span.GRAME {mso-gram-e:yes;}

Syllabus for CSC 450
Programming Languages and Compilers I
Fall 2008

Principles that govern the design and implementation of programming languages. Topics include formal languages, programming language syntax and semantics, parsing, interpretation, and code generation. Emphasis on design issues. (Prerequesites: CSC 320 and CSC/PHI 385 or concurrent registration.)

General Information.

Instructor.

Noel Petit, petit@augsburg.edu, 612 330 1061, office Sverdrup 203D

Textbook.

Kenneth C. Louden. Compiler Construction: Principles and Practice. PWS Publishing Company. Boston, Massachusetts. 1997. (ISBN 0-534-93972-4)

Assignments.

Hhomework will be assigned every week or every two weeks, depending on its complexity. I'll accept homework up to one calendar day late, but with a 20% penalty. All submissions are final.

Most homework assignments will involve writing programs in the programming language Java. You must submit a listing of your program, and a copy of its actual output. Your programs will be graded both on correctness (are they free of errors?) and on style (are they easy to understand?).

If you turn in homework by email, you must attach it as an ASCII text file. Please don't use proprietary file formats (like Microsoft Word).

Examinations.

There will be two examinations in this course: a one-hour midterm and a two-hour final. Both examinations will be ``open book.'' To help you answer questions, you will be able to use your textbook, your class notes, and anything else handed out in class. See the schedule for (approximate) dates.

Grading.

Grades are based on  each homework assignment and examination. Your final grade will be based on the number of points you get during the term. About 60% of your grade will be determined by homework, and about 40% will be determined by examinations.

Honesty.

Students are expected to be familiar with Augsburg College's policies on academic honesty. You will be required to sign a statement indicating that you understand these policies. Although you may exchange ideas with other students, everything you turn in must be your own work. Copying assignments, or parts of assignments, is not permitted!

Schedule.

This schedule is approximate and may change it during the term. Chapter numbers refer to the Louden text. We won't always follow the textbook exactly. Instead, outside reading may supplement the lectures.

 

  Sep 4 

  Chapter 1  

  Introduction. History.  

 

  Sep 9  

  Chapter 1  

  History.

 

  Sep 11-18  

  Chapter 2  

  Scanning.  

 

  Sep 23-25

  Chapter 3  

  No Class

 

  Oct 2-9

  Chapter 3  

  Context-free grammars. Parsing.  

 

  Oct 7-14

  Chapter 4  

  Top-down parsing.  

 

  Oct 16  

 

  Midterm examination.  

 

  Oct 21-30

  Chapter 5  

  Bottom-up parsing.  

 

  Nov 4 -18

 

  Symbol tables. Type checking.  

 

  Nov 20 - Dec 11

 

  The MIPS computer.  

 

  Dec 17 

 

  Final examination.