CSE503 Required Work (Spring 2000)

Here is the basic overview of the required work in the class:

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.
Assignment #1 (due Monday 4/24/00)
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:
  1. 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?
  2. 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.)
  3. 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.)
  4. 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.
  5. Determine the primary open research questions in software design and architecture.
  6. Determine the primary open research questions in software requirements and specification.
  7. Determine the primary open research questions in software testing and quality assurance.
  8. Determine the primary open research questions in software tools and environments.
  9. <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.