Syllabus of Record

 

 

COSC 419 Software Development with Ada

                             

 

I.   CATALOG DESCRIPTION

 

     COSC 419 Software Development with Ada                          3c-01-3sh

 

     Prerequisite:  COSC 310

 

          Introduction to the Ada programming language as a tool o the software engineer.  Projects will use the advanced programming constructs resident in Ada, including packages, multi-tasking, generic units, exception handlers and concurrent programming.

 

II.  COURSE OBJECTIVES

 

     1.   Students should know the role of Ada within software engineering.

     2.   Students should know how to use Ada packages to create abstract data types.

     3.   Students should know how to use generic program units to create reusable software components.

     4.   Students should understand the problems related to concurrent processes and how to control them with Ada tasks.

 

III. COURSE OUTLINE

 

          Topic                                                       Hours

     1.   Introduction to Ada                                 3

     2.   Elementary Ada Programming                  2

     3.   Type Declarations                                  3

     4.   Subtypes Versus Distinct Types               2

     5.   Expressions                                           2

     6.   Subprograms                                         2

     7.   Access Types                                        3

     8.   Packages                                               3

     9.   Private and Limited types                          3

    10.   Class wide Programming                                     4

    11.   Separate Compilation                             2

    12.   Exceptions                                            2

    13.   Generic Units                                         3

    14.   Introduction to Tasks                                          3

    15.   Controlling Task Interaction                                 3

 

IV.  EVALUATION METHODS

 

     The final grade for the course will be determined as follows:

 

          50% Tests.         

At least two tests (mid term and final) consisting of short essay questions and programming questions.

          50% Homework and Projects.

At least six computer projects will be assigned.  Projects will be graded on output and style.  Short homework papers from the textbook problem sets will also be assigned.