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-thru, 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-through 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 walkthroughs 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., walkthrough, individual artifacts).  The following mixture will be used:

 

               50%   group project grade

               50%   individual contributions