Programming Languages Logo

CS251: Handouts

  1. Course Information
  2. Course Resources
  3. Introduction to the Wellesley Linux Environment
  4. Introduction to Unix and the X Window System (Scott Anderson)
  5. Introduction to the EMACS Editor (Scott Anderson)
  6. Emacs Reference Card
  7. An Introduction to CVS
  8. Sample Programming Language Design Dimensions
  9. OCaml Book (Jason Hickey) [local copy]
  10. Using OCaml
  11. Trusting Trust (Ken Thompson)
  12. Problem set 1
  13. OCaml intro
  14. Lists in OCaml
  15. PS1 Solutions
  16. Problem set 2
  17. Substitution Model
  18. First-class Functions
    First-class Functions (filled in)
  19. Higher-Order List Functions
  20. PS2 Solutions
  21. Problem set 3
  22. Modules and Data Abstraction in Ocaml
  23. Ocaml Sum-of-Product Data Types
  24. Intex: An Introduction to Program Manipulation
  25. PostFix: A Simple Stack Language
  26. Problem set 4
  27. PS3 Solutions
  28. Bindex: An Introduction to Naming
  29. Problem set 5
  30. Extending Bindex
  31. Valex: Primitive Operators and Desugaring
  32. PS4 Solutions
  33. Problem Set 6
  34. HOFL: First-class Functions and Scoping
  35. Imperative Programming: HOILEC and HOILIC
  36. Parameter Passing
  37. PS5 Solutions
  38. Compound Data and Memory Management
  39. Problem Set 7
  40. Scheme
  41. Control (2 slides/page)
  42. PS6 Solutions
  43. PS7 Solutions