CPSC 326: Organization of Programming Languages

Spring 2024

Course Information

Course Resources


Weekly Schedule
Week Topic HW
1 (1/17) Course Overview HW-0 (setup)
1 (1/19) MyPL Intro  
2 (1/22) Compilation and Intepretation HW-1 (lexer)
2 (1/24) Lexical Analysis  
2 (1/26) Lexical Analysis Quiz 1
3 (1/29) Grammars  
3 (1/31) Grammars  
3 (2/2) Parsing Quiz 2
4 (2/5) Parsing HW-2 (parser)
4 (2/7) Parsing, MyPL Syntax  
4 (2/9) Recursive Descent Quiz 3
5 (2/12) Recursive Descent  
5 (2/14) ASTs  
5 (2/16) AST Traversal  
6 (2/19) No Class: President's Day Holiday HW-3 (ast)
6 (2/21) EXAM 1  
6 (2/23) MyPL AST Overview, AST Classes  
7 (2/26) Assoc/Prec  
7 (2/28) Semantic Analysis (terms)  
7 (3/1) Semantic Analysis (basics) Quiz 4
8 (3/4) Semantic Analysis (symbol table) HW-4 (typing)
8 (3/6) Semantic Analysis (type rules)  
8 (3/8) Semantic Analysis (wrap up) Quiz 5
(3/11-3/15) No Class: Spring Break  
9 (3/18) Interpretation (VM) Proj P1 due
9 (3/20) Interpretation (VM)  
9 (3/22) Interpretation (VM)  
10 (3/25) Interpretation (VM) HW-5 (vm)
10 (3/27) Interpretation (VM) Quiz 6
10 (3/29) No Class: Good Friday  
11 (4/1) No Class: Easter Holiday  
11 (4/3) EXAM 2  
11 (4/5) Code Generation Proj P2 due
12 (4/8) Code Generation HW-6 (gen)
12 (4/10) Paradigms  
12 (4/12) Paradigms, Lambda Calculus Quiz 7
13 (4/15) Lambda Calculus  
13 (4/17) Haskell Basics  
13 (4/19) Haskell Types and Lists Quiz 8
14 (4/22) Haskell Functions HW-7 (FP1)
14 (4/24) Pattern Matching  
14 (4/26) Algebraic Types Proj P3 due
15 (4/29) Algebraic Types HW-8 (FP2)
15 (5/1) Higher-Order Functions  
15 (5/3) Wrap Up Make-Up Quiz
16 FINAL EXAM (Sect 1: Tues (5/7) 1-3; Sect 2: Thur (5/9) 1-3) Proj Due Fri