CIS 375
                INTRODUCTION TO SOFTWARE ENGINEERING
                                WINTER, 1997
                                SYLLABUS

The mode of learning is "just-in-time."  Therefore, the content will be the same, but the 
dates are approximate.  The order may also change, based on student demand.

Date            Topic   Reading 
[Class Day]
01-08    [1]    Context of CIS 375 course in CIS field  Notes
                Previous CIS 375 class experiences              
                
                Resources Available: library, groupware,        Notes
                 Computer-Selects, Internet, WWW,
                 previous course work (projects)

01-13    [2]    Scope of Software Engineering           S1, P1 (Video Tape)
        
01-15 [3]       Software Process and Its Problems               S2

01-20           NO CLASS: MARTIN LUTHER KING, JR. DAY

01-22    [4]    Project Management                              S10
                  software metrics, estimating, planning        P2-4

01-27    [5]    Implementation Phase                            S12
                                                                P10
                
01-29    [6]    Software Life-Cycle Models                      S3
                 waterfall, prototyping, spiral                 P1, 4
                  capability maturity model, safety
                  responsibility, risk assessment

02-03    [7]    Computer-Aided Software Engineering     S4
                  specification, design, implementation,        P22-23
                  project management tools, and
                  configuration management

02-05 [8]       Software Verification and Testing               S5
                  assertions, correctness proofs                P17-19
                  walkthroughs, testing and validation

02-10 [9]       Object-oriented Programming                     S6
                                                                P10
02-12 [10]      Exam 1

02-17    [11]   Requirements Phase                              S7
                 rapid prototyping and informal methods P5-7

02-19    [12]   Specification Phase                             S8
                  formal methods                                P9

02-24   [13]    Object-Oriented Analysis Phase          S9
                                                                P8

02-26    [14]   Design Phase                                    S11
03-03 [15]        data flow analysis                            P11
03-05 [16]        Jackson System Development            P13
                  Object-oriented design                        P12
                  real-time system design                       P15

03-10           SPRING BREAK
03-12

03-17 [17]      User Interfaces                         P14
                  menu systems, command language
                  direct manipulation

03-19    [18]   Computer Graphics                               Notes
                  output device characteristics,
                  primitives, common software systems

03-24 [19]      Documentation                                   Notes

03-26 [20]      Implementation and Integration Phase            S13
03-31 [21]                                                      P16

04-02 [22]      Exam 2

04-07 [23]      Maintenance Phase                               S14
                configuration management                        P16

04-09 [24]      Project presentations

04-14    [25]   Project presentations

04-16 [26]      Project presentations   

04-21 [27]        Future Methodologies                  P22-24

04-28[29-30]    FINAL EXAM
                MONDAY, APRIL 28, 1997, 3:30 - 6:30 P.M.


                        THE SUBJECT OF SOFTWARE ENGINEERING

PURPOSE (WHY IS IT?)
        TO PROVIDE A BRIDGE BETWEEN PEOPLE AND COMPLEX SYSTEMS

DESCRIPTION (WHAT IS IT?)
        AN ENGINEERING TECHNOLOGY TOOL FOR THE DEVELOPMENT OF 
QUALITY, RELIABLE,  COST-EFFECTIVE, EASY-TO-MAINTAIN, SCHEDULE-
MEETING SOFTWARE WHICH SOLVES REAL NEEDS OF THE CUSTOMER

PROCESS (HOW IS IT DONE?)
        MODERN SOFTWARE DEVELOPMENT CYCLE CONSISTING OF NEEDS 
ASSESSMENT, REQUIREMENTS ANALYSIS, COST ESTIMATING, DESIGN, 
CONSTRUCTION, TEST,  INSTALLATION, MAINTENANCE/ENHANCEMENT

FUTURE (WHERE IS IT HEADED?)
        KNOWLEDGE-BASED SYSTEMS

PRODUCTS (WHAT ARE THE MANIFESTATIONS?)
        ITEMS, VENDORS, QUANTITY, WHERE USED, $$, APPLICATIONS

See attached sheets for some useful definitions for Engineering.  Do you believe that 
Software Engineering (SWE) is really "deserving" to be a subset of Engineering, a field 
which has existed for thousands of years, and appeared well before that of science?  This 
would be a good question 
for a final exam...