# 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 kapulet intro]] * [[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 kapulet intro]] Basics of functional programming: `let`, `case`, pattern matching, and recursion. Definitions of factorial. * [[Advanced notes on functional programming|topics/week1 kapulet advanced]] * [[Homework for week 1|exercises/assignment1]] Week 2: * [[Introduction to the Lambda Calculus|topics/week2 lambda intro]] * [[Advanced notes on the Lambda Calculus|topics/week2 lambda advanced]] * [[Encoding Booleans, Tuples, Lists, and Numbers|topics/week2 encodings]]; * Homework for week 2 (in progress) *More coming, please wait...*