+or: **What Philosophers and Linguists Can Learn From Theoretical Computer Science But Didn't Know To Ask**
+
+This course will be co-taught by [Chris Barker](http://homepages.nyu.edu/~cb125/) and [Jim Pryor](http://www.jimpryor.net/). Linguistics calls it "G61.3340-002" and Philosophy calls it "G83.2296-001."
+
+
+## Announcements ##
+
+The seminar meets on Mondays, starting September 13, from 4-6 in the 2nd floor Philosophy Seminar Room, at 5
+Washington Place. We may be able to shift the time around slightly to suit the
+schedule of participants; but it will remain on Mondays late
+afternoon/evenings.
+
+
+
+## Overview ##
+
+The goal of this seminar is to introduce concepts and techniques from
+theoretical computer science and show how they can provide insight
+into established philosophical and linguistic problems.
+
+This is not a seminar about any particular technology or software.
+Rather, it's about a variety of conceptual/logical ideas that have been
+developed in computer science and that linguists and philosophers ought to
+know, or may already be unknowingly trying to reinvent.
+
+Philosphers and linguists tend to reuse the same familiar tools in
+ever more (sometime spectacularly) creative ways. But when your only
+hammer is classical logic, every problem looks like modus ponens. In
+contrast, computer scientists have invested considerable ingenuity in
+studying tool design, and have made remarkable progress.
+
+"Why shouldn't I reinvent some idea X for myself? It's intellectually
+rewarding!" Yes it is, but it also takes time you might have better
+spent elsewhere. After all, you can get anywhere you want to go by walking, but you can
+accomplish more with a combination of walking and strategic subway
+rides.
+
+More importantly, the idiosyncrasies of your particular
+implementation may obscure what's fundamental to the idea you're
+working with. Your implementation may be buggy in corner cases you
+didn't think of; it may be incomplete and not trivial to generalize; its
+connection to existing literature and neighboring issues may go
+unnoticed. For all these reasons you're better off understanding the
+state of the art.
+
+The theoretical tools we'll be introducing aren't very familiar to
+everyday programmers, but they are prominent in academic computer science,
+especially in the fields of functional programming and type theory.
+
+Of necessity, this course will lay a lot of logical groundwork. But throughout
+we'll be aiming to mix that groundwork with real cases
+in our home subjects where these tools play central roles. Our aim for the
+course is to enable you to make these tools your own; to have enough
+understanding of them to recognize them in use, use them yourself at least
+in simple ways, and to be able to read more about them when appropriate.
+
+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
+-->
+
+## Who Can Participate? ##
+
+The course will not presume previous experience with programming. We
+will, however, discuss concepts embodied in specific programming
+languages, and we will encourage experimentation with running,
+modifying, and writing computer programs.