Notes for January 9, 1998

  1. Greetings and Felicitations!
    1. Reading: Pfleeger, pp. 286-287, 207-211; Garfinkel & Spafford, pp. 701-713
  2. Puzzle of the day
    1. Key point: people problem; no amount of code fixing will solve this.
  3. Design Principles [Pfleeger, pp. 286-287]
    1. Principle of Psychological Acceptability
    2. Principle of Least Privilege
    3. Principle of Fail-Safe Defaults
    4. Principle of Economy of Mechanism (KISS principle, redone)
    5. Principle of Complete Mediation
    6. Principle of Separation of Privilege
    7. Principle of Least Common Mechanism
    8. Principle of Open Design
  4. Robust Programming [Pfleeger, pp. 207-211; Garfinkel & Spafford, pp. 701-713]
    1. Go through handout, emphasizing principles
    2. Information hiding and abstraction
    3. Error handling
[ ended at end of fragile code ]

You can also see this document in its native format, in Postscript, in PDF, or in ASCII text.
Send email to

Department of Computer Science
University of California at Davis
Davis, CA 95616-8562

Page last modified on 1/15/98