Course Outline

This is a tentative schedule for topics to be covered in csc324.  Some of the later topics might be dropped if we run out of time.  However, assignment due dates are fixed. The readings correspond to R. Sethi "Programming Languages: Concepts and Constructs".
 
Week Topic Reading
Week 1 Introduction. Class policies. Why study programming languages? Untyped functional languages. Scheme. text 1.1-1.3, 10.1
Week 2 Programming in Scheme. text 10.1-10.5
Week 3 Scheme. Higher-order programming. Proofs of correctness. Assignment 1a due. text 9.3, 13.5 and lecture notes
Week 4 Memory management in Lisp-like languages. Typed functional languages. ML. text 10.6, 8.1-8.3
Week 5 Programming in ML.Assignment 1b due. text 8.4, 9.1-9.4
Week 6 ML datatypes and typechecking. text 8.6, 9.3, 9.5, 15.5
Week 7 Exception handling, higher-order programming, review.Assignment 2a due text 8.5, 9.6
Week 8 Logic programming, horn clauses. Midterm. text 11.1, lecture notes
Week 9 Resolution, horn clauses, Prolog. Assignment 2b due. text 11.2-11.3, lecture notes
Week 10 Programming in Prolog. text 11.4-11.6, 15.7
Week 11 Topics in programming languages. Context-free grammars. Assignment 3a due. text 2.2-2.6
Week 12 Scoping rules, parameter-passing techniques. text 5.1-5.4
Week 13 Procedure activation records, review. Assignment 3b due. text 5.5

Marsha Chechik
Back to csc324 homepage
Last modified on September 13, 1998