Software Engineering: Why me?

Tom Kelliher, CS 245

Sept. 3, 2010



ACM Programming Contest participants.


Carefully read 1.7-1.10. Online essay.

From Last Time



  1. Discussion of Chapter 1.

Coming Up

Project discussion, project teams.


  1. 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?

  2. 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.

  3. Why engineer software?

  4. What are the dangers of not following a software engineering paradigm?

  5. Where can software engineering projects go wrong?

  6. Describe the conceptualization, representation, and implementation phases of a software engineering project.

Thomas P. Kelliher 2010-09-02
Tom Kelliher