COSC 303

Large Systems Design

Spring, 2007

Syllabus  
(note: subject to adjustment as the term proceeds)

                              Link to Course Description                   Link to BlackBoard

Date                         Reading                         Topic                                   Quiz 

L&L = Lethbridge and Laganiere, DP = Design Patterns, reading on Java should be from Big Java, Core Java, or other text or reference

Jan      22                                                      Introduction
           24                 L&L, Ch. 1                   Overview of Software Engineering            complete slides from book

                                Read maze case study in preparation for first lab (parts 1,2,3; part 4; parts 5,6)


           29                 L&L, Ch.2                    Java and Object-oriented design                 Quiz 1 on L&L reading through Ch. 2
           29 - Lab       Maze case study            Reverse engineering maze code -- learn Poseidon   (maze code, lab1)         
           31                 L&L, 3.1-3.5                Frameworks and Client-Server architecture  Quiz 2 on L&L Ch. 3, 3.1-3.5  
                                Composition vs Inheritance -- example strategy pattern for Fish
                                read L&L, 3.6-3.12, to prepare for Monday lab     
Feb       5                 L&L, Ch. 3                   Object Client-Server Framework
             5 - Lab                                            Complete L&L Chat phase 2
             7                 L&L, Ch. 3                   review Ch. 3 and lab work                         
                                L&L, Ch. 5 up to 5.6    UML Class diagrams

           12                 L&L, Ch. 5 up to 5.6     UML                                  Quiz 3 on L&L Ch. 5, 5.1-5.6
                                                                                                                Homework due: E37(choose 4), E38(choose 1), E39(choose 1), E40(same 1), E41(same 1),
                                                                                                                                            E45(choose 1), E46(same 1), E47(same 1)

           12 - Lab       Generalizing code - general problem solving using the maze solver approach - Design
                               Maze Strategy Pattern Code      Maze Strategy Poseidon Model
           14                 L&L, 4.1-4.6                Domain analysis, Requirements   
                                                                     Use case analysis                                         

           19                 L&L, Ch. 4                   Use case analysis, Requirements documents
           19 - Lab       Coding the general problem solver
           21                 L&L, 4.12                    Chat example requirements


           26                 Discussion of Requirements                                    Homework due: E53-54(d), E55-56-57(d, and WW), E60, E62-64(d),
                                                                                                                                             E68(b), E69(WW) (WW means wordwork design problem)

           26 - Lab       Requirements Specification
           28                 L&L, Chapter 5            Developing Class models Ski Simulation Design Problem    

March   5                                                      Design exercise, CRC cards
             5 - Lab       Design and code changes to chat program specified in lab 5
             7                L&L, Chapter 6             Review CRC designs,  Introduction to design patterns

March 10-18             Break  

           19              No Class
           19              No formal Lab -- Domain analysis and preparation for  requirements gathering for project
           21              L&L, Chapter 6              Student presentations on design patterns

           26              L&L, Chapter 7              User oriented design, User interfaces    Homework due: E73(c)(in groups of 2, list partners)
                                                                                                                                                              E74 (individually), E75 (individually)

           26 - Lab:  Requirements gathering for project
           28              L&L, Chapter 6              Student presentations on design patterns         

Apr      2              L&L, Chapter 8, 8.1        UML interaction diagrams - sequence diagrams          Homework due: E131-134, E139, E144, E146
                                                                                                                                                         (Work in pairs on this homework)
            2 - Lab  Complete requirements document for knitting patterns program
                         Create a prototype for user interface
            4             L&L, Chapter 8, all          UML State and transition diagrams
                                                                    Designing with dynamic models         

            9              L&L, Chapter 9               Design principles                                       Homework due: E162, E163, E165 (choose one)
            9 - Lab  Lab 7 Chat phases 5&6 (exercises E148, E149)         Hand in requirements document for knitting patterns program
          11             L&L, Chapter 9                Architectural design patterns                      Homework due: E168, E169 (also do E167)

          16            L&L, chapter 9                   Design documentation
          16 - Lab  Design for tennis program
          18                                                       Teams works on design during class period

          23             L&L, chapter 10                Test design                                                Homework due: E172(a,b), E173(a,b), E176, E177, E183, E184
                                                                     Testing, formal test cases, test first development
          23 - Lab   Test design for knitting patterns program
          25             L&L, chapter 10                 Finish ch. 10, work on project design

          30                                                        Work on project design
          30 - Lab   Complete design for tennis program
 May    2                                                         Review of Test Plans (1/2 hour for each team) part 1 of final

May 8, 3:00-5:00                     Final exam:   Structured walk-through of knitting patterns program design
                                                                        (1 hour for each team)