•High-level
(“architectural”) design
–What pieces?
–How connected?
•Low-level design
–Should I use a hash
table or binary search tree?
•Very low-level
design
–Variable naming,
specific control constructs, etc.
–About 1000 design decisions at various levels are made in producing a single page of code