22C:123, Spring 2000

Programming Language Foundations

1:05-2:20 T.Th., Room 214, MacLean Hall


See http://www.cs.uiowa.edu/~hzhang/c123
for homework assignments and lecture notes.


Instructor: Hantao Zhang
Office: 201B MLH,
Email: hzhang@cs.uiowa.edu,
Tel: 353 2545
Office hours: Tuesday 2:30-4:00pm, Wednesday 2:30-4:00pm
Teaching assistant: Tao Liang
Office: 101K MLH,
Email: tliang@cs.uiowa.edu,
Tel: 353 1920
Office hours: Thursday, 1:00-2:30pm, Friday 4:00-5:30pm

Textbook:

Formal Syntax and Semantics of Programming Languages

by Ken Slonneger and Barry Kurtz

Please send a query to hzhang@cs.uiowa.edu for its availability. A hardcopy is reserved in the Math and Computer Science Library in MLH.

Course Objectives:

To provide an understanding of formal models of programming language syntax and semantics, in order to provide a deeper understanding of the processes of programming (the construction of correct programs and the formal verification of programs) and programming language definition, design, and implementation.

Prerequisites:

Grades of C- or above in 22C:034, 22C:044, and 22C:054.


Preliminary Course Outline:

Week Topics Textbook Reading
1
Syntax and Prolog Ch.1:1-4, Appendix A
2
Laboratory Activities Ch.2:1-3
3
Attribute Grammars Ch.3:1-3
4
Lambda Calculus Ch.5:1-3
5
Midterm 1 (Feb. 17)
6
Denotational Semantics Ch.9:1-3
7
Denotational Semantics Ch.9:4-6
8
Springbreak
9
Domain Theory Ch.10:1-3
10
Fixed-Point Semantics Ch.10:3-4
11
Midterm 2 (Mar. 30)
12
Self-Definition of Prolog Ch.6:2
13
Axiomatic Semantics Ch.11:1-3
14
Axiomatic Semantics Ch.11:3-4
15
Algebraic Semantics Ch.12:1-4
16
Midterm 3 (May 4)


Grading:
date weight
Homeworks (10) 25 %
Midterm 1 2/17 25 %
Midterm 2 3/30 25 %
Midterm 3 5/4 25 %

Homework assignments must be submitted on time. Many homework problems require computer.

For the policy on cheating, see the graduate handbook of the department of computer science, and http://www.uiowa.edu/~libarts/faculty/policies.htm#Misconduct