| 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 |
Prerequisites:
CSC 103 is prerequisite for this course;
it will be checked and you will be dropped from
CSC 205 if you have not completed CSC 103.
Required Course Books (none are textbooks)
If you decide to order your books from Amazon, please follow the
links below to do so; it will benefit the computer science department
scholarship fund.
Software Project Survival Guide by McConnell (Required)Course DescriptionSoftware Requirements (2nd Edition) by Wiegers (Required)
Gold Fibre Design: Project Planner Notebook No. 20-817 to be used for your status reports.
The result is a whole new set of problems that run in parallel with the technical effort; CSC 205/CSC 206 are about that new set of problems. To help solve those problems, software projects are divided into steps called a software life cycle.
Requirements Engineering (CSC 205)
In this phase, you come to understand the problem and write a software
requirements specification that explains WHAT needs to be accomplished. The key word WHAT says everything; requirements engineers discuss WHAT you will do but refrain from describing HOW you will do it.
User Interface Design (CSC 205)
This is where you design the user interface by describing the inputs and outputs to the proposed system. A UI design can be shown in three possible ways:
Implementation (CSC 206)
You write and debug the code in this phase.
Pervasive Phases
Pervasive phases are continually active throughout the software development cycle; they start when a project begins and end when the project ends.
Verification - Are we building the project right?
Validation - Are we building the right project?
Team Project
Most of the work in CSC205 is connected to one large project.
You will work in a team to carry out each phase of the project. You will only be required to implement a small portion of the code.
Reading Motivators
There is much to read in CSC 205. Your instructor believes he
must provide strong motivation to do the course readings.
Accordingly, each of you must
choose one method of reading motivation as follows:
Two Minute Talks
Note that you can avoid the written answers to reading questions if
you are willing
to give additional extemporaneous two minute talks on the
course readings.
In this case, you will be asked to answer, without prior notice, questions
about the course readings for the week; there is no limit to the number
of talks if you choose this option. You can expect to be called on
several times during the quarter.
Homework
Individual Notebook
Grading
The project is the cornerstone of this course and is the primary basis of
your course grade. The project grade is assigned on an individual basis;
each student will earn a project grade of A, B or F assigned subjectively.
The best way to earn an A is to accept and complete action items on your
team deliverables.
I expect each member of a well-run team to receive an A. You cannot receive a course grade until your portion of the project is completed satisfactorily.
The project evaluation is done as if you were a corporate employee.
Each project deliverable must be completed in a professional way; when finished the deliverable will be assigned a grade of 4 or higher. Work will always be returned until it reaches an acceptable standard.
If substandard work (< 4) is turned in toward the end of the quarter, all team members will earn a course grade of F.
Dings
Your course grade will also be affected by other course work as follows:
You will be assigned a required laboratory meeting each week; each missed laboratory, without prior notification, will cost you 3 dings.
(e.g. A to B)
Late Work Policies
Plagiarism
Communication
Each student is required to give two 2-minute talks in class during
the quarter. Each talk must discuss something related to CSC 205. Talks
will be scheduled on a first-come first-serve basis. You must
stand and speak without notes or slides. Current events
discussions are particularly encouraged.
You will be given two or three homework assignments during the quarter.
Homework assignments may be assigned to an individual or team. In either
case, homeworks must be completed successfully to pass CSC 205.
Each individual is required to keep a course notebook and bring the
notebook to every class meeting. Every entry in the notebook must be
dated and clearly labeled. The major objective of the notebook is
writing practice; write every entry in your own words.
Notes are collected sporadically - be sure you always have it with you.
The notebook must contain, at a minimum:
(note you can skip this requirement with two minute talks)
Examinations
There are no examinations in CSC 205; but you must plan to attend the
final examination period.
At your instructor's discretion, you may be asked to do an
oral debriefing/exam during the final.
In addition, you are required to write a self-evaluation at the end of the quarter.
All grading in CSC 205 is done using the modified
Writing Proficiency Exam Grading System .
Coat-tail hanging or non-performance by an individual will result in a course grade of F. You are required to participate fully in your team project.
A ding is a penalty for poor or late work. Its intent is to mimic most
corporate supervisors who expect nothing less than professional work at
all times.
One ding will cost lower your overall course grade by one grade (eg.
A to A-)
Team leaders may, if they wish, be given the authority to assign dings; be
sure you are clear if your team leader has such authority.
It is possible to acquire ding credits through extra work; such credits
are negotiated on an individual or team-by-team basis.
A talk shorter than 2 minutes.
Use of notes or slides without prior permission.
Use of the words "basically" or "like".
Insufficient content or substance.
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 205, the following nominal late policies apply:
A late homework assignment will cost you three dings.
A late homework includes a deliverable that lacks substantive work.
Unacceptable homework will be returned for resubmittal until it
receives a grade of 4 or above.
The first resubmittal may be turned in, without penalty,
one week after it is returned. Failure to resubmit work on time or
subsequent resubmittals will be penalized one ding per week.
A missing status report cost you one ding; late status reports
are not accepted.
Missed reading questions will cost you one ding.
If your reading questions receive an R, you must resubmit them
at the next lecture.
The first resubmit does not result in a ding; each subsequent R costs
you one ding.
Project deliverables must be turned in on time, even if incomplete.
If a significant part of a deliverable is missing, the individual responsible
will be assessed three dings. Deliverables with a grade less
than 4 may be resubmitted, without penalty, up to one week later.
Failure to resubmit work or subsequent resubmittals will be penalized
one ding per week or partial week.
Note: depending on circumstances, project deliverable penalties are assessed on an individual or team basis. If your team has a non-performer, turn in
your deliverables on-time with an accurate credits section. The identity
of the non-performer will be crystal clear.
All work submitted is to be your own. Cooperative study and mutual aid are healthy learning methods and are strongly encouraged. You are especially encouraged to work with other teams. 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. Plagiarism will result in a course grade of F.
The best place to discuss the course is during class times or office hours.
Email is a poor substitute for direct communication because it is a
one-way channel.
It is much better to turn in a printed document.
Do not send attachments unless specifically directed to do so.
Send all email with CSC 205
in the subject line to receive priority reading.
All homework and project assignments will be placed on the Web and
announced in lecture. Most class materials are available on the Web;
be sure to check them regularly.
Course Rules
A large part of this course is learning how to work in teams. These rules are designed to help you work effectively in a team and to ensure that the project moves along during the quarter.
All writing, including documents, code, method names, specifications and comments must use active voice transitive verbs with direct objects.
Each person must have an assigned job in each phase. See the
job list to ensure that you meet this requirement.
It is important for each team to have an identity; part of that identity is established by having a name and logo. Both must be clearly visible on everything handed in by the team.
Every deliverable must be professionally done; assume you are working for a corporation and are submitting a deliverable to your boss. Some specific requirements are:
All resubmitted work must be accompanied by any previous submission(s).
The previous submission must be intact as it was returned.
Almost all managers require some kind of periodic status report. In this company, status reports are due, in your notebook, at your assigned laboratory meeting. Status reports will be primarily graded on the quality of the writing and adherence to format; the grade can drastically affect your course grade (see grading).
Your team will be assigned one laboratory period each week to meet with the boss. Attendance at this meeting is mandatory! Bring all current team work even if it is in draft form.
In addition, each individual must bring her notebook to each
laboratory period.
Don't use bad words in any context.
Notebook deliverables (e.g. status reports, readings) are due
at the beginning of your team's first lab period after the
assigned due date.
Don't whine or complain about your colleagues. A team can only be effective if members constantly support each other.
Last updated on 1/2/05