Many of these links are to Wikipedia. You can learn a lot from such articles, so long as you remember they may sometimes mislead or make mistakes. However, I hope at this point in your education you'll have learned to be a guarded reader even of authoritative treatises by eminent authors. So you shouldn't need any Wikipedia-specific warnings.

For most readers, many bits of reading we point you to will be hairy in one way or another. It may be aimed at audiences with more programming experience; it may be aimed at audiences with specific logical background you don't yet have; it may be aimed at audiences familiar with technical areas in linguistics you're first encountering. Or perhaps several of these at once. We hope you will already have mastered the skill of leveraged reading: getting what you can out of an article you don't fully understand, so that you can discuss it with the rest of the group and hopefully get to a point where you can read it again and get more out of. (Rinse and repeat.)


Functional vs imperative programming

General issues about variables and scope in programming languages

Learning Scheme

Untyped lambda calculus and combinatory logic

Evaluation Order

Confluence, Normalization, Undecidability

Recursion and the Y Combinator



Learning OCaml


Monads in Category Theory

Side-effects / mutation


The Curry-Howard Correspondence

Linear Logic