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

Course website for CSCI 334, Spring 2025

Powered by Bootstrap 4 Github Pages