| Professor | Daniel Stearns |
| Office | 14-222 |
| Office Hours | Posted on office door and on Web page |
| email address | dstearns@csc.calpoly.edu |
| Web URL | http://www.csc.calpoly.edu/~dstearns |
Course Objectives:
Prerequisites:
CSC 205
Required Textbooks
Hunt and Thomas, The Pragmatic Programmer , Addison-Wesley,
0-201-61622-X
McConnell, Software Project Survival Guide ,
Microsoft Press, 1-57231-621-7
DeMarco and Lister, Peopleware , Dorset House, 2nd Edition,
0-932633-43-9
Gold Fibre Design: Project Planner Notebook No. 20-817 to be
used for your status reports.
Course Description
CSC 206 covers the engineering of a computer software system;
its objective is to create a real project environment in a college class.
Projects are done by a team.
The team creates
an actual development environment with customers, release dates,
versions and formal configuration control.
The learning emphasis in CSC 206 is on the construction and testing of the
software product.
We will cover the following topics:
Software design
Software quality assurance and testing
Project management
Configuration control
Team Project
Teams will continue work on their CSC 205 project.
Each team may choose to do assigned project work or to create
their own project assignments.
All teams must perform a final acceptance test at the end of the
quarter.
Individual Notebook
Each student must keep a course notebook and bring the
notebook to every class meeting, both lecture and lab.
Every entry in the notebook must be
dated and clearly labeled.
The notebook must contain, at a minimum:
Formal Talk
Each student is required to give one formal talk (between 8 and 10 minutes) in
class or lab.
Each talk must teach something to the class: e.g. a tool related to your team project.
Talks are scheduled in advance; arrange for your talk date
and topic early in the quarter. All materials used during the
talk must be preapproved by Prof. Stearns.
Reading Motivator
As in CSC 205, each student may choose to answer reading questions in writing or
orally during lecture.
Students may be selected for oral questions randomly or (sometimes)
arbitrarily.
Unlike CSC 205, there are no R grades for those choosing the written option.
Examination
There will be one skill-based examination in the second half of the quarter.
The skills tested: software design, method specification and test case
design.
Release Criteria
Every team must clearly define their product release criteria early
in the quarter.
These release criteria from the heart of the final acceptance test plan
that will be (mostly) written by Professor Stearns and the user.
The final acceptance test plan is the contract that defines what the
team must accomplish in CSC 206.
Grading
Dings
A ding is a grade penalty assigned for unsatisfactory or late work;
each ding lowers your final course grade by one grade (e.g. B to B-)
It is sometimes possible to earn ding credits; if you acquire dings, ask
how you might earn ding credits.
R grading
If an assignment is R-graded, it will be returned if less than satisfactory.
You then have 1 week to improve the assignment, without any grading penalty.
Team Project
Your project work is the primary factor that determines
your course grade. Your grade is assigned on an individual basis;
evaluation is done as if you were a corporate employee.
There is no such thing as a team grade!
The CSC 206 project is a team effort. The project must be
completed (meet its release criteria)
before any team member is assigned a grade.
Exclusive of other considerations
(project work, notebook, formal talk ), every
student will earn a project grade of A, B, C or F.
This grade will
be assigned subjectively, based on leader evaluations, individually completed
project work and self-evaluations.
Any student who does not participate fully in
the team project will earn an F in CSC 206.
The final course grade is determined as follows:
|   | Teams doing assigned project work | Teams not doing assigned project work |
|---|---|---|
| Project Grade | 35% | 65% (primary input from team leader) |
| Reading Motivator | 15% | 15% |
| Assigned Project Work | 30% | 0% |
| Examination | 20% | 20% |
| Incomplete formal talk | Course grade = F | Course grade = F |
| Dings | course grade lowered 1 grade/ding | course grade lowered 1 grade/ding |
| Each lab absence | determined by team policy | determined by team policy |
| Unsuccessful Project Acceptance Test | Subjective by individual   best case is 3 dings   nominal case is 6 dings   worst case is F in course |
same as to the left |
Oral question grading
Each response will be graded from 0 - 10 points.
If you're absent when called on, you earn one course ding.
Notebook - Weekly
status reports.
Each missed or unsatisfactory status report lowers your final course
grade one grade (e.g. A to A-). Late status reports are not accepted.
Notebook - Personal Notes
One warning then 1 ding per week for missing or unsatisfactory notes.
Formal Talk
Formal talks are graded pass/fail. A failed talk can be redone
without penalty. If you fail to complete a satisfactory formal talk, your
course grade will be an F.
Late Work Policies
A software engineer has a responsibility to manage time effectively and
turn in work on time. Most deadlines are rarely absolute; if you are having
a problem, discuss it; this advice applies to the workplace as well as any
college class.
For CSC 206, the following late policies apply:
CSC 206 Completion Criteria
Students have not completed CSC 206 unless and until they
meet all of the following release criteria.
Communication
The best place to discuss the course is during lecture and laboratory
times. Email is a poor substitute for direct communication. If you
use email, put CSC 206 on the subject line to get best response time.
Class announcements, assignments and materials are available on the Web;
be sure to check them regularly.