Computer Science 320

Clear plastic binder

Course Times

Tue, Thu: 1:00-2:15 CMPS 140
Wed: 1:25-2:15 CMPS 140

Instructor

David Fisher
CMPS 360
545-4852
dfisher@cs.umass.edu

Staff

Links

Course Objectives

In this course, students learn and gain practical experience with software engineering principles and techniques. The practical experience centers on a semester-long, team project in which a software development project is carried through the various stages of the software lifecycle. Topics in this course include requirements analysis, specification, design, abstraction, programming style, testing, maintenance and software project management. Particular emphasis is placed on designing and developing maintainable software and on the use of object-oriented techniques. Use of the computer is required.

Term Project

The focus of this course is the term project, in which the entire class works as a group to produce a software system for a customer. This gives students an opportunity to work in teams, to deal with a variety of stakeholders, and to experience the various stages in a systematic software development activity. Students will be divided into teams. Each team will then be responsible for the development of one component of the final course product.

The development of the product is to be divided into different phases, corresponding to requirements specification, architecture specification, design, coding, and integration. At the end of each phase, each team will make a verbal, in-class presentation of their work to the customer and the rest of the class, and will submit a written document. Each team member will be required to make at least one verbal presentation at some time during the semester.

Each team's performance will be evaluated by the team project manager, a 529 student, and by the professor. These evaluations will be the basis for the project grade assigned to the team.

Peer Evaluation

The student's grade on the project will be based upon the team grade, but will also be strongly influenced by evaluations given by other members of the team. Students who are evaluated by their teammates as having contributed significantly more to the work of the team may receive project grades higher than that assigned to the team. Conversely, students who are evaluated as having contributed significantly less to the work of the team may receive project grades that are lower than that assigned to the team.

In addition, students will be asked to evaluate the work of their team manager, and these evaluations will be used to help determine the grade of the project manager in CMPSCI 529.

Examinations

You should expect that there will be aperiodic in class quizzes. They will not be announced. There will be no final examination and no midterm.

Grading

The student's final course grade will be based primarily upon the student's project grade. A portion will be based on the quiz performance. Class attendance, presentations, and participation will also be taken into consideration in determining the final grade in the course.

Course Policies

You are expected to attend class. The official means of communication for this course will be in-class announcements. Missing class is not an excuse for failure to act as required by these announcements. In addition, announcements related to issues that arise between class meetings will be made electronically. In particular, clarifications of assignments, changes to due dates, etc. may be reported to you via postings to the course web site and/or electronic mail. It is your responsibility to log in and check the course web site, and your mail, regularly.

IMPORTANT

The work submitted for grading must be your own work or, in the case of the term project, the work of your team as part of a joint effort. Submission of work that is not your own or your team's is considered academic dishonesty. Computer Science department policy specifies that the penalty for academic dishonesty is

  1. a final course grade of `F', and
  2. possible referral to the Academic Dishonesty Committee.

You may be using copyright-protected software in the laboratory. Federal law and license agreements between the University and various software producers prohibit copying this software for any purpose. Such activity will be regarded as a form of academic dishonesty and will be dealt with as such.

An incomplete will usually be given only when documented, exceptional circumstances beyond your control have made it impossible to complete the assigned work before the end of the semester. It is your responsibility to contact the professor regarding any such problems as those circumstances develop. Note that the general rules of the University allow an incomplete only if most of the work has been completed before the end of the semester so that the incomplete can be finished within the first four weeks of the immediately following semester.