Next: Course Outline
Up: Course Handout-CSC 441
Previous: Research Paper Topics
Course Policies: CSC 441
Mr. Dennis W. Butler
dbutler@galaxy.csc.calpoly.edu
Bldg. 14, Room 203
756-2921
Course Description
Continuation of the software lifecycle. Methods and tools
for the implementation, integration, testing and maintenance
of large, complex software systems. Program development and
test environments. Group laboratory project.
Course Objectives
You will be able to select an appropriate design strategy and
apply it to a particular software development project. You
will be able to develop software test strategies and document
them in test plans and procedures. You will be able to
describe the maintenance phase of the software lifecycle and
prescribe approaches for performing maintenance effectively.
You will be able to investigate a technical topic and
coherently discuss it in written and oral form.
Class Activities
I will assess your performance based on five factors: two
tests, a paper, a lab assignment, participation and an oral
presentation. The table below explains the specific point
assignments for each factor.
| Component | Number | Points each |
Total Points |
| Tests | 2 | 100 |
200 |
| Paper | 1 | 200 |
200 |
| Presentation | 1 |
100 | 100 |
| Labs | 1 | 300 |
300 |
| Participation | 1 |
200 | 200 |
Total | | | 1,000 |
Tests
We will have a midterm and a final examination. I will use a
combination of multiple choice, short answer and essay
questions.
Paper
Each of you will prepare a paper which will examine a
particular facet of software engineering in detail.
Students always ask "How long should the paper be?" You
should reject this mechanistic, minimalist approach.
Instead, think of this as an opportunity to develop a special
expertise in some aspect of your profession. Your paper
should be long enough to thoroughly cover the topic, no more
or less. I cannot, a priori, set a limit on the length of
the papers.
We will use the typesetting program called LaTeX to produce
our papers. I want to use this system to facilitate
assembling the papers so we can all have a copy. I will
assemble your writing into a book, please prepend all the
files required for your paper with your initials (three
letters) and an underscore. For example, suppose I wrote a
chapter that used one postscript figure and a bibliography
file. My files would include:
dwb_main.tex
dwb_fig1.eps
dwb_biblio.bib
Be sure to prepend your initials to all internal references
as well.
If you don't know how to use LaTeX or BibTeX, starting
figuring it out now. A variety of books are available;
check out the TeX archive at the anonymous ftp
site pip.shsu.edu.
A cursory search of the WWW yields lots of sources,
including
a site at NASA and a
FAQ list. If you wait until you need
to use them as tools, you will become overwrought and will
likely exhibit anti-social behaviors. Avoid this fate by
becoming familiar with these tools now.
There are a variety of sources available to assist you
in your paper-writing effort. I found an on-line version
of Strunk's Elements of Style at
http://www.columbia.edu/acis/bartleby/index.html.
With your paper (but as a separate document), deliver 5
multiple choice or short answer questions, with answers, for
use on the final examination. Naturally, you will regard
these questions and answers as confidential information and
will not share them with your classmates.
Presentation
You will present your paper to the class near the end of the
quarter. I expect you to make a professional presentation;
dress accordingly and prepare appropriate visual aids.
Typically, this means that you'll prepare a Powerpoint
presentation and arrange for the appropriate equipment to
show it. The CSL has the necessary equipment.
Labs
In the laboratory section of the class, we'll continue
development of projects we started last quarter in CSC440.
The entire class will cooperate in a single development;
class members will fill the various roles required in a
software development effort. For example, one (or two) class
members will be the project managers, two (or three) will be
SQA people, three or four will be designers, and so on.
Here's a tentative list of the groups we'll use and the
number of people in each group:
| Role | People | Description |
| Management | 2 |
The managers will update the Software Project
Plan (SPP), maintain and periodically publish accurate
schedules, organize and direct periodic Program Management
Reviews (PMRs) and maintain/report status on all phases of
the development. |
| Configuration Management | 3 |
this group will (in addition
to other CM related duties) update the Configuration
Management Plan (CMM), establish and control the baseline,
and establish/maintain version control. |
| Software Quality Assurance (SQA) | 3 |
The SQA group will
update the SQA Plan and conduct SQA activities throughout all
phases of the project. |
| Design | 3 |
The design group will convert the SRS into a
Software Design Document (SDD). |
| Unit Test | 3 |
The unit testers will develop test plans,
procedures, drivers and databases to use on individual units
of software. |
| System Test | 3 |
The system testers will develop test plans,
procedures, drivers and databases to verify system
correctness. |
| Coders | 4 |
The coders will convert the design into the
target language. |
Each group in the class will prepare (update, in some cases)
the documentation associated with their piece of the process.
For example, the SQA group will update the SQA plan from last
quarter to further define the methodology. The design group
will use the SRS to design the software, producing a software
design document.
I will use approximately one-half of your lab points to
assess your participation in lab activities and one-half for
the written product you'll produce.
Grade Computation
To compute your grade, divide the points you earned by the
points possible. Use the table below to determine the letter
grade you earned.
| Numerical Grade | Letter Grade |
| 90-100 | A |
| 80-89 | B |
| 70-79 | C |
| 60-69 | D |
| 0-59 | F |
Academic Integrity
Dishonesty is inconsistent with academic pursuits and
professional work as an engineer. Society looks to engineers
to provide safe, effective and economical solutions to the
problems it faces. Society expects engineers to be
scrupulously honest in their actions. You must, therefor,
constantly evaluate your actions, not only against the rule
of the law, but also against the higher standard of avoiding
even the appearance of impropriety. I will vigilantly defend
the profession against cheaters, liars and thieves. If you
choose to engage in unethical activity, you may expect to
receive an F in this class and a referral to Student Judicial
Affairs for further punishment.
Next: Course Outline
Up: Course Handout-CSC 441
Previous: Research Paper Topics
Copyright 1995
ALL RIGHTS RESERVED
Dennis W. Butler
dbutler@galaxy.csc.calpoly.edu
Computer Science Department
Cal Poly, San Luis Obispo