Contents: outline, class schedule, readings, assignments.
Two 75 min lectures are scheduled each week for this
course according to the following time table.
| Day || Time || Location
| Tue, Thr || 13:40-14:55
|| E 575 |
Requests for changing grades for an assignment are accepted only in
writing. Fill out this form
your marked assignment to it, and
deliver them to your instructor no later than one week after your
assignment was marked and returned to you.
Schedule, Study guide, Readings
Most topics studied come with a short study guide, a list of
(exam) questions that you should reflect on. Use these questions to
prepare for the final exam.
Items related to the project are highlighted in
| Week || Dates
|| Resources |
|| J 8
|| J 13,15
|| Introduction (c'ed)
Project management, introduction
Project teams formed (J13)
Project communication: [slides]
|| J 20,22
|| Communication (c'ed)
Requirements elicitation (J22)
|| J 27,29
|| Introduction to UML
Feasibility study document due (J29)
|| F 3,5
|| Requirements elicitation
UML class, statechart, interaction diagrams
|| F 10,12
|| UML diagrams (c'ed)
Demo Prototype 1 (Feb 12)
Assignment 1 due (Feb 10)
|| F 24,26
|| Process models
Architecture or system design
Assignment 2 due (Feb 24)
|| M 3,5
|| Requirements document due (F26)
|| M 10,12
|| Architecture (c'ed)
Detailed design and metrics
|| M 17,19
|| M 24,26
|| System and object design document (M24)
|| M 31, A 2
|| A 7,9
|| Final project demo (A7)
Project presentation, project report document due (A9)
|| A 14,16
|| Paper presentations (A14,15)
Papers for presentations
Each student is responsible for a 15 min presentation from one of
the papers listed below. The presentations will take place in the
last week of classes, on April 14 and 16.
Choosing papers: choose among the papers without named presenters.
Order of presentations: you
will present the papers in the order given on the course web
page. First 5 on April 14, the rest on April 16.
- Software Development: An Outsider's View, Kyle Eischen, 2002.
- gives an interesting discussion on what software development means
and balances the craft vs science views.
Presenter: Lizhao He
- Exploratory testing explained, Bach, 2003.
- describes an "agile" testing approach.
- Ten unmyths of project estimation, P. Armour, 2002
- a pragmatic article that discusses the practical difficulties of
project estimation and challenges some fundamental assumptions in this
Presenter: Henry Chung
- How to design practical test cases, T. Yamaura, 1998
- a how-to article on test-case design by a reputable author, known
for delivering software with very few faults.
Presenter: Michael Karst
- Software debugging, testing, and verification, B. Hailpern and
P. Santhanam, 2002
- a general article on verification and validation and one of the few
articles that addresses both testing and static verification
Presenter: Devin Forbes
- Get ready for agile methods, with care, B. Boehm, 2002
- a thoughtful critique of agile methods that discusses their
strengths and weaknesses; written by a very experienced software
Presenter: Edward Moloughney
- Turning software into a service, Turner et al., 2003
- an overview paper on the development of service oriented software
systems (systems like cheaptickets.com); it is focuesd on design
rather than development processes.
Presenter: Gezim Hoxha
- First Principles of Interaction Design:
- a collection of recommendations on designing user interfaces, sorted
alphabetically. For a more structured and rigorous introduction, take
Kevin's HCI course.
Presenter: Tom Rutheford
- All I Really Need to Know about Pair Programming I Learned In
Kindergarten, Williams, 2000.
- a practical and easy to read paper discussing pair programming (an agile development
technique) from the perspective of the developers.
Presenter: Mitchell Roberts
- Essence of CMM, J. Bamberger, 1997.
- a short and easy discussion on a software engineering standard
called the "Capability Maturity Model" which also gives insight into
some of the most frequent challenges that software companies are
facing. CMM was replaced by CMMI, but we are only interested in the
main concepts behind CMM(I). Check out the
article on "wired.com" about 10 famous software
- Ariane 5