Lambda Forever!

Session Summaries


CS 3540

Programming Languages
and Paradigms

Spring Semester 2020



Getting Started

# Date Session Code Hmwk
01 01/14 A Gentle Introduction to the Study of Languages zip Homework 0


An Introduction to Functional Programming and Racket

# Date Session Code Hmwk
02 01/16 Learning a New Language: Racket zip Homework 1
03 01/21 More Primitive Racket zip Homework 2
04 01/23 Racket Data Structures zip .
05 01/28 Racket Functions zip Homework 3
06 01/30 Higher-Order Functions zip .
07 02/04 Thinking Functionally zip .


Inductive Specifications and Recursive Programs

# Date Session Code Hmwk
08 02/06 Inductive Definitions of Data . Exam 1
09 02/11 Defining Recursive Programs zip Homework 4
10 02/13 Recursive Programming Techniques zip .
11 02/18 Recursive Programs and Loops zip Homework 5
12 02/20 Recursive Programs and Programming Language zip .
13 02/25 An Application of Recursion: Variable Binding zip Homework 6
14 02/27 An Application of Recursion: A Small Interpreter zip .


Syntactic Abstraction

# Date Session Code Hmwk
15 03/03 Syntactic Abstraction zip Exam 2
16 03/05 Local Variables as Syntactic Abstraction zip Homework 7
17 03/10 Variable Reference and Scope zip .
18 03/12 Creating New Syntax zip .
19 03/24 Lexical Addresses zip Homework 8
20 03/26 Lexical Addresses, Redux zip .


Data Abstraction

# Date Session Code Hmwk
21 03/31 Data Abstraction and Variety zip Exam 3
22 04/02 The Finite Function ADT zip Homework 9
23 04/07 Going Deeper with Finite Functions zip .
24 04/09 Programs with State zip Homework 10
25 04/14 Objects as Closures zip (reading →)
26 04/16 Building a Language Interpreter zip Homework 11


Bringing It All Together

# Date Session Code Hmwk
27 04/21 Optimization in a Simple Interpreter zip .
28 04/23 The Next Big Thing? zip Homework 12
29 04/28 Adding Functions to a Language zip .
30 04/30 Back to the Future zip .


Eugene Wallingford ..... wallingf@cs.uni.edu