# Topics #
These topics are organized in two ways: by their content, and by the
week in which they were introduced.
## Topics by content ##
* [[Introduction to functional programming|topics/week1]]
* [[Order: static versus dynamic|topics/week1 order]]
## Topics by week ##
Week 1:
* [[Order in programming languages and natural language|topics/week1 order]]
This discussion considers conjunction in a language that recognized presupposition failure.
* [[Introduction to functional programming|topics/week1]]
Basics of functional programming: `let`, `case`, pattern matching, and
recursion. Definitions of factorial.
* [[Advanced notes|topics/week1 advanced notes]]
* [[Homework for week 1|exercises/assignment1]]
Week 2:
* [[Intro to the Lambda Calculus|topics/week2_lambda_intro]]
* [[Advanced notes on the Lambda Calculus|topics/ week2 lambda calculus fine points]]
* Encoding Booleans, Tuples, Lists, and Numbers (in progress)
* Homework for week 2 (in progress)
*More coming, please wait...*