Software Engineering: Why me?
Tom Kelliher, CS 245
Sept. 1, 2006
Interest in ACM Programming Contest?
Carefully read 1.7-1.10. Online essay.
Introduction.
- Discussion of Chapter 1.
Project discussion, project teams.
- Compare the process of building a large structure, such as a skyscraper, to
the process of creating a complex piece of software, such as a spreadsheet
or DBMS. It is conventionally understood that significant time and
effort go into architecture and design for a skyscraper, but for many, it
is not clear how important these efforts are to producing equally reliable
software. Why do you suppose this point is not understood?
- You want someone to write a program to automate your household finances.
Write a narrative description of this problem, so that a second
party can use this description to write a useful program.
Exchange your narrative with a classmate's and critique the description for
ambiguities and omissions.
- Why engineer software?
- What are the dangers of not following a software engineering
paradigm?
- Where can software engineering projects go wrong?
- Describe the conceptualization, representation, and implementation
phases of a software engineering project.
Thomas P. Kelliher
2006-08-31
Tom Kelliher