Homework 1

Review the material in Lectures 1 and 2 and read the No Silver Bullet article available on the class's D2L website. Based on that review and your own experience, answer the questions below.

  1. Define the term essential difficulties as it is used by Brooks. (5 points)
  2. Define the term accidental difficulties as it is used by Brooks. (5 points)
  3. List and briefly describe the four essential difficulties of developing software systems that Brooks identifies. (12 points)
  4. Define what Brooks means by a silver bullet and reconstruct his argument as to why he believes there is no silver bullet for software engineering. (10 points)
  5. In lecture, software engineering's relationship to computer science was described by analogy by discussing the differences between a chemist (chemistry) and a chemical engineer (chemical engineering). Define software engineering and its relationship to computer science; make use of the chemist vs. chemical engineer analogy when answering this question. (6 points)
  6. In lecture, we discussed the importance of the following concepts to software engineers: abstractions, conversations, specification, translation, and iteration. Define each of these concepts as they are related to software engineering and discuss their importance. (12 points)

This assignment is worth 50 points.

Please upload a copy of your answers in PDF format for this assignment to D2L before the start of Lecture 4 on Thursday, September 3rd.


© University of Colorado, Boulder 2015