CS 421: Programming Languages and Compilers
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
11/15Introduction to course; OCamllecture 1 (with solutions)
21/17OCaml: Pattern-matching; recursion on listslecture 2 (supplementary notes) (with solutions) Video 2
31/22OCaml: Datatypes and treeslecture3 (with solutions)Video 3
41/24Abstract syntaxlecture4 (with solutions)Video 4
51/29Lexical analysislecture5-6 (see also: 2006 lecture) (with solutions) Video 5wikipedia,something from Stanford
61/31Lexical analysis, cont.Video 6ocamllex manual,ocamllex tutorial
72/5Context-free grammars; bottom-up parsing; ocamlyacclecture7-8 (with solutions)Video 7
82/7cont.Video 8
92/12Top-down parsinglecture9 (with solutions)(supplementary notes) Video 9
102/14Using SOS rules; type-checking MiniJavalecture10 (with solutions) Video 10
2/18Midterm 1 - 7:00-8:30 PM; rooms TBA (see exams tab for details)
2/19class cancelled
112/21Interpreted MiniJavalecture11 (with solutions)Video 11
122/26Interpreted MiniJava w/ objectslecture12 (with solutions)Video 12
132/28Garbage collectionlecture13Video 13
143/5Compiling MiniJavalecture14 (with solutions)Video 14
153/7Compiling MiniJava (cont.)lecture15 (with solutions)Video 15
163/12Program verificationlecture16 (with solutions)Video 16
173/14History of PLslecture17Video 17
3/19, 21Spring break
183/26OCaml interpretation (substitution model)lecture18 (with solutions)Video 18
193/28Higher-order functionslecture19 (with solutions)Video 19
3/31Review session - 7:00-8:30 PM; 1404 SiebelReview video
4/1Midterm 2 - 7:00-8:30 PM; rooms TBA (see exams tab for details)
4/2class cancelled
204/4OCaml interpretation (environment model)lecture20 (with solutions)Video 20
214/9More higher-order functionslecture21Video 21
224/11Type-checking in OCamllecture22 (with solutions)Video 22
234/16Type-checking in OCaml (cont.)lecture23 (with solutions)Video 23
244/18Type-checking in OCaml (cont.)lecture24 (with solutions)Video 24
254/23Lazy Evaluation and Lambda Calculuslecture25 (with solutions)Video 25
264/25Higher-order functions in o-o languageslecture26 (with solutions)Video 26
274/30Wrap-up and reviewlecture27Video 30
5/7Final 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