Routing/Approval:
(chair’s initials/date)

                    
Department

                    
Division

                    
APC

                    
Senate

PROPOSAL FOR A NEW COURSE

Date of proposal: 4/10/06

Title: Software Engineering

Department and Course Number: CSCI 345

Crosslisted?   Yes   No X     If yes, crosslisting department and number:

Credit: 1/2   Hours/week: 6 in one module

One-time:     or    Permanent Offering: X

Instructor: Darrah Chavey

How will this course be taught, given present staffing, without creating a course overload?

This course proposal is part of a comprehensive change to the computer science curriculum. The course load under this proposal will not create an overload.

Are there any course fees? If so, specify what the course fees are intended to cover.

None

Prerequisite(s):

Computer Science 341

Catalog description (50-150 words, please):

If applicable, include the following language at the end:  “May be repeated for credit if topic is different.”

Covers techniques in the creation of software packages with particular emphasis on the use of tools to facilitate team-built projects. This includes programming techniques to support such projects, project management, testing methodologies and tools, and techniques for validation of software components. Particular emphasis is placed on modern software development models, such as extreme programming and related models. (LW)

Additional course content description (aims, purposes, etc.) beyond the catalog description:

As software tools and practices change, the course content will also change. The intent is to help students develop the skills necessary to participate in modern team programming situations. This includes the concepts and principles of the separation of labor, "programming by contract" with other members of the team, and continuous testing and refactoring of existing code. It also includes team interaction basics and the inter-personal skills necessary to make such teamwork productive. The particular tools used will evolve along with common industrial practices, and the practices in favor by the open source movement. At present, these tools include Ant, JUnit, JavaDoc, XDoclet, and CVS. Substantial emphasis is placed on paired programming.

The lettered/numbered lines below come from CC2001. Underlined items are considered essential to a basic curriculum in computer science. Numbers in () indicate minimum number of hours to cover in a lecture style according to CC2001.
Items with a * indicate we plan to cover them in multiple courses.
Other lines include additional topics we plan to cover or clarification of topics we will cover within a CC2001 topic.

Course goals/objectives/outcomes: 

Course structure. Check all that apply:

 Lecture/Discussion X      Studio     Lab/Workshop  X   Other (Specify)

If current library or equipment holdings are inadequate, estimate the cost of additional holdings required.

$200-$400

Please attach names of a proposed text and/or core readings.

Form revised 11/04