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.
-
Software Engineering
-
Software
engineering
— Focus on the main introduction, the introduction
to the “Profession” section and
“Related fields”.
- What is software engineering, and how does it
compare with traditional engineering and with
computer science?
- Is software engineering a professional discipline,
that is, are there professional certifications that
one must acquire before being licensed to develop
software?
-
Software Project Management
-
Peopleware:
Productive Projects and Teams, T. DeMarco &
T. Lister — Read the introduction to Part I,
“Managing the Human Resource” and Chapter 1.
- In what ways are software developers similar to and
dissimilar from modular components?
- In what ways are software projects challenging in
terms of sociological issues?
-
Brooks’s
Law
- Know what Brooks’s Law is and how it applies
to software development.
-
The Big Five
Personality Test
- Know the five personality traits.
- 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.
-
Constructive and
Destructive Group Behaviors:
- Consider which strengths and weaknesses you bring to
the group.
- How can you accentuate your positive impact on the
group and eliminate your negative impact?
- 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).
-
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.
- Briefly summarize Postman’s five ideas.
- 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.
-
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.
-
Install VSCode, and
consider adding the following plugin extensions, which
will be useful throughout the course:
-
Work through the first two steps of lab exercise
1.3, which will configure:
- Your machine — If you can’t use your own
machine, there are alternatives (see the policies page for
details).
- 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.