Assistance by Ron Burback (Burback@cs.stanford.edu), Louis Perrochon (email@example.com) and John Kenney (firstname.lastname@example.org)
The objective of CS446 is to gain insights into an area of computing that presents major problems and is short on science. To this end we combine concepts from software engineering, databses, and artificial intelligence.
The Rapide Tutorial is now available on-line.
We have updated this on-line announcement and the brief scheduile, and have adjusted the full schedule to the middle of November. We will continue to meet in Gilbert 119 unless we find another more sociable and adequate room.
Sorry for the late changes, we are trying to maximize the benefit / cost ratio for all of us.
Wednesday 3:00-4:10, starting Sept.24th in Gilbert 119
(Gilbert is the Biology bldg. next door to Gates, room 119 is at the corner nearest to Serra street and Gates, on the ground floor; it has an outside entrance).
Brief schedule updated Sep.29 for planning.
Detailed schedule, updated to reflect
changes made Sept.19 up to the middle of November.
This schedule is dynamic and will be frequently updated. The detailed schedule also includes deadlines, pointers to class notes, view-graphs used in class, on-line references, and related events.
Related events: The Friday 3:15-4:30 CS545
database seminar series in Gates B12 (this quarter focusing on
Format:Small (graduate mainly) seminar. Undergraduate attendance by consent, based on prior software experience. Course credit is 3 Units.
Format:Readings and reports by participants. Some presentations by outside, non-academic experts. Extensive time for critique of read and presented material. Discussion of metrics for software effectiveness. Design of an experiment to adapting an existing large software system to another task. Preparation of a report to guide further work and research. Creation of critically annotated bibliography.
Presentations once a week. Participation in a SW research group meeting at least once a week for discussion, analysis, synthesis, generalization. Notes for session to be posted on Web.
Prerequisites: Prior software experience, graduate standing or consent of instructor.
Syllabus: The Phases of Software: Specification, Design, Coding and Acquisition, Integration, Operational Test, Maintenance, Adaptation, and Reuse. Allocation of System Function to Hardware versus Software. Distribution of functions among software creators and consumers. Waterfall, spiral, and domain-specific models. Adaptation and reuse of software. Allocation of system functions and responsibilities. Infrastructure, services, business and consumer responsibilities. Physical distribution, interaction, and feedback. Contributions and limits of object, modular, mega-programming, and other paradigms. Formal design and maintenance models. Available language facilities and requirements. Evaluation and metrics. Effects on business practice and employment. New models for software businesses. Future directions, especially with respect to distributed and federated software.
Textbook: Bruce Blum: Software Engineering, A Holistic View; Oxford 1992. Provides basic definitiona and a philosophical overview by a person with much experience.
Other Course Material: Bibliography from a wide variety of sources, including
evaluations of successful and failed large software projects.
Presentations from practioners. Papers and articles, various
Also check the 1996-1997 schedule and
the 1995-1996 schedule!
Final reports are due Dec.6; hand them to Marianne Siroker, MJH
436, or send by email to Gio. No final exam.
Graded reports will be returned the first week of the Winter Quarter.
Mailing List: To get onto the mailing list of this class, send e-mail to email@example.com with an empty subject and a single line "subscribe cs446".