As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake. — F.P. Brooks, The Mythical Man-Month, 1975

Work through the guide materials looking for answers to the given questions as you go. Rather than reading the full referenced article, you can generally focus on the portions that address the questions posed in the guide.

  1. Software Engineering

    1. Software engineering — Focus on the main introduction, the introduction to the “Profession” section and “Related fields”.

      1. What is software engineering, and how does it compare with traditional engineering and with computer science?
      2. Is software engineering a professional discipline, that is, are there professional certifications that one must acquire before being licensed to develop software?
  2. Software Project Management

    1. Peopleware: Productive Projects and Teams, T. DeMarco & T. Lister — Read the introduction to Part I, “Managing the Human Resource” and Chapter 1.

      1. In what ways are software developers similar to and dissimilar from modular components?
      2. In what ways are software projects challenging in terms of sociological issues?
    2. Brooks’s Law

      1. Know what Brooks’s Law is and how it applies to software development.
    3. The Big Five Personality Test

      1. Know the five personality traits.
      2. Take the test and save your result for the lab exercises. It’s a free test, but you'll need to either create an account or record the results (i.e., the five trait values). In the lab, you’ll submit using this form (or you can just submit them now): CS 262 - Personality Traits.
    4. Constructive and Destructive Group Behaviors:

      1. Consider which strengths and weaknesses you bring to the group.
      2. How can you accentuate your positive impact on the group and eliminate your negative impact?
      3. Is conflict acceptable or even desirable on teams? Consider this video from the Harvard Business Review discussing this issue: Get Comfortable with Team Conflict (3 minutes).
  3. Read this article on the implications of technological change: “Five Things We Need to Know About Technological Change”, focusing on the first of his ideas.

    1. Briefly summarize Postman’s five ideas.
    2. Describe his first idea and explain whether or not you agree with him.

    We’ll be revisiting this article throughout the semester. Focus, here, on his first idea.

  4. We suggest that you configure your own development environment as follows. You can wait until the lab to do this work, but it would help to know that you can install the basic course tools ahead of time.

    1. Install VSCode, and consider adding the following plugin extensions, which will be useful throughout the course:

    2. Work through the first two steps of lab exercise 1.3, which will configure:

      1. Your machine — If you can’t use your own machine, there are alternatives (see the policies page for details).
      2. Your mobile device — It’s best if you have either an Android or iOS device, but you can also use the Web emulator as an alternative (see the lab for details).

    You can use any Integrated Development Environment (IDE) but the course materials assume the use of VSCode.

You do not submit the answers to guide questions, but they may serve as the basis for class discussion or quiz/exam questions.