CS 421: Programming Languages and Compilers
main
::
objectives
::
policy
:: lectures ::
mps
::
exams
::
unit project
::
resources
::
faq
Lecture Schedule for Spring 2013
(Previous semesters' lectures at bottom of page.)
Lecture topics in italics are for future lectures, and are tentative.
Class
Date
Topic
Lecture slides (pdf)
Videos
Supplemental Readings
1
1/15
Introduction to course; OCaml
lecture 1
(
with solutions
)
2
1/17
OCaml: Pattern-matching; recursion on lists
lecture 2
(
supplementary notes
) (
with solutions
)
Video 2
3
1/22
OCaml: Datatypes and trees
lecture3
(
with solutions
)
Video 3
4
1/24
Abstract syntax
lecture4
(
with solutions
)
Video 4
5
1/29
Lexical analysis
lecture5-6
(see also:
2006 lecture
) (
with solutions
)
Video 5
wikipedia
,
something from Stanford
6
1/31
Lexical analysis, cont.
Video 6
ocamllex manual
,
ocamllex tutorial
7
2/5
Context-free grammars; bottom-up parsing; ocamlyacc
lecture7-8
(
with solutions
)
Video 7
8
2/7
cont.
Video 8
9
2/12
Top-down parsing
lecture9
(
with solutions
)(
supplementary notes
)
Video 9
10
2/14
Using SOS rules; type-checking MiniJava
lecture10
(
with solutions
)
Video 10
2/18
Midterm 1
- 7:00-8:30 PM; rooms TBA (see exams tab for details)
2/19
class cancelled
11
2/21
Interpreted MiniJava
lecture11
(
with solutions
)
Video 11
12
2/26
Interpreted MiniJava w/ objects
lecture12
(
with solutions
)
Video 12
13
2/28
Garbage collection
lecture13
Video 13
14
3/5
Compiling MiniJava
lecture14
(
with solutions
)
Video 14
15
3/7
Compiling MiniJava (cont.)
lecture15
(
with solutions
)
Video 15
16
3/12
Program verification
lecture16
(
with solutions
)
Video 16
17
3/14
History of PLs
lecture17
Video 17
3/19, 21
Spring break
18
3/26
OCaml interpretation (substitution model)
lecture18
(
with solutions
)
Video 18
19
3/28
Higher-order functions
lecture19
(
with solutions
)
Video 19
3/31
Review session
- 7:00-8:30 PM; 1404 Siebel
Review video
4/1
Midterm 2
- 7:00-8:30 PM; rooms TBA (see exams tab for details)
4/2
class cancelled
20
4/4
OCaml interpretation (environment model)
lecture20
(
with solutions
)
Video 20
21
4/9
More higher-order functions
lecture21
Video 21
22
4/11
Type-checking in OCaml
lecture22
(
with solutions
)
Video 22
23
4/16
Type-checking in OCaml (cont.)
lecture23
(
with solutions
)
Video 23
24
4/18
Type-checking in OCaml (cont.)
lecture24
(
with solutions
)
Video 24
25
4/23
Lazy Evaluation and Lambda Calculus
lecture25
(
with solutions
)
Video 25
26
4/25
Higher-order functions in o-o languages
lecture26
(
with solutions
)
Video 26
27
4/30
Wrap-up and review
lecture27
Video 30
5/7
Final Exam
- 8:00-11:00 AM; location - Natural History Building, room 228
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
Lectures from Spring 2011
Lectures from Summer 2011
Lectures from Fall 2011
Lectures from Spring 2012
Lectures from Summer 2012
Lectures from Fall 2012
Lectures from Spring 2013
Lectures from Summer 2013
Lectures from Fall 2013
Lectures from Spring 2014
Lectures from Summer 2014
Lectures from Fall 2014
Lectures from Spring 2015
Lectures from Summer 2015
Lectures from Fall 2015
Lectures from Spring 2016
Lectures from Summer 2016
Lectures from Fall 2016
Lectures from Spring 2017
Lectures from Summer 2017
Lectures from Fall 2017
Lectures from Spring 2018
Lectures from Summer 2018
Lectures from Fall 2018
Lectures from Spring 2019
Lectures from Summer 2019
Lectures from Fall 2019
Lectures from Spring 2020
Lectures from Summer 2020
Lectures from Fall 2020
Lectures from Spring 2021
Lectures from Summer 2021
Lectures from Fall 2021
Lectures from Spring 2022
Lectures from Summer 2022
Lectures from Fall 2022
Lectures from Spring 2023
Lectures from Summer 2023
Lectures from Fall 2023