CS 510: Semantics
3 credits
Text:
I had intended to use Tennent's book: Semantics of Programming Languages, but it appears to be effectively out of print. I am still seeking an appropriate remedy for this situation.
Course Objectives:
 Introduce the concepts of denotational semantics, operational semantics, and a programming logic.
 Relate the three forms of semantics with soundness and consistency proofs.
 Introduce the basic notions of approximation, least fixed point, and complete partial orders.
The syllabus below was prepared assuming two lectures per week, Tu/ Thursday, and that the text would still be in print.
Date 
Lecture 
Topic 
Reading 
4Jan05 
Lecture 1 
Intro and Overview 
T 1 
6Jan05 
Lecture 2 
Mathematical Preliminaries; Logic 
T 2; Prawitz? 
11Jan05 
Lecture 3 
A Simple Imperative Language 
T 3 (3.1  3.4) 
13Jan05 
Lecture 4 
Operational Semantics 
T 3 (3.5) 
18Jan05 
Lecture 5 
Hoare Logic 
T 3 (3.6) 
20Jan05 
Lecture 6 
A Simple Applicative Language 
T 4 (4.1  4.4) 
25Jan05 
Lecture 7 
Properties of the Applicative Language 
T 4 (4.4) 
27Jan05 
Lecture 8 
Full abstraction of while; Properties of applicative language 
T 4 (4.4) 
1Feb05 
Lecture 9 
Substitution 
T 4 (4.5.2) 
3Feb05 
Lecture 10 
Programming Logic; Elementary Domain Theory 
T 5 (4.5, 5.1, 5.2) 
8Feb05 
Lecture 11 
Continuous Functions 
T 5 (5.1  5.3) 
10Feb05 
Lecture 12 
Least Fixed Point 
T 5 
15Feb05 
Lecture 13 
Reasoning about Fixed Points 
T 5 (5.6) 
17Feb05 
Lecture 14 
Programming Logic; Introducing "Algol" 
T 6 (6.1  6.3) 
22Feb05 
Lecture 15 
Call by Name, Call by Value 
T 6 (6.1  6.3) 
24Feb05 
Lecture 16 
Acceptors, Completions 
T 7 (7.4, 7.5) 
1Mar05 
Lecture 17 
Completions, Loops and Escapes; Monads 
T 7 
3Mar05 
Lecture 18 
Monads, Proper and Nonproper morphisms, continuations 
notes 
8Mar05 
Lecture 19 
student presentations 

10Mar05 
Lecture 20 
student presentations 

15Mar05 
Final 



