| 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/21 | Android 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) | ||