Ideas in Programming Theory 1. Top-Down Design * divide problem into sub-tasks * assign sub-tasks to functions * for each function, identify: * necessary parameters (if any) * return value (if any) * draw diagrams of key functions including main 2. Incremental Development * create a simple starting program * compile, test, and save * develop 1 function * compile, test, and save * add another function * compile, test, and save * etc. Note: it is almost never a good idea to write a large portion of your program all at once, and then test it. 3. Use Good Style See the ECS30 style guide for tips.