CSC 402 - Requirements Engineering - Fall 2005

    CPE 402 General Course Administration and Syllabus Information. Note that this is loosely based on an old version of the course and will be modified in the first few weeks to match any changed circumstances and our current customer.


NOTE:
There are many links in the syllabus and related documents; you must follow those links to thoroughly understand all course requirements.

Course Objective:
To learn skills required to produce and maintain a high-quality software product on time and within budget.  This is the first in a 3 course (academic year long) sequence.  It is generally assumed that the student plans to take all three courses in the sequence in one year. 

Prerequisites:
Permission of instructor.

Course Description
Software requirements elicitation, analysis and documentation. Team process infrastructure and resource estimation to support appropriate levels of quality. Software architectural design.

Course Tools
The software engineering profession is rife with tools; there are literally thousands of tools available to [supposedly] help software development. In CSC 402, the focus is placed on process - not tools. The tools we may use are:

Group Project
All of the work in CSC402 is connected to a three term (one year) project. You will work in a group to carry out each phase of the project.

The project itself will have to meet standards of the Instructor, the Customer and the 405 Instructor.  General project standards (to be updated) are here: Overall Project Standards

2 Minute Talks
Each student is required to give at least one 2 minute talk in class during the quarter. Each talk must discuss something related to CSC 402. Talks will be scheduled on a first-come first-serve basis. You must stand and speak without notes or slides. Current events and anecdotes from industrial experience are particularly interesting. The Jackson text has many short sections good for such a talk.

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.

Project Journal
Each individual is required to keep a journal and bring it to every class meeting. Every entry in the notebook must be dated and clearly labeled. The major objectives of the notebook are writing practice and engineering experience; write every entry in your own words. The notebook must contain, at a minimum:

Examinations

TBD, though my plan is for a midterm and final. However, you will be asked to write a self-evaluation twice during the quarter.

Grading
All grading in CSC 402 is done in a "wholistic" manner.  You do not pass or fail on simple "numbers" and "numbers" mean no more than any other abstraction (a 50% is not necessarily an "F", neither is a 90% necessarily an "A").  The goal is for students to mature in software engineering (requirements engineering).  Look at definitions of this term.  It involves your ability to perform well in individual assignments, perform well as part of a team, to execute a rationally derived process to achieve a quality requirements document, and to actually produce a quality requirements document (defined throughout the course).  

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.  A prerequisite to earn an A is to accept and complete action items on your group deliverables.  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 group project.  You must perform as part of a team, this is paramount.

I expect each member of a well-run group to receive an A. You cannot receive a passing course grade until your portion of the project is completed satisfactorily. In addition, any deliverable document is not final (not graded) until it is signed by the client, each member of the group intending to continue in the 405 / 406 sequence, and the instructor.

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. Work may be returned until it reaches a professional standard. If substandard work is turned in toward the end of the quarter, all group members will earn a course grade of F.

Your course grade will also be affected by homework, the contents of your journal,  exams, weekly status reports, your 2 minute talks as follows:

You will be assigned a required laboratory meeting each week; each missed laboratory, without prior notification, will lower your course grade 3 grades. (e.g. A to B)

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 402, the following nominal late policies apply:

Plagiarism
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 groups.  Just cite sources of anything you have copied, summarized or discussed directly with another.  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.  When you find good ideas by other people, the best policy is to summarize other work in your own words and cite their work as the source for the principle you state.  Citing resources is not a sign of weakness of your own ideas, it is a sign that you can do research and build on others' work.

Communication
The best place to discuss the course is during lecture and laboratory times. Email is a poor substitute for direct communication and may not always be reliable. I do expect every student to obtain a Falcon account; all email will be addressed to that account. Note also that email is not very reliable for contacting the instructor.  If you use an address not in the calpoly.edu domain, my spam filter may eliminate your message.  Please use very clear subject lines like "CSC 402 student calling!"

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 groups. These rules are designed to help you work effectively in a group and to ensure that the project moves along during the quarter.
  1. Job Assignments
    Each person must have an assigned job in each phase. See the job list to ensure that you meet this requirement.

  2. Group Name and Logo
    It is important for each group 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 group.

  3. Group Meetings
    Each group meeting must be documented with a written meeting report . Handwritten reports on the form are acceptable. Meeting notes should be turned in each week at your group meeting. These meeting reports are especially important for those groups that experience difficulty completing the project.  Some member of the group will be tasked to scribe the report and archive them. 

  4. Deliverables
    Every deliverable must be professionally done; assume you are working for a corporation and are turning in something to your boss. Some specific requirements are:

  5. Status Reports
    Almost all managers require some kind of periodic status report. In this company, status reports are due, in your journal, 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).

  6. Laboratory Meeting
    Your group will be assigned one laboratory period each week to meet with the boss. Attendance at this meeting is mandatory! Bring all current group work even if it is in draft form. In addition, each individual must bring her journal to each class and laboratory period.

  7. Bad Words
    Don't use bad words in any context.  Please pay attention to this, generally do not use words of equivocation and ambiguity.  IF a sentence carries the same meaning (or becomes clearer) without an extra word or clause - leave it out! 

  8. Journal Review Due Dates
    Journal deliverables (e.g. status reports, readings) are due at the beginning of your group's first lab period after the assigned due date.


Last updated on 9/05