COSC 319                                                                                            Appendix A

Software Engineering Concepts

Syllabus of Record

 

I.          Catalog Description Programming                               

3 credits

3 lecture hours

                                                                                      0 lab hours

                                                                                      (3c-0l-3sh)

 

COSC 319

Prerequisites:      COSC 220 and 310 or permission of the instructor

 

Software engineering concepts include the collection of tools, procedures, methodologies and accumulated knowledge about the development and maintenance of software based systems.  This course is strongly suggested for any student planning to take an internship in Computer Science.  After an overview of the phases of the software lifecycle, current methodologies, tools and techniques being applied to each phase will be discussed in depth with localized exercises given to reinforce learning of concepts.

 

II.         Course Objectives

 

     This course will serve to broaden the student's understanding of the issues and latest developments in the area of software development and maintenance.  To reach this goal, the following objectives need to be met:

 

     1.   Define the current state of software development and maintenance characterized as "the software crisis".

 

     2.   Understand the multidimensional aspect of software engineering, which is the current best attempt at solving the software crisis.

 

     3.   Become familiar with popular models of the software development and maintenance process.

 

     4.   Using the waterfall model, study the inputs, outputs, and processes present in each phase.

 

     5.   Study the core concepts present in several popular methodologies and be able to identify strengths and weaknesses of each.

 

     6.   Study existing CASE tools to be able to identify opportunities to automate tasks through the use of such tools.

 

     7.   Consider the issues and techniques present in confidence gaining measures residing in each phase of the software lifecycle.

 

     8.   Briefly investigate problems present in project management.

 

 

III.       Course Outline

 

The following subjects will be addressed:

                          

A.        Course Introduction and Administration                                              0.5 hours

            B.         The Software Crisis and Software                                                      3.0 hours

                         Engineering

            C.         The Software Life Cycle - A Model of             1.5 hours

                         Software Development                  

             D.        Requirements Analysis                                     1.5 hours

             E.         Design Issues                                                                                    3.0 hours

             F.         Design Methodologies                                     6.0 hours

             G.        Implementation Techniques                                                                3.0 hours

             H.        Development Tools                                                                            3.0 hours

             I.         Software Quality                                                                                6.0 hours

             J.        Generic Code and Automatic Code Generation 6.0 hours

             K.       Programming Environments                                                                 3.0 hours

             L.        Management of Software Development             3.0 hours

             M.       Maintenance                                                                                      3.0 hours

 

 

IV.       Evaluation Methods

 

 

     Grades will be determined by taking the weighted (to approximate the distribution of points below) point total and identifying where 90%, 80%, 70%, 60% of the total points lies.

 

     Points and percentages are allocated as follows:

 

          2 exams (including final)              30%                 300 points (150 points each)

          Papers                                                    30%                 300 points

          Projects                                                  30%                 300 points

          Homework                                             10%                 100 points

          TOTAL                                                100%                 400 points