CS 3540 Programming Languages and Paradigms

the PLT lambda log of the Racket project

What's New?

As you may have noticed, Homework 11 is available. It is due Friday by the end of the day. It is similar to Homework 10, in that you will create a simple data structure and then use it to add a new feature to Boom.

Download this zip file to study the code of the BF interpreter in Session 28.

Schedule

Week Date Unit Topic Notes & Code Assignments
1 Tue, 01/21 A Gentle Introduction to the Study of Languages 01 notes Homework 0
Thu, 01/23 An Introduction to Racket Learning a New Language: Racket 02 notes & code Homework 1
2 Tue, 01/28 & Functional Programming More Primitive Racket 03 notes & code Homework 2
Thu, 01/30 Racket Data Structures 04 notes & code
3 Tue, 02/04 Racket Functions 05 notes & code Homework 3
Thu, 02/06 Higher-Order Functions 06 notes & code
4 Tue, 02/11 Thinking Functionally 07 notes & code
Thu, 02/13 Inductive Specifications Inductive Definitions of Data 08 notes Quiz 1
5 Tue, 02/18 & Recursive Programs Defining Recursive Programs 09 notes & code Homework 4
Thu, 02/20 Recursive Programming Techniques 10 notes & code
6 Tue, 02/25 Recursive Programs and Loops 11 notes & code Homework 5
Thu, 02/27 Recursive Programs and Programming Languages 12 notes & code
7 Tue, 03/04 An Application of Recursion: Variable Binding 13 notes & code Homework 6
Thu, 03/06 An Application of Recursion: A Small Interpreter 14 notes & code
8 Tue, 03/11 Programming Recursively 15 notes & code
Thu, 03/13 Syntactic Abstraction Syntactic Abstraction 16 notes & code Quiz 2
. Tue, 03/18 SPRING BREAK
Thu, 03/20
9 Tue, 03/25 Local Variables as Syntactic Abstraction 17 notes & code Homework 7
Thu, 03/27 Variable Reference and Scope 18 notes & code
10 Tue, 04/01 Lexical Addresses 19 notes & code Homework 8
Thu, 04/03 Lexical Addresses, Part 2 20 notes & code
11 Tue, 04/08 Creating New Syntax 21 notes & code
Thu, 04/10 Data Abstraction Data Abstraction and Variety 22 notes & code Quiz 3
12 Tue, 04/15 The Finite Function ADT 23 notes & code Homework 9
Thu, 04/17 Programs with State 24 notes & code
13 Tue, 04/22 Objects as Closures 25 notes & code Code review
Thu, 04/24 Building a Language Interpreter 26 notes & code Homework 10
14 Tue, 04/29 no class — work on homework
Thu, 05/01 Bringing It All Together Optimization in a Simple Interpreter 28 notes & code Homework 11
15 Tue, 05/06 The Next Big Thing? 29 notes & code
Thu, 05/08 Back to the Future 30 notes & code
F Thu, 05/15 1:00 - 2:50 p.m. Final Exam