(1) Compiling a C program (2) Baking a cake Instructions for baking a cake Could a human follow your instructions? Could a robot do it? What resources are we concerned with as cooks? Concerns: * level of specificity for audience Concerns for resources: What constrains what I can do? * time * money * knowledge ___________ * equipment * ingredients with enough money/time, can buy ingredients, equipment, a finished cake, pay someone to make the cake for you.... buy a cake mix... cake mix is tradeoff of what vs. what? baking one cake vs. 100 cakes.... tradeoff what vs. what? relate to computer program: processor speed... time memory... like space in oven... output devices.... equipment... peripherals money..... time ... money... skill Recipies title (specificaton) ingredient list (resources) instructions (ordered) ambiguity ( Algorihthm: ordered list of instructions unambiguous must make progress and terminate (no infinite loops) can be functional without being efficient (e.g. moving water with a teaspoon) Goals of the course: learn to design algorithms to solve problems implement algorithms in the C programming languge, using "good style" (good style = can be maintained effectively by self and others... good style = good teamwork) manage C software development on the Unix operating system learn basic computing principles ( hardware / software) --- insight into how things work *********************