Concepts for building software
- Single User model - expert has problem, devises a solution, proves it correct, transforms solution to implementation, runs it, uses result.
- Engineering model - traditional sequence: customer specifies, engineer designs, builds, tests, customer accepts, pays, uses artifact until obsolete.
- Composition - used for computer hardware: look through catalogs for suitable pieces, plug them together, adapt to what you can get economically
- what do we teach? what is being done?