|
|
Principles of Programming Languages - COMP3610 / COMP6361
Semester 2, 2009
Lecture Material and Schedule
Slides from lectures, associated handouts and sample code will be
posted here as the semester progresses.
All being well, lecture recordings will be available through the
COMP3610 Wattle site, though it's not set up yet.
This is a tentative schedule only, topics and timings may change.
There will be about 27 lectures, and a revision session at the end.
Week 1
- Introduction and Outline
Slides: [pdf]
[pdf 2x2]
(updated 20/7/2009)
- What is a Programming Language?
Slides: [pdf]
[pdf 2x2]
Extra Material:
- Haskell by Example
In this lecture I'll construct and demonstrate an interpreter for the lambda calculus, in Haskell.
There are no formal slides, but check out the Haskell Resources
Source code for the interpreter: lambda.tgz
Week 2
- More on the Lambda Calculus
These will also be useful for the Haskell by Example lecture.
Some of this material overlaps with COMP2600 from last year, but not everyone has done that course.
I'll also be going into greater detail this time around.
Slides:
Notes: [lambdanotes-pdf]
[lambdanotes-pdf2x1]
Extra material:
- Reduction Strategies
Slides: [pdf]
[pdf 2x2]
Extra material:
- The Typed Lambda Calculus
Slides: [pdf]
[pdf 2x2]
Week 3
- Programs are Proofs
Slides: [pdf]
[pdf 2x2]
- Compilation by Transformation
Slides: [pdf]
[pdf 2x2] (typos on slide 30 fixed 4/8/2009)
Extra Material:
- No lecture on Wednesday (5th August)
Week 4
- Lexical Analysis
Slides: [pdf]
[pdf 2x2] (diagram on slide 18 fixed 10/9/2009)
- Top Down Parsing
This will be a tutorial style lecture, working through the material on the board.
The week 4 practical is also on top down parsing.
Notes: [pdf]
[pdf 2x1]
Example code: code.tgz
- Polymorphic Type Inference
Slides: [pdf]
[pdf 2x2]
Extra Material:
Week 5
- System-F and the Lambda Cube
Slides: [pdf]
[pdf 2x2]
Extra Material:
- Bison and Flex
Notes: [pdf]
We will also use these notes for next week's lectures on bottom-up parsing.
- No Lecture on Wednesday (19th August)
Week 6
- Bottom-up Parsing (1)
- Bottom-up Parsing (2)
- Introduction to Assignment 2
Weeks 7 - 8
Week 9 (Assignment 1 Due)
- No lecture on Monday
- Fixpoint Theory
Notes: [pdf]
[pdf 2x1]
- Fixpoint Theory (2)
Week 10
- Operational Semantics
Notes: [pdf]
[pdf 2x1]
These will also be used for next week's lectures.
- Rule Induction
Notes: [pdf]
[pdf 2x2]
(typos fixed 13:30pm 22/9/2009)
Extra Material:
- A Syntactic Approach to Type Soundness
Notes: [pdf]
[pdf 2x2]
Extra Material:
Mid-semester break week 1
Mid-semester break week 2
Week 11
- No lecture on Monday
- Operational Semantics of Blocks and Procedures
- Denotational Semantics
Week 12
(Assignment 2 Due)
- No lecture on Monday
- .. of Continuations and Control
- Strictness Analysis
Notes: [pdf]
[pdf 2x2]
Week 13
- No lecture on Monday
- Effect Typing the DDC
Notes: [pdf]
[pdf 2x2]
Extra material:
- Summary and Exam Revision
Notes: [pdf]
[pdf 2x2]
|