Catalog Description

CO 320    Software Engineering Practice           1c-2d-3sh

Prerequisites:  CO 319W or permission of the instructor

Planning, design and implementation of a large software system
using software engineering techniques.  Students work in project
teams on real or realistic software development projects.  Credit
for either CO 320 or CO 493 may count toward computer science major
requirements, but not both.  The other course credits are free electives.


COURSE SYLLABUS
 
Course Objectives

     The goal of the CO 320 course is to provide students
(primarily those unable to participate in the Computer Science
Internship Program) with a vehicle for applying the principles of
software engineering studied in CO 319 to a real or realistic
software project.  The following objectives contribute to
successfully meeting this goal:

     1.   Discipline the development of a software system through
          the use of installation standards.

     2.   Experience the uncertainty and lack of structure present
          in a real problem vs. the well-defined, well-structured
          problems given as course assignments.

     3.   Practice the interpersonal skills essential to working on
          a project team.

     4.   Write technical documentation for the various phases of
          the software lifecycle.

     5.   Experience the complexity of testing a real system.



COURSE OUTLINE

CO 320 - Software Engineering Practice                    Spring, 1987


Introduction

     The goal of the CO 320 course is to provide students
(primarily those unable to participate in the Computer Science
Internship program) with a vehicle for applying the principles of
software engineering studied in CO 319W to a real or realistic
software project.  Project teams structured along the lines of
chief programmer teams will be formed.  An established set of
installation standards will dictate the organization and conduct of
the project team.  Whenever possible, actual projects for real
users will be the object of study for each team.

     The course will require everyone to attend one1 lecture per
week during which topics specific to the conduct of projects will
be discussed, exams given, and final presentations made.  We will
have 14 of these lecture sessions held every Monday with all
students enrolled in CO 320 attending.

     Each of you should also be enrolled in two hours of recitation
time per week. Two project groups of 3 to 5 people each are
scheduled for each of these laboratory sessions. The recitation
sessions will be used for formal walk-thrus, supervised group
meetings and faculty member feedback to each group specific to
their assigned project.  Groups will have to schedule meeting/work
times outside of the lecture/recitation periods if work is to
progress satisfactorily.  Individual team members will also be
required to complete tasks pertaining to the projects on an
individual out-of-class basis.

                                CLASS SCHEDULE

Meeting             Topic                                   References

Recitation (R) 1    Course Administration and Organization. Syllabus
                    Job descriptions and announcements.
                    Assigned:  Complete a cover letter and 
                              resume to apply for a 
                              position.

                         Due:  Next lecture  

Lecture (L) 1       Discussion and selection of available 
                    projects.  Introduction to CO 320       
                    Installation Standards Manual 

R2                  Team Organization and initial task      Review
Project
                    assignments                             Documentation

L2                  CO 320 Installation Standards           Editor,
                    Use of the programming environment      Mail

R3 - 14             Presentation of assigned tasks &
                    determination of new tasks to be
                    accomplished
L3                  Requirements/Walk-thru techniques

L4                  Specifications
     
L5                  Design

L6                  Alternative Means of Programming   
                    - forms processing 

L7                  Forms processing (TDMS on MicroVAX II)  TDMS

L8                  Query Languages 

L9                  Query Languages 

L10                 Test plan

L11                 Implementation and TOP DOWN Testing

L12                 Initiation of the project

L13                 Project Presentations

L14                 Project Presentations

Final               Project Presentations


IV.  Evaluation Methods

          The course requires that students work as a program
     development team. Evaluation is complicated by the fact that
     while everyone contributes to the outcome of the development
     project, not everyone contributes equally.  Individual
     contributions are most visible during walkthrus when
     individual team members present their contributions.  With
     this in mind, each student's grade will be determined through
     the combination of the project grade (the same for each team
     member) and the individual contributions (e.g., walkthru,
     individual artifacts).  The following mixture will be used:

               50%   group project grade
               50%   individual contributions


V.   Reading Materials        

     1.   Shubra, C. J., et. al, Installation Standards Manual for
          CO 320,   Kinko's, 1989.  (required)

     2.   King, D., Current Practices in Software Development,
          Yourdon Press,      1984.  (required)

     3.   Digital, A Methodology for Software Development Using VMS
          Tools,    Digital Equipment Corporation, 1988. (required)

     4.   Excelerator User's Guide and Reference Manuals.

VI.  Special Resources Required

     None



VII. Resource Materials

          An extensive set of software and hardware manuals are
     used in the teaching of this course.  The materials needed
     vary with the project in terms of the hardware and software to
     be used.  For example:

     1.   The VAX/VMS documentation set.

     2.   Word Perfect User's Guide and Reference Manual.

     3.   DBASE III+ User's Guide and Reference Manual.