Slides from the Lectures


These slides from the lectures are available in Portable Document Format (PDF), PostScript, and (for those who want to print them off with more or fewer slides to the page), in Microsoft PowerPoint (PPt).

  1. Introduction [ PDF | PostScript | PPt ]
  2. Structure of programs [ PDF | PostScript | PPt ]
  3. Managing complexity [ PDF | PostScript | PPt ]

  4.  
  5. Imperative languages [ PDF | PostScript | PPt ]
  6. Data [ PDF | PostScript | PPt ]
  7. Data and data types [ PDF | PostScript | PPt ]

  8.  
  9. More on basic data types [ PDF | PostScript | PPt ]
  10. Compound data types: arrays [ PDF | PostScript | PPt ]
  11. Compound data types: more arrays [ PDF | PostScript | PPt ]

  12.  
  13. Compound data types: enumerated types and records [ PDF | PostScript | PPt ]
  14. Compound data types: linked lists [ PDF | PostScript | PPt ]
  15. Compound data types: pointers and more linked lists [ PDF | PostScript | PPt ]

  16.  
  17. Expressions and statements [ PDF | PostScript | PPt ]
  18. Program constructs: selection [ PDF | PostScript | PPt ]
  19. Program constructs: repetition [ PDF | PostScript | PPt ]

  20.  
  21. Program constructs: error-handling; Program composition [ PDF | PostScript | PPt ]
  22. Program composition: scope and parameter-passing [ PDF | PostScript | PPt ]
  23. Program composition: modules [ PDF | PostScript | PPt ]

  24.  
  25. Introduction to functional languages [ PDF | PostScript | PPt ]
  26. Introduction to Haskell [ PDF | PostScript | PPt ]
  27. More Haskell [ PDF | PostScript | PPt ]

  28.  
  29. Lists [ PDF | PostScript | PPt ]
  30. Lists and recursion [ PDF | PostScript | PPt ]
  31. Higher-order functions [ PDF | PostScript | PPt ]

  32.  
  33. Continuation of previous lecture
  34. User-defined types [ PDF | PostScript | PPt ]
  35. Recursive user-defined types [ PDF | PostScript | PPt ]

  36.  
  37. Continuation of previous lecture
  38. Errors and lazy evaluation [ PDF | PostScript | PPt ]
  39. Infinite lists [ PDF | PostScript | PPt ]

  40.  
  41. Semantics of imperative languages [ PDF | PostScript | PPt ]
  42. Semantics of functional languages: the lambda calculus [ PDF | PostScript | PPt ]
  43. More lambda calculus [ PDF | PostScript | PPt ]

  44.  
  45. Logic programming 1 [ PDF | PostScript | PPt ]
  46. Logic Programming 2 [ PDF | PostScript | PPt ]


 
Grant Malcolm
Last modified: Fri Dec 6 14:26:47 GMT 2002