Lecture Schedule for CS3704: Intermediate Software Design and Engineering


    Date Topic Assignment Presentation

    Jan. 19 Introduction (pp. #1-11) Group construction and presentation selection by 11:59pm on 1/26

    Jan. 24 Introduction (pp. #12-39) Software Process (pp. #1-8)

    Jan. 26 Software Proces (pp. #9-34): Waterfall and Prototyping models [Project] Slides for initial project introduction by 11:59pm on 2/16

    Jan. 31 Software Process (pp. #35-62): Spiral model, Incremental model, and agile methods

    Feb. 2 Software Process (pp. #63-64), Requirements Analysis (1): functional & non-functional requirements

    Feb. 7 Requirements Analysis (2): user cases, Human Aspects of SE (pp. #1-2) [Homework] HW1 by 11:59pm on 2/21Android Update (Group 1)

    Feb. 9 Human Aspects of SE (pp. #3-21) Requirements Analysis (3): use case diagrams Java Lambda Exp. (Group 2)

    Feb. 14 Requirements Analysis (4): class diagram Self-Driving Cars (Group 3)

    Feb. 16 Initial Project Introduction (1) [Project] Requirements Analysis by 11:59pm on 3/16

    Feb. 21 Initial Project Introduction (2)

    Feb. 23 Initial Project Introduction (3)

    Feb. 28

    No class (The lecturer is attending a propoasl panel)


    Mar. 2 Requirements Analysis (5): domain model Google Code Repository (Group 4)

    Mar. 14 Requirements Analysis (6): system sequence diagram, Software Design (1): design engineering(pp.1-11) [Homework] HW2 by 11:59 on 3/28 Nest Thermostat (Group 5)

    Mar. 16 Software Design (1): design engineering(pp.12-22), Software Design (2): high-level design (pp.1-18) [Project] Design-I by 11:59pm on 4/11 Apple Air Tags (Group 6)

    Mar. 21 Software Design (2): high-level design (pp.19-21), Event Bus Architecture, Client-Server Architecture, Software Design (3): architecture modeling, Software Design (4): detailed design (pp.1-3) Subscription Models (Group 7)

    Mar. 23 Software Design (4): detailed design (pp.4-37) Flaky Tests (Group 8)

    Mar. 28 Software Design (4):detailed design (pp.38-42), Software Design (5): design class diagram (DCD), Software Design (6): data modeling (pp.1-17) Android apps vs. Apple apps (Group 9)

    Mar. 30 Midterm Exam

    Apr. 4 Software Design (6): data modeling (pp.18-40), Software Design (7): design patterns (pp.1-13) Facial Recognition (Group 10)

    Apr. 6 Software Design (7): design patterns (pp.14-34), Software Design (8): UI design NFC Tags (Group 11)

    Apr. 11 Software Design (9): Refactoring, Software Testing (1): Concepts (pp.1-10) [Project] Design-II by 11:59pm on 4/25 New Features of Java 18 (Group 12)

    Apr. 13 Software Testing (1): Concepts (pp.11-45) Software Testing, Software Testing (2): Approaches (pp.1-5)

    Apr. 18 Midterm Review Secure Coding Practices (Group 15)

    Apr. 20 Software Testing (2): Approaches (pp.6-34) Broken Builds (Group 16)

    Apr. 25 Software Testing (2): Approaches (pp.35-39), Project Management (pp.1-37) [Project] Slides for final project presentation by 11:59pm on 4/27 Crowdsourced Knowledge & Security (Group 17)

    Apr. 27 Final project presentation (1)

    May 2 Final project presentation (2)

    May 4 Final project presentation (3)