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.

ComponentNumberPoints each Total Points
Tests2100 200
Paper1200 200
Presentation1 100100
Labs1300 300
Participation1 200200
Total1,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:

RolePeopleDescription
Management2 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 Management3 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.
Design3 The design group will convert the SRS into a Software Design Document (SDD).
Unit Test3 The unit testers will develop test plans, procedures, drivers and databases to use on individual units of software.
System Test3 The system testers will develop test plans, procedures, drivers and databases to verify system correctness.
Coders4 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 GradeLetter Grade
90-100A
80-89B
70-79C
60-69D
0-59F

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