S

.

O

.

S

Student Originated Software
Program Prospectus
Fall, Winter, Spring 1999-2000

Even the best efforts of computer users and software engineers have not alleviated critical problems with software development: most software is late, over-budget, socially irresponsible, unable to perform according to user needs, or some combination of these. The "software engineering" problem is not just a matter of technology, but a problem of organization, psychology, artistic design, group dynamics and culture. In addition, considerable knowledge and understanding of the application area is required to design and implement a successful system. The Student Originated Software program addresses the above issues and prepares students to face these problems. Students work in groups to identify a software project, prepare market research and feasibility studies for that project, identify a "real world" client (or clients) and write a software system. Under the guidance of faculty and working with users, students will write system specifications, conduct systems analysis and design, implementation, and product testing and evaluation. They will also write user manuals and system maintenance plans, and (where appropriate) conduct or plan system installation and user training. Students will evaluate their software according to technical, legal and social criteria.

With three to five other students, each student will work on a year-long software project for an identified real-world customer. Most teams will follow a development schedule similar to the following: 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 begin writing the system. Spring: complete programming, user's guides, system evaluation, maintenance plans and installation. 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). About 18 credits (out of 48) for project work.

The program not only teaches skills and gives experience in software engineering and computer science, but also examines the role of computer science in the larger world of computing, and the nature of computing professions in the larger realm of working. Thus, academic components of the program are designed to enhance both the student's ability to participate in a software development effort and his or her understanding of the world of software and computing.

While writing software programs has traditionally been the domain of computer programmers, 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. Furthermore, as application development tools become more powerful, domain experts take a larger and larger role in implementation. This program will thus accept two types of students: computer science students and students with domain area expertise in the sciences or arts. Some teams will bring together students from computer science and other areas, others will consist of only computer science students or no computer science students (because software tools are now so sophisticated that users can often develop their own systems without programming). Both "tracks" will study software engineering concepts, but the computer science students will study advanced topics in computer science (object-oriented programming and databases). Credit will be distributed among: systems analysis and design, software tools and programming, special topics (e.g., object-oriented systems and databases, computer graphics or user interface design).

In the fall, everyone will study object-oriented analysis and design and an introduction to software engineering through a case study. For seminar, we will study the nature of software systems -- history, market, culture, and discipline. All students must take the program full time in the fall, except a few part-time students who work full time. In winter, we will likely have a technical seminar on persistent and domain-specific languages and a programming component on Computer Graphics. In spring, seminar will probably offer perspectives on jobs and working, giving opportunities to examine the software project experience within a broader context of what it means and what it's like to work in the industry. The technical component will focus on distributed components such as COM and CORBA.

Planned Credit Distribution

Fall

Winter

Spring

4: Object Oriented Programming

4: Computer Graphics

4: Distributed Component Systems (CORBA, COM, etc.)

2: OO Analysis/Design & SE Case Study4: Software Engineering -- Concepts, CHI

4: Seminar (Persistent and Domain-Specific Programming Languages)

4: Seminar (Working in the field)

4: History and technology of software systems

8: Project: Design & Implementation

8: Project Implementation & Testing

Program Faculty

Judy Cushing: Judy came to Evergreen anxious to teach software development within the context of the liberal arts. Before Evergreen, she worked in a variety of software development and support positions for industry (IBM, Texas Instruments, start up firms), Cornell University and Universite de Bordeaux, University of Texas Health Science Center at Dallas, the U.S. Public Health Service and several small startups. Recently, she was on leave from Evergreen, at the Oregon Graduate Institute in Portland working scientific database research with David Maier. She continues work in that area.
LAB I, 3006, (after September 20, 2065) 866-6000 x 6652, judyc@evergreen.edu.

Dave Meyers: Dave's background includes experience in biochemistry and biology as well as computer science. After completing his PhD in computer science at the University of Washington, he worked with the Intelligent Transportation Systems research group at the University of Washington and later with a start-up company before coming to Evergreen.
LIB 2065, 866-6000 x5056, meyersd@evergreen.edu.

Important!

To register, you must have a faculty signature. To get one, complete the SOS Student Questionnaire and return it to:

Dave Meyers (at the spring academic fair, and prior to June 15)
Judy Cushing (during the summer)

After September 15, please bring the questionnaire to the fall academic fair.