Software Engineering: Why me?
Tom Kelliher, CS 245
Sept. 5, 2008
ACM Programming Contest participants.
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 (a
checkbook). 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
2008-09-03
Tom Kelliher