|
There
will be at least three "standard" homework assignments.
Each of these will be worth 10% of the total grade in the class. You
are permitted to work on these assignments in pairs, if you wish: if you
do so, each person is expected to have full knowledge of every piece of
the submitted work.
|
|
There
will be extensive readings; your understanding of these will not be tested
directly (although occasionally, perhaps, a homework question will depend
on some readings), but you are still responsible for the material. |
|
There
will be a take home final examination, which will be distributed on
Wednesday May 31, 2000, in class. You may use any three consecutive
hours between then and noon on Wednesday, June 7, 2000, to take the
exam. It will be worth 25% of the total grade in the class.
The exam is open book, open note, open everything except for any other
human being. |
|
The
remainder of the work will be small group projects of varying types and
sizes, which I will decide on for certain once the class size has settled
down. I expect one such project to compare eXtreme programming to
more classic waterfall-style techniques.
|
Project
#1 (assigned Friday 3/31/00, due Friday 4/7/00, worth 10% of the
course grade)
|
Groups
of two or three students should spend the week developing a
cogent and concise web page (with contents and appropriate
links) on one of the topics listed below. (Some of the
topics are extremely difficult, and I don't expect complete
answers to them, of course.) |
|
No
two groups may select the same topic. |
|
Each
group will make a brief (about 10 minutes, including
questions) presentation on 4/7/00 to the whole class on their
material. |
|
Topics:
- Estimate the distribution of program sizes for
commercial products. That is, what percentage of
commercial products are (say) 10 KLOC, 100 KLOC, 1 MLOC,
etc?
- Determine the current best known data about the
approximate number of errors found in every 1000 lines of
executable source code during development of a software
system. (Some data are published on this in the
paper "Cleanroom software engineering" by Mills,
Dyer and Linger in IEEE Software, September 1987.)
- Determine the current best known data about the number
of lines of executable source code that are typically
produced per day per person (averaged over the entire
period of development). (Some data are published on
this in the book Software Engineering Economics by
Barry Boehm.)
- Determine the current best known data about the
percentage of software projects that are considered to be
successfully completed; ideally, compare these data to
those for other engineering disciplines.
- Determine the primary open research questions in
software design and architecture.
- Determine the primary open research questions in
software requirements and specification.
- Determine the primary open research questions in
software testing and quality assurance.
- Determine the primary open research questions in
software tools and environments.
- <insert your topic here, with permission of
instructor>
|
|
|
Project
#2 (due Friday 4/28/00, worth 20% of the course grade)
|
These
have been individually assigned |
|
Ideally,
the result is in the form of a web page, but this is not
required. |
|
The
intended scope is substantial. |
|
|
Assignment
#2 (due Monday 5/15/00) |
|
Assignment
#3/Project #3 (combined), due Monday 6/5/00. |
|