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
  • CSCI 334: Principles of Programming Languages, Spring 2025

Course website for CSCI 334, Spring 2025

Powered by Bootstrap 4 Github Pages