CSE240 Lectures and projects

Jeffrey A. Meunier, jeffm@cs.yale.edu
Spring 2000, University of Connecticut


  1. Thu Jan 27
  2. Lecture 1: Course intro
    (online HTML) (75KB PostScript)
    Homework: read chapters 1 and 2 in Ullman, use SML while you read
    Addendum: VM discussion
    (online HTML) (40KB PostScript)

  3. Tue Feb 1
  4. Lecture 2: Intro to ML, functions, data types
    (online HTML) (91KB PostScript)
    Homework: Ullman: section 3.1 - 3.5, try exercise 3.3.1 a-f; Sweetman chapter 1, chapter 2 trough section 2.5, section 2.8.

  5. Thu Feb 3
  6. Lecture 3: More ML data types, intro to MIPS architecure and instructions
    (online HTML) (90KB PostScript)
    Homework: read Ullman 5.1, 5.2
    Project 1: MIPS register names
    (online HTML) (100KB PostScript)

  7. Tue Feb 8
  8. Lecture 4: MIPS programs, registers and stack
    (online HTML) (88KB PostScript)
    Homework: Sweetman 8.6, 9.2 - 9.4 (skip 9.4.1); Ullman 4 through 4.1 (This is I/O--I said in class it may be arrays and records, but I was wrong. That's in sections 7.1 and 7.22---start reading those sections, then.)

  9. Thu Feb 10
  10. Lecture 5: Addressing modes, arrays, records, structures
    (online HTML) (83KB PostScript)
    Project 1 Solution
    (online HTML) (60KB PostScript) (26KB gzipped PostScript) (4KB tar-gzip HTML bundle)
    Project 2: MIPS VM, due midnight Wed night (2/16)
    (online HTML) (103KB PostScript) (44KB gzipped PostScript) (11KB tar-gzip HTML bundle)

  11. Tue Feb 15
  12. Lecture 6: Instruction encoding
    (online HTML) (PostScript)
    Homework: read section 8.5 in Sweetman, look over table 8.6; Ullman chapter 5 through 5.2, and 4.1.3

  13. Thu Feb 17
  14. Lecture 7: Side effects, combinators, higher order functions
    (online HTML) (PostScript)
    Homework: Ullman 5.3 - 5.6

  15. Tue Feb 22
  16. Lecture 8: Lexical binding, anonymous functions
    (online HTML) (PostScript)
    Project 2 solution
    (online HTML)
    Project 3: Memory, (due midnight Monday night 2/28)
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)

  17. Thu Feb 24
  18. Lecture 9: Review of higher order functions
    (online HTML) (PostScript)

  19. Tue Feb 29
  20. Lecture 10: Branches and jumps, subroutines
    (online HTML) (PostScript)

  21. Thu Mar 2
  22. Lecture 11: Constructors, pattern matching, course summary
    (online HTML) (PostScript)

  23. Tue Mar 7
  24. Lecture 12: Project 4 discussion
    (online HTML) (PostScript)
    Project 3 solution
    (online HTML)
    Project 4: MIPS assembler, (due midnight Monday night 3/13)
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)
    Download files

  25. Thu Mar 9
  26. Lecture 13: ML types, compilation manager
    (online HTML) (PostScript)

  27. Tue Mar 14
  28. Lecture 14: Subroutines

  29. Thu Mar 15
  30. Lecture 16: Project 5 overview
    Project 4 solution
    (online HTML)
    Project 5: Program loading (updated 9:30AM Mar 29)
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)
    Download files

  31. Tue Mar 28
  32. Lecture 17: Project 5 updates

  33. Thu Mar 30
  34. Lecture 18:

  35. Tue Apr 4
  36. Lecture 19:

  37. Thu Apr 6
  38. Lecture 20: Project 6 overview
    Project 5 solution
    (online HTML)
    Project 6: Debugger
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)

  39. Tue Apr 11
  40. Lecture 20:

  41. Thu Apr 13
  42. Project 7: Functions and interrupts
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)

    Download source code

  43. Thu Apr 20
  44. Project 8: Web server and client
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)

    Download source code

  45. Thu Apr 20
  46. Project 9: Multitasker
    (online HTML) (PostScript) (gzipped PostScript) (tar-gzip HTML bundle)

    Download source code