Lectures
Number | Date | Topic | Slides |
---|---|---|---|
1 | Friday, February 7 | Course intro |
Slides |
2 | Tuesday, February 11 | Boxes and Arrows |
Slides |
3 | Friday, February 21 | PL Fundamentals, part 1 |
Slides |
4 | Tuesday, February 25 | PL Fundamentals, part 2 |
Slides |
5 | Friday, February 28 | PL Fundamentals, part 3 |
Slides Solutions to class reductions Lambda calculus reduction checker |
6 | Tuesday, March 3 | LISP, part 1 |
Slides |
7 | Friday, March 3 | LISP, part 2 |
Slides |
8 | Tuesday, March 10 | Computability |
Slides Class activity Solution |
9 | Thursday, March 13 | Type Inference |
Slides |
10 | Tuesday, April 7 | Midterm Review | See "mini-lecture" videos in GLOW. |
11 | Tuesday, April 14 | ML and F#, intro and basic syntax | |
12 | Thursday, April 16 | ML and F#, pattern matching, ADTs, HOFs |
Slides 1 Slides 2 |
13 | Tuesday, April 21 | Parser Combinators |
Slides Program.fs Parsers.fs |
14 | Thursday, April 23 | Project Ideas & SQL |
Slides 1 Slides 2 |
15 | Tuesday, April 28 | Program Interpretation |
Slides Program.fs Library.fs |
16 | Thursday, April 30 | Growing a Language / Scope |
Watch the talk by Guy Steele on GLOW. But before you watch, some context. Slides dynamic_scope.pl lexical_scope.pl also_lexical_scope.fs Optional fun reading: Is JavaScript Statically or Dynamically Scoped? |
17 | Tuesday, May 5 ("May the Fifth Be With You!"... or was it "Cuarto de Mayo"?) | Object-Oriented Programming, part 1 |
Slides |
18 | Thursday, May 7 | Unit Testing / Packages/ Object-Oriented Programming, part 2 |
Slides 1 Slides 2 TestTutorial.zip ImageTest.zip F# Unit Testing Tutorial RectangleTest.rb |
19 | Tuesday, May 12 | Object-Oriented Programming, part 3 / How to Give a Good Talk |
Slides 1 Slides 2 mean.cpp Numbers.cpp Honkable.cpp HonkableV2.cpp Optional: An example of a good talk (full disclosure: Emery is my PhD advisor!) Optional: How to give a great research talk (this is a little research-oriented, but very good advice in general) |
20 | Thursday, May 14 | Recap / Variables |
Slides varlang.zip |