University of Utah

Department of Computer Science

Software Engineering Laboratory

CS 4510
Fall Semester 1998
EMCB 103   TH 2:00-3:20
Instructor: Thomas C. Henderson

Overview of Course


Course Objectives

Engineer (n): a designer or builder of engines
Engineer (vt): to lay out, construct, or manage as an engineer
Engineering (n): the art of managing engines

The following lists the goals for this quarter of the laboratory. We plan to focus this quarter on the design and construction of software systems. Topics emphasized include:
 


Prerequisites

The prerequisite is successful completion of CS 354-355-356 under the quarter system. 

Course Description

We will work on building components that we will use to assemble into several applications Spring semester. The major goal this semester is to develop individual programming skills and to examine a number of system development and analysis tools available under Unix.

This course will focus on comparative analysis of programs and will function like a "design studio."  Individuals will be able to use some class time for work and consultation. The lectures will focus on explanation of the current problem set or methods being used to solve those problems. The assignments will focus on the analysis, design, development and testing of software components. 


Software Used to Support Class

Students will develop on a Unix environment in C and C++. Various software engineering tools will be required, but students will be asked to critique them and compare to other tools.

We will be developing a programs that will be used in the Spring semester to construct a simulation code. 


Required Materials

We will use:

McConnell. Code Complete, Microsoft Press, 1993 (required)

Meyers. Effective C++,  Addison Wesley Longman Publishers, 1998 (required) 


Assignments

There are 3 major types of assignments:


Class Syllabus

The lectures will cover the text on the following schedule:
 
                 Date                 Topic   Material (McConnell & other)      Problem Assignments
27 August 1998 Code Design Chaps 1,2,3,4 
Bentley Column 4
Assigned: 1-1 to 1-8
Sept 1, 1998 - Sept 3, 1998 Performance Analysis Chaps 18,19,28,29 Assigned: 2-1 to 2-10 (do not do Probelms 2-5,2-7) 
Due: 1-1 to 1-8
Sept 8, 1998 - Sept 10, 1998 Performance Analysis Chap 5 
Random No. Handout
Assigned: 3-1 to 3-5 (do not do 
Problem 3-3) 
Due: 2-1 to 2-10
Sept 15, 1998 - Sept 17, 1998 Code Management Chaps 20,21,22 
CVS/RCS Handout
Assigned: 4-1 to 4-6  
Due: 3-1 to 3-5 
Sept 22, 1998 - Sept 24, 1998 Code Quality, Debugging Chaps 23,24,25,26 
Curve Fitting Handout
Assigned: 5-1 to 5-7 (do not do Problem 5-3) 
Due: 4-1 to 4-6
Sept 29, 1998 - Oct 1, 1998 Code Quality, Debugging Review Assigned: 6-1 
Due: 5-1 to 5-7
Oct 6, 1998 Exam All Material Covered Due: 6-1
Oct 13, 1998 - Oct 15, 1998 Data Types Chaps 8,9,10 Assigned: 8-1 to 8-7 (do not do 
Problems 8-2,8-3)
Oct 20, 1998 - Oct 22, 1998 Advanced Data Types Chaps 11,12 Assigned: 9-1 to 9-5 
Due: 8-1 to 8-7
Oct 27, 1998 - Oct 29, 1998 Control Structures Chaps 13,14 Assigned: 10-1 to 10-2 
Due: 9-1 to 9-5
Nov 3, 1998 - Nov 5, 1998 Control Structures Chaps 15,16,17 
Simulation Handout
Assigned: 11-1 to 11-4 
Due: 10-1 to 10-2
Nov 10, 1998 - Nov 12, 1998 Simulation Simulation Handout Assigned: 12-1 
Due: 11-1 to 11-4
Nov 17, 1998 - Nov 19, 1998 Network Flow Network Flow Handout Assigned: 13-1 to 13-2 
Due: 12-1
Nov 24, 1998 Exam All Material Covered Due: 13-1
Dec 1, 1998 - Dec 3, 1998 LIGHT System Chaps 6,7,27,30 Assigned:  15-1 to 15-3
Dec 8, 1998 - Dec 10, 1998 Review All Material Covered Due: 15-1 to 15-3 (These are due 15 Dec)


Class Schedule and Assignments

The lectures and assignments will cover the texts as we progress through the quarter. Class attendance is mandatory. Assignments will usually be handed out on Tuesday and due Thursday of the next week.

On-line handin:

Keep all work in a protected web page directory.  In particular, in .public_html on your cs account, create a subdirectory cs4510.  You must password protect it:

You must let me know the password to your cs4510 web page by Tuesday September 1.  Make sure that your files are not accessible by other means.

Create the following directory structure:

Use the Journal to record your work dates and times (see my  Journal); e.g.,

    1 Sept '98

Use the index.html to describe the files and results in each problem subdirectory.


Instructor


 
Instructor:
Thomas C. Henderson, Professor
E-Mail:
tch@cs.utah.edu
Phone:
801-581-3601
Fax:
801-585-3743
Office Hours:
In-class and by appointment.


Grading Information

The grading distribution will be as follows:
 
Problems:                     50%
On-line Journal:            5%
Exam 1:                       10%
Exam 2:                       10%

Final Exam:                 20%
Lagniappe:                     5%

Your are expected to make a good effort on all assignments.  I will assign a grade based on how reasonable your solution is given the difficulty of the assignment, the time required, and the style and content of the solution.  Very few jobs evaluate performance on a very quantitative point system; my goal is to look at all your work, and to assign a grade based on your participation, effort and results.  It's better to ask questions before and during an assignment, than to try and understand what went wrong after it's due.  The proportions given above delineate how I intend to apportion the weight of the various work in the course.


Assignment Due Time

Unless otherwise stated in an assignment, all assignments will be due by classtime on the assignment due date. The time that we use for an assignment is the last modified time of the source file in the student's directories. Be careful not to overwrite a file and wipe out its last modified time.

Appeals Procedure

See the Code of Student Rights and Responsibilities, located in the Class Schedule for more details.

Appeals of Grades and other Academic Actions

If a student believes that an academic action is arbitrary or capricious he/she should discuss the action with the involved faculty member and attempt to resolve.  If unable to resolve, the student may appeal the action in accordance with the following procedure:

  1. Appeal to Department Chair who should be notified in writing within 40 working days; chair must notify student of a decision with 15 days.  If faculty member or student disagrees with decision, then,
  2. Appeal to Academic Appeals Committee (see flyers posted in MEB and EMCB for members of committee).  See II Section D, Code of Student Rights and Responsibilities for details on Academic Appeals Committee hearings.

Assignment Late Policy

No late work is accepted. 

Individual Work

The purpose of the assignments is to improve your skills at solving problems and demonstrating that you understand the class material. Collaboration with other class members is acceptable in understanding problems or software tools. For any individual assignments or work turned in, you must do your own work. Using someone else's work or giving someone else your work is considered plagiarism and will be dealt with using standard College and University procedures.

Registration

See university web page for the full academic calendar.

Note - some important dates:

Last day to drop classes  Sept 4 
Withdrawal Period I ends  Sept 11 
Last day to withdraw with no tuition penalties  Sept 11
Last day to add classes or to register  Sept 11
Last day to withdraw from classes  Oct 23
See the university web page for a copy of the withdraw guidelines. 

American with Disabilities Act (ADA)

The University conforms to all standards of the ADA. If you wish to qualify for exemptions under this act, notify the Center for Disabled Students Services, 160 Union.