Toggle navigation
Programming Languages
Main
Resources
Schedule
Syllabus
Schedule (Tentative)
Week
Topic
Assignment
Week 1
Syllabus and installing Dr. Racket
None
Week 2
Introduction to Racket and functional programming
September 10 slides
September 11 slides
in-class strings file
in-class numbers file
in-class booleans file
in-class functions file
September 13 slides
in-class let file
in-class lists file
in-class letrec file
Lab 1
Week 3
Recursion
September 18 slides
in-class review file (lambda, let, letrec)
in-class tail-recursion file
Higher-order functions
September 20 slides
in-class map file
in-class filter file
Lab 1
Week 4
Higher-order functions
September 25 slides
in-class warm-up file
in-class fold file
I/O and Quote
September 27 slides
in-class I/O file
in-class quote file
in-class symbol file
in-class write functions to file file
Lab 2
Week 5
Case analysis
October 2 slides
in-class match file
Data representation and abstraction
October 4 slides
in-class Booleans file
in-class integers file
Lab 3
Week 6
Hierarchical data structures
October 11 slides
in-class lists file
in-class sets file
None
Week 7
Store-passing style
October 16 slides
in-class store-passing file
Lab 4
Week 8
Evaluation strategy
October 23 slides
in-class if file
in-class eager evaluation file
in-class lazy evaluation file
Streams
October 25 slides
in-class streams file
None (study for midterm)
Week 9
Midterm
Midterm review slides
Interpreters
October 30 slides
in-class substitution file
in-class tests file
in-class defs file
in-class import file
in-class eval and apply file
None (study for midterm)
Week 10
Interpreter project: variables
Interpreter pt. 1
Week 11
Interpreter project: primitive procedures
Interpreter pt. 2
Week 12
Interpreter project: lambda
Interpreter pt. 3
Week 13
Verification Languages
November 27 slides
Dafny midpoint example
Dafny division example
Computation Graph Languages
November 29 slides
Introduction to Tensorflow file
Linear Regression file
Data for regression file
Language project
Week 14
Probabilistic Programming Languages
Programming Languages Presentations
Language project
December 4 slides
Hello World Figaro file
Week 15
Programming Languages Presentations
Wrap-up
Final exam review slides
None (study for exam)