Fall Semester 1996

    This was the first semester of SERG. To get us started, we decided to choose those topics that our members were most interested in learning about. We brainstormed for topics and voted over email. Below are the results of the vote, listed in order from the topics receiving the most votes to those receiving the least. This formed the order in which we covered the topics. As you might guess, this method of selection produced a hodge-podge set of readings, with little coherence across sessions.
     
6 VOTES   - design (OO design, Lampson's "rules of thumb", checkable redundancy)
     
5 VOTES   - software development processes (spiral model, waterfall model, CMM, software lifecycle, product line)
- risk assessment
- tools and environments
     
4 VOTES   - software development methods (Jackson structured design, various "Ayatollah methods", refinement, experience from the trenches)
- design/engineering of distributed software systems
     
3 VOTES   - reasoning about programs (assertions/invariants, specifications, models, analyses, testing)
- hazard analysis
- maintenance
- requirements (including various "-ilities")
- programming languages from a SE approach
- metrics (cost-estimation, COCOMO, bug prediction, function points)
     
2 VOTES   - data abstraction (theory of abstract data types, homomorphisms, inheritance/subtypes, encapsulation)
- safety
- management and process
- usability
- models
- evaluation (usability studies, reliability studies, performance evaluation -- how you can do empirical work sw eng)
- engineering in general (what is engineering, what do other discplines mean by it, how does engineering work/evolve, role of failure)
     
1 VOTE   - software architectures
- privacy and protection
- current component technology (Corba, OLE, ...)
     
0 VOTES   - documentation

[DeLine 02/20/97]