CSC 206-03
Software Engineering II
Spring 2005

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


Note:
There are many links in this syllabus; you must follow those links on the WWW to thoroughly understand all course requirements.

Course Objectives:

  1. To learn the skills required to design and implement a software product on time and within budget.
  2. To learn how to properly test a software product.
  3. To learn configuration and release management skills.

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

Assigned Project Work (for teams that choose to do assignments)
Some assigned projects are graded individually; some as a team.
Some assigned projects are R-graded; some are not.
The grading policy will be clearly stated on each assigned project.

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.

  1. Team project release criteria successfully completed.
  2. Formal talk successfully completed. (grade > 3)
  3. Notebook successfully completed. (grade > 3)
Plagiarism
All individual work submitted must be your own. Cooperative study and mutual aid are healthy learning methods and are strongly encouraged. It is cheating to copy someone's work or allow someone to copy your work. It is cheating to copy material from a publication without giving credit. Cheating will result in a course grade of F.

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.


Last updated on 3/27/05