--- /dev/null
+# Topics #
+
+These topics are organized in two ways: by their content, and by the
+week in which they were introduced.
+
+## Topics by content ##
+
+* [[Basics of functional programming|topics/week1]]
+
+* [[Order: static versus dynamic|topics/week1 order]]
+
+## Topics by week ##
+
+Week 1:
+
+* [[Order in programming languages and natural language|topics/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.
+* [[Homework for week 1|exercises/assignment1]]
+* [[Advanced notes|week1 advanced notes]]
+
+*More coming, please wait...*
+
+<!--
+Once we get up and running, the central focii of the course will be
+**continuations**, **types**, and **monads**. One of the on-going themes will
+concern evaluation order and issues about how computations (inferences,
+derivations) unfold in (for instance) time. The key analytic technique is to
+form a static, order-independent model of a dynamic process. We'll be
+discussing this in much more detail as the course proceeds.
+
+The logical systems we'll be looking at include:
+
+* the "pure"/untyped lambda calculus
+* combinatorial logic
+* the simply-typed lambda calculus
+* polymorphic types with System F
+* some discussion of dependent types
+* if time permits, "indeterministic" or "preemptively parallel" computation and linear logic
+
+
+Other keywords:
+ recursion using the Y-combinator
+ evaluation-order stratgies
+ normalizing properties
+ the Curry-Howard isomorphism(s)
+ monads in category theory and computation
+-->