Resources

 

Course: Useful Links

  1. -Submit server

  2. -Grades

  3. -Forum


General

  1. -PL research at Maryland

  2. -Programming language theory texts online

  3. -Great works in programming languages

  4. -Knuth’s advice on writing mathematical papers (see secs. 1-3)


OCaml

  1. -OCaml - The main page

  2. -Developing applications with Objective Caml - The book


Coq

  1. -Coq - The main page

  2. -Tutorial

  3. -Reference manual

  4. -Standard library

  5. -Proof General


Suggested Texts

Here are books you may be interested in if you want to go into much more depth on some of the class material. None of these is required for the class. I would recommend the ones in bold; I own them myself and I have found them to be useful.

If you buy just one of these, I would recommend Pierce most highly.

  1. -Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools

  2. -Appel, Compiling with Continuations.

  3. -Barendregt, Lambda Calculi with Types (web download).

  4. -Clarke, Grumberg, and Peled, Model Checking.

  5. -Gries, The Science of Programming.

  6. -Hankin, Lambda Calculi: A Guide for Computer Scientists. (Out of print, but available at the library.)

  7. -Huth and Ryan, Logic in Computer Science: Modeling and Reasoning about Systems

  8. -Mitchell, Foundations for Programming Languages.

  9. -Muchnick, Advanced Compiler Design and Implementation.

  10. -Nielson and Nielson, Semantics with Applications: A Formal Introduction (web download).

  11. -Nielson, Nielson, and Hankin, Principles of Program Analysis.

  12. -Pierce, Types and Programming Languages.

  13. -Winskel, The Formal Semantics of Programming Languages. (Available at the library.)


Software Tools