| Routing/Approval: (chair’s initials/date) |
Department |
Division |
APC |
Senate |
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