CSC 330, Spring 2005
Gene Fisher
General Index:
Week 1:
- course syllabus -- introductory description of the course
- assignment 1 -- BNF problem set
- lecture notes week 1 -- introduction to the course; some programming language history; the syntax of programming languages
Week 2:
- assignment 2 -- lexical analysis with jflex
- lecture notes week 2 -- intro to programming language translation; intro to jflex
Week 3:
- assignment 3 -- building a parser with CUP
- lecture notes week 3, part 1 -- introduction to CUP-built parsers
- lecture notes week 3, part 2 -- a cup-built parser for pascal
Week 4:
- some additional information for assignment 3
- lecture notes week 4 -- type systems and semantics
Week 5:
- assignment 4 -- operational semantics via tree interpretation
- lecture notes week 5 -- a tree interpreter for pascal
Week 6:
- additional information and further-clarifications to assignment 4
- lecture notes week 6 -- operational semantics of imperative programming languages; topics from chapters 4 & 5 of the book
Week 7:
- midterm study guide -- question topic areas and detailed reading list for the midterm
- lecture notes week 7 -- midterm study guide; further discussion of assignment 4; finish topics from week 6
Week 8:
- assignment 5 -- simple lisp programming
- lisp-primer -- a lisp primer for C and Java programmers
- lecture notes week 8 -- introduction to functional programming and lisp
Week 9:
- assignment 6 -- a lisp interpreter in lisp
- lecture notes week 9 -- more on functional programming and lisp
Week 10:
- final study guide -- question topic areas for the final
- lecture notes week 10 -- motivations for functional programming in lisp
Data files are available in the following formats:
Most file links in an HTML document, point to other HTML files. To access the PostScript, PDF, or plain text version of a document, go to the desired directory and view the desired file with the ".ps", ".pdf", or ".txt" extension.