Lectures
Number | Date | Topic | Slides |
---|---|---|---|
1 | Wednesday, February 5 | Intro to F# |
334-01-lecture_2025-02-05.pdf |
2 | Monday, February 10 | More F# |
334-02-lecture_2025-02-10.pdf |
3 | Thursday, February 13 | WCMA |
334-03-lecture_2025-02-13.pdf |
4 | Monday, February 17 | Pattern matching/algebraic data types |
334-04-lecture_2025-02-17.pdf |
5 | Thursday, February 20 | Higher-order Functions |
334-05-lecture_2025-02-20.pdf |
6 | Monday, February 24 | The dream of computation |
334-06-lecture_2025-02-24.pdf |
7 | Thursday, February 27 | Evaluation by rewriting |
334-07-lecture_2025-02-27.pdf |
8 | Monday, March 3 | More lambda calculus |
334-08-lecture_2025-03-03.pdf |
9 | Thursday, March 6 | Computability |
334-09-lecture_2025-03-06.pdf |
10 | Monday, March 10 | Proof by reduction |
334-10-lecture_2025-03-10.pdf |
11 | Thursday, March 13 | Language architecture |
334-11-lecture_2025-03-13.pdf |
12 | Monday, April 7 | Parsing |
334-12-lecture_2025-04-07.pdf Railroad diagram visualizer and BraceLang BNF. Combinator.fs parser library Library.fs BraceLang parser Program.fs BraceLang frontend |
13 | Thursday, April 10 | WCMA 2 |
334-13-lecture_2025-04-10.pdf |
14 | Monday, April 14 | Program interpretation |
334-14-lecture_2025-04-14.pdf Program.fs PlusLang interpreter |
15 | Thursday, April 17 | Graphics and compilers |
334-15-lecture_2025-04-17.pdf Program.fs LineLang compiler A video from a few years ago where I live code a similar language |
16 | Monday, April 21 | Type inference |
334-16-lecture_2025-04-21.pdf |
17 | Thursday, April 24 | Variables |
334-17-lecture_2025-04-24.pdf Blub: BlubAST.fs BlubEval.fs BlubParser.fs Program.fs Blub programs: 00-helloworld.blub 01-simplemath.blub 02-simplemath.blub 03-parens.blub 04-parens.blub 05-comment.blub 06-assignment.blub 07-variable.blub 08-complex.blub 09-weird-but-ok.blub |
18 | Monday, April 28 | Scope |
334-18-lecture_2025-04-28.pdf |
19 | Thursday, May 1 | Testing and Packages |
I canceled class as I was sick. I will post recorded lectures soon. |
20 | Monday, May 5 | Midterm exam 2 review |
See handouts for study materials and solutions. |
21 | Thursday, May 8 | Testing tutorial & Packages tutorial |
Watch this short tutorial (16 mins) to learn how to add tests to your project. Helper code mentioned in the video. Watch this short tutorial (17 mins) to learn how to use packages in .NET. This is a class recording from 2022, so feel free to ignore the rest of the video. |
22 | Monday, May 12 | How to give a good talk / OOP |
334-22-lecture_2025-05-12.pdf |