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