UWT/TCSS 360 Course Syllabus

Version 23 September 2002
  1. Overview
  2. Prerequisites
  3. Readings
  4. Support for students with disabilities
  5. Groupwork
  6. Coursework
  7. Quizes
  8. Participation
  9. Grading
  10. Code reuse and plagiarism
  11. Class email list
  12. Change Log

Overview

Developing software systems involves much more than coding. The objective of this course is to look at software development from a human and organizational perspective. We will thus look at the software development process, which seeks to bridge the gap between software clients and users, who typically have little computational knowledge, and system developers, who often begin a project with little knowledge of the domain content and organizational context in which their software will ultimately be used. We will also explore issues of professionalism and ethical behavior for software engineers. The principles discussed in this course will find practical expression in a term-length, group software project.

Specific topics include: models of the software lifecycle, requirements elicitation, system analysis and design, object and system modeling, validation and verification, software quality, and professional codes of ethics.

Prerequisites

Successful completion of TCSS 350 Managing Technical Teams and TCSS 343 Mathematical Principles of Computing II, are both required for entry into this course. These requirements will be rigorously enforced, and any students enrolled in this course without this prerequisite will be dropped unless he or she has received prior permission for a prerequisite waiver through the CSS program office.

Readings

The required text for the course is UML Distilled, 2nd edition, by Martin Fowler and Kendall Scott, Addison-Wesley, 2000, isbn 0-201-65783-X, and is available in the campus bookstore. You may be able to obtain it less expensively via the Internet. There is also a course pack of required papers, available in the campus copy center. Specific chapters will be assigned for particular class sessions, and will be indicated in the master course schedule. There will also be other required readings that are available via the Internet. Links to these readings and their assigned dates appear in the master course schedule, as well as in the course homepage. It is expected that you will do the assigned reading prior to coming to class on the date in which the reading is assigned. Finally, I have placed a number of Software Engineering texts on reserve in the library that some of you may find helpful as a supplement to the course text. Additional resources are also availabe via the UWT and UW system libraries, and via the Resources section of the course homepage.

Support for students with disabilities

If you would like to request academic accommodations due to a permanent or temporary physical, sensory, psychological/emotional or learning disability, please contact Lisa Tice, Coordinator for Disability Support Services (DSS). An appointment can be made through the front desk of Student Affairs (692-4400), by phoning Lisa directly at 692-4493 (voice), 692-4413 (TTY), or by e-mail (ltice@u.washington.edu). Appropriate accommodations are arranged after you've presented the required documentation of your disability to DSS, and you've conferred with the DSS Coordinator.

Groupwork

This course involves the specification, design, coding, testing, and documentation of a significant software project within a group. As indicated below, most of the course credit is assigned to the different aspects of this group project. Each group will meet outside of class on average between 2 to 4 hours weekly. The following are a minimal set of commitments that each student is expected to uphold:

  1. To meet weekly with your group at your regularly scheduled time; lack of attendance (considered to be missing more than one meeting) may result in your receiving a considerably lower grade than your groupmates on the project;
  2. To read your email at least once per day on Monday through Saturday (taking Sunday as a legitimate day to not be in contact) and to respond to any issues, questions, or requests from groupmates. Note that by default, email should be sent to everyone's UWNetID account; if a member would like groupmates to send email to any other account, this should be documented in one of the group's weekly reports.
  3. To make a good faith effort to meet with your group on an ad-hoc basis as needed;
  4. To treat your groupmates with respect in speech and manner so as to create an environment conducive to learning; being friends with or liking your groupmates is not the objective of the group experience, though it may enhance the experience -- the objective is to work effectively as a group regardless of the personal feelings that one has toward the other group members;
  5. To commit to perform a fair share of the group tasks on an individual basis;
  6. To carry out your work commitments in a timely manner;
  7. To uphold a high standard of quality in the work products that you bring to your group. You should complete a work product for presentation to your group at the same level of quality and quantity as if you were handing it in to the instructor;
  8. To hold your groupmates accountable for their work commitments, both in terms of quality and quantity;
  9. To post/distribute meeting minutes within 24 hours of the completion of the meeting if you are the minute taker;
  10. To inform your groupmates as far in advance as possible when you know you will be unable to attend a meeting;
  11. To take responsibility for contacting your group after a missed group meeting to determine what was discussed and what are your new responsibilities for the upcoming week;
  12. To provide timely information to a groupmate who has missed a group meeting concerning the missed meeting and the groupmate's new responsibilities;
  13. To contact the instructor immediately if any group member misses more than 2 meetings during the term. I will intervene in any case where a group member misses this number of meetings, but it is the group's responsibility to inform me of this.

If you believe that you are unable to meet these commitments due to external constraints, then please discuss this with the instructor immediately. This may result in your reducing some of your external commitments or deferring attendance in this course for a term in which you have fewer such constraints.

Coursework

The coursework involves a project, weekly group reports, and 3 quizes. The course grade is calculated as follows.

Description Final Grade %
Project
50%
Participation 20%
Quizes 20%
Weekly Reports 10%
Slight adjustments may be made to the coursework and the grade weights. The project is divided into a set of milestones, with the relative weight of each milestone specified in the project requirements page.

Quizes

Quizes will be given on the dates specified in the master course schedule. Each quiz will consist of one or more short problems, and will last 30" unless otherwise specified. Quizes are closed book unless otherwise specified. Quiz makeups will only be given by pre-arrangement or if there is an emergency, but only if I am contacted within 24 hours of the emergency. Each quiz will cover material from the classes and assigned readings since the previous quiz.

Participation

Participation will primarily be evaluated by your active participation in your group and undertaking the group commitments detailed above. Evidence for this grade will primarily be obtained from individual and mutual evaluations and weekly reports. Participation also includes your contributions to class sessions.

Grading

Each assignment will receive an integer score between 0 and 4, inclusive. Your final grade will be calculated by taking the weighted sum of grades on all work that you have handed in, and rounding to the closest 1/10th. That is, multiply each score that you receive by the weight of the assignment, add these together, then round to the nearest 0.1. The correspondence between numeric grades and letter grades (i.e., A, B, C, etc.) can be found in the UW University Handbook, v.4, Ch.11.

Here is a description of roughly what each numeric score means:

Due dates for each handin are indicated in the master course schedule. Each handin is to be handed in no later than the start of class on the specified due date. Unless indicated otherwise in the individual coursework descriptions, late handins will not be accepted. With due cause, exceptions to this policy will need to be negotiated with the instructor; emergency documentation may be required and/or late penalties may be accrued, depending upon the circumstances.

Code reuse and plagiarism

It is often necessary or desirable to reuse the code, ideas, algorithms, writings, or other creative work that others have written. I have developed a plagiarism guideline that defines plagiarism, how to properly cite the work of others in your own work, and specifically how this applies to the legitimate use of source code written by others. I have also written a collaboration guideline on what constitutes legitimate and illegitimate collaboration. It is expected that all students will read and follow these guidelines; violations of these policies may have severe consequences, as detailed in the UW Student Conduct Code

Class email list

Shortly after the start of the semester, I will establish a course mailing list for course-related discussion, to which everyone in the class will be a member. Information on the email list policy, and how to post to this list, are detailed in the Email section of the course homepage.


Change Log

changes an attribute x of type X: