# 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|topics/week1_kapulet_advanced]] * [[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_advanced]] * Encoding Booleans, Tuples, Lists, and Numbers (in progress) * Homework for week 2 (in progress) *More coming, please wait...*