Ise1 Teaching
Ise1 Teaching
1. The ISE1 module is appropriate for inclusion in a first year, beginning programming
course. It could even be used in a high school course.
2. In the ISE1 module template, each of the educational objectives is listed at the
"knowledge" level. Students completing the exercise and the below class discussion
will only have a high-level view of the SE discipline. They may not understand all of
the ideas, terms, and issues in the reading material, but they should have a better
appreciation of what SE consists of, what software engineers do, and the
differences between writing a small/modest sized program and developing a large,
complex commercial system.
3. We suggest introducing the module after students have written at least two or three
programs and have a general understanding of the how to solve simple problems on
a computer.
4. Assign the ISE1 exercise and spend 10 or 15 minutes discussing of the problems in
developing larger programs, the exercise description and objectives, and the
exercise itself (reading and questions). Require that the exercise be completed
before the next class period. Advise the students that the exercise will take 2 to 3
hours to complete, and there will be a discussion of their exercise answers in the
next class period.
a. Ask for answers to the exercise question " What the term software engineering
mean?" Then ask follow up questions of "Why is software engineering
important?" and "What is the relationship between software engineering and
computer science?"
b. Ask the question "What do a software engineers do?" Add to the discussion by
talking about the various subcategories of software engineering (project
manager, requirements analyst, software architect, coder/programmer, quality
engineer, tester, etc.).
c. Ask the questions: "What is the SWEBOK?", "What is its purpose?", "What can it
be used for?" At this point, you may want to discuss the "configuration
management" question in more detail. Although, SCM is defined in the
SWEBOK reading assignment, the meaning and importance of terms like
"configuration" and "traceability" may not be clear to the student new to
computing. You could mention that the configuration of a system is the set of
items that are tracked and maintained during the development of a software
product (e.g., requirements document, design document, source code, test
plan). As a system is developed there may be changes in the configuration items
d. Ask the exercise question: "What are three approaches discussed in Gibbs'
article (“Software’s Chronic Crisis”) to help solve software development
problems? " Ask individuals in the class what they think of these approaches:
"Will they work?" "Why or why not?" "Do they have other ideas about what might
work to improve the development of software?"
e. On the question about the "tree house" and 20-story office building", ask a
volunteer to present her/his list to the class. Make the list the center of a class
discussion:
i) Ask other students to add to the list and make your own suggestions for
changes or additions.
ii) Then lead the class through a discussion of the parallel between the "tree
house vs office building" comparison and a "small student program vs
large commercial software product" comparison - discuss parallels for
each of the items listed in the exercise key: effort required, workers
required, worker qualifications, customer/users, design documentation,
check for quality.