CS 421: Programming Languages and Compilers
main
::
policy
:: lectures ::
mps
::
exams
::
unit project
::
resources
::
faq
Lecture Schedule for Spring 2011
(Previous semesters' lectures at bottom of page.)
Schedule subject to change as course progresses.
Lecture topics (in italics) for not yet given lectures are preliminary, and may change.
Class
Date
Topic
Lecture slides (pdf)
Addition readings
1
1/18
Introduction to course
lecture1-2up
(
annotated
)
2
1/20
OCaml: Tuples and lists
lecture2-2up
(
annotated
) (
supplementary notes
)
3
1/25
OCaml: Datatypes and tree
lecture3-2up
4
1/27
Language design and implementation overview
lecture4-2up
(
supplementary notes
)(
annotated
)
5
2/1
Compilers; lexical analysis
lecture5-2up
(
annotated
)
wikipedia
,
something from Stanford
6
2/3
Lexical analysis; ocamllex
lecture6-2up
(
annotated
)
ocammlex manual
,
tutorial
7
2/8
Context-free grammars; top-down parsing
lecture7-2up
(
annotated
)
notes from Stanford
8
2/10
Top-down parsing
lecture8-2up
(
annotated
) (
supplementary notes
)
9
2/15
Bottom-up parsing; ocamlyacc
lecture9-2up
(
annotated
)
10
2/17
LR parsing conflicts
lecture10-2up
(
annotated
) (
supp notes
+
zip file
) (
optional supp notes
)
11
2/22
Compilation of static languages
lecture11-2up
(
annotated
)
2/22
Evening: review session in 1320 DCL
2/24
Midterm 1
12
3/1
Compilation (
cont.
)
lecture12-2up
13
3/3
Compilation (
cont.
)
lecture12-13ann
14
3/8
History of programming languages
lecture14-2up
(
annotated
)
15
3/10
C
lecture15ann
16
3/15
Dynamically-typed languages
lecture16-2up
(
annotated
)
17
3/17
Automatic memory management
lecture17-2up
(
annotated
)
3/22
Spring break
3/24
Spring break
18
3/29
Object-oriented languages; Java
lecture18-2up
(
annotated
)
19
3/31
Object-oriented languages; C++
lecture19-2up
(
annotated
)
20
4/5
Functional programming; higher-order functions
lecture20-2up
(
part 1 annotated
)
21
4/7
(cont.)
part 2 annotated
22
4/12
(cont.)
part 3 annotated
4/14
Midterm exam 2
23
4/19
Lambda calculus; Haskell
lecture23-2up
(
annotated
)
24
4/21
Lambda calculus (cont.); OCaml type-checking
lecture24-25-2up
(
annotated
) (
supplementary notes
)
25
4/26
(cont.)
part 2 annotated
26
4/28
Hoare logic
lecture26-2up
(
annotated
)
27
5/3
Review for final
lecture27 annotated
5/6, 1:30-4:30pm
Final exam
Lectures from Spring 2008
Lectures from Summer 2008
Lectures from Fall 2008
Lectures from Spring 2009
Lectures from Summer 2009
Lectures from Fall 2009
Lectures from Spring 2010
Lectures from Summer 2010
Lectures from Fall 2010