Student Originated Software – Program Prospectus

Fall, Winter, Spring 2005-2006

Mon. / Tue. / Wed. / Thurs. / Friday
10-12 OOP

Sem2 B2107

/ 9-11:30 OOAD
Sem2 B2107 / 9-10 Judy Office Hr
10-12 OOP
LH 03 / 5pm
  1. Seminar Paper due (alternate weeks)
  2. OOP pgm’g ass’t due

1-3 Seminar
Sem2 E 1105 / 1-3OOAD
Sem2 C 2109 / 11:30-12:30 Project Workshop & Lunch
Sem2 B2107 / 1-4 Open Lab ACC Lib 2004
3-5 OOP Closed Lab

ACC Lib 2004

/ 5pm OOAD
Ass’t Due

The best efforts of software clients and engineers have not alleviated problems with software development: most software is late, over-budget, unable to perform according to user needs, or some combination of these. Why is the “software engineering” problem so hard to solve? It is not just a matter of technology, but of organization, psychology, aesthetic design, group dynamics, and culture. In addition, considerable knowledge and understanding of the application (domain) area is required to design and implement a successful system. The Student Originated Software program addresses these issues and prepares students who already have learned the fundamentals of computer science (Data to Information or equivalent) to face these problems. Students work in groups, some in interdisciplinary teams, to identify a software project, prepare market research and feasibility studies for that project, identify a "real world" client (or clients), and design and implement a software system. Under the guidance of faculty and working with users, students will write need assessments and specifications, conduct systems analysis and design, implement the system, and test it. They will also write user documentation and system maintenance plans, and (where appropriate) conduct or plan system deployment. Students will also evaluate their software according to technical, legal and social criteria. Most teams will follow a development schedule as follows: Fall: identify a viable project and "customer", perform a preliminary systems analysis and feasibility study. Winter: complete a more extensive systems analysis and design, and deliver a proof of concept. Spring: complete the project. Some teams will do more programming than the above scenario suggests (e.g., for a project already designed by the customer); others less (e.g., for a project consisting of software review and selection).

The program not only teaches skills and gives experience in software engineering (aka “programming in the large” and computer science, but also examines the role of computer science “in the large”, i.e., how it relates to other professions and society at large. This is because writing software systems is intrinsically a multi-disciplinary team effort involving users of the proposed software, human-computer interface design experts (psychologists and artists), experts in the application domain, computer scientists and computer programmers – while writing programs has traditionally been the domain of computer programmers. Furthermore, as application development tools become more powerful, domain experts play a larger and larger role in implementation. Thus, the program will thus accept some students with domain area expertise in the sciences or arts who also have experience writing programs and using sophisticated applications.

Likely Credit Distribution

Fall / Winter / Spring
4: OOP
4: OOAD
2: SE Case Study / 4: Database Systems
or Project Team Sub-Contract / Tentative
4: User Interface Design
or 4: Project Team ‘Contract’
4: Seminar: Software &
The Software Industry / 4: Seminar (TBA: Likely
Best Papers in SE and CS) / 4: PLATO Lecture & Seminar
Digital Government
2: Project Proposal &
Feasibility Study / 8: Project: Design &
Implementation / 8: Project: Implementation,
Evaluation & Testing
Fall Quarter Books
  • Java:Sahni, Data Structures in Java; and a Java reference.
  • OOAD: Fowler, UML Distilled.
  • Seminar: HAL's Legacy, Mythical Man Month, Things That Make Us Smart. Digital Play. Pair Programming Illuminated. Additional readings as assigned.
Program Faculty : Judy Cushing LAB I, 1003 867-6652, .

Sherri Shulman: LAB I, 1024, 867-6721, .

To register, complete the program questionnaire, and email to Judy

Acadfair.doc1 of 1May 2005

judycRev. 10/19/2018