CS 340 Schedule - Fall 2018
Week 1: Sep. 3 - Sep. 7
- Wednesday: Course & Project Overview (Expected Preparation:
Read Agile Book -- Chapter 7, What is Agile Design?,
Read Ticket to Ride Rules
)
- Wednesday: UML Class Diagrams & Sequence Diagrams (Expected Preparation:
Read Agile Book -- Chapters 13 and 14, UML Overview,
Read Agile Book -- Chapter 19, Class Diagrams,
Read Agile Book -- Chapter 18, Sequence Diagrams
)
- Friday: Phase 0, Design Principles (Expected Preparation:
Read Design Principles,
Read Agile Book -- Chapter 8, The Single-Responsibility Principle (SRP)
)
- Friday: Intro to Design Patterns, Singleton Pattern, Proxy Pattern (Expected Preparation:
Read Phase 0 Spec,
Read Design Patterns Book -- Chapter 1, Singleton Pattern Chapter, Proxy Pattern Chapter
Read Agile Book -- Chapter 24, Singleton and Monostate
)
Due Dates
Week 2: Sep. 10 - Sep. 14
- Monday: Command Pattern, Facade Pattern (Expected Preparation:
Read Design Patterns Book -- Command Pattern Chapter, Facade Pattern Chapter
)
- Monday: Phase 0.5 (Expected Preparation:
Read Phase 0.5 Spec
)
- Wednesday: More Design Principles (Expected Preparation:
Read Agile Book -- Chapter 12, The Interface Segregation Principle (ISP)
)
- Wednesday: Software Architecture, Layers, Dependency Inversion (Expected Preparation:
Read Layers,
Read Agile Book -- Chapter 11, The Dependency-Inversion Principle (DIP)
)
- Friday: Observer Pattern, Model-View-Controller (Expected Preparation:
Read Design Patterns Book -- Observer Pattern Chapter,
Read Agile Book -- Chapter 38, Model View Presenter (MVP)
)
Due Dates
Week 3: Sep. 17 - Sep. 21
Due Dates
Week 4: Sep. 24 - Sep. 28
Due Dates
Week 5: Oct. 1 - Oct. 5
Due Dates
Week 6: Oct. 8 - Oct. 12
- Monday: NO CLASS - Finish Phase 1
- Wednesday: Phase 2 (Expected Preparation:
Read Phase 2 Spec
)
- Friday: Phase 2 Design Advising (Expected Preparation: Be in class!)
Due Dates
- Tuesday: Phase 1 Pass-Off
- Wednesday: Phase 1 Report
Week 7: Oct. 15 - Oct. 19
- Monday: Review for Midterm
- Wednesday: Flex Day
- Friday: Midterm Exam (In Class: 2 hours)
Due Dates
Week 8: Oct. 22 - Oct. 26
- Monday: UML State Diagrams and The State Pattern (Expected Preparation:
Read Agile Book -- Chapter 15, State Diagrams,
Read Agile Book -- Chapter 36, State,
Read Design Patterns Book -- State Pattern Chapter
)
- Wednesday: In Class Graded Exercise: State Pattern (Expected Preparation: Be in class!)
- Friday: Visitor Pattern (Expected Preparation:
Read Design Patterns Book -- Visitor Pattern Chapter
)
Due Dates
Week 9: Oct. 29 - Nov. 2
- Monday: In Class Graded Exercise: Visitor Pattern (Expected Preparation: Be in class!)
- Wednesday: NO CLASS - Finish Phase 2
- Friday: Phase 3 (Expected Preparation:
Read Phase 3 Spec
)
Due Dates
- Thursday: Phase 2 Pass-Off
- Friday: Phase 2 Report
Week 10: Nov. 5 - Nov. 9
- Monday: Phase 3 Advising (Expected Preparation: Be in class!)
- Wednesday: Refactoring (Expected Preparation:
Read Agile Book -- Chapter 5, Refactoring
)
- Friday: Refactoring Code Smells (Expected Preparation:
Read Code Smells
)
Due Dates
- Wednesday: Phase 3 Design
Week 11: Nov. 12 - Nov. 16
- Monday: Agile Development -- Refactoring, User Stories, Sprints (Expected Preparation:
Read Agile Book -- Chapters 1, 2, and 3 about Agile Development,
Read Agile Software Development,
Read Scrum,
Read User Story,
Read Agile Book -- Chapter 17, Use Cases
)
- Wednesday: Data Persistence Design / Data Access Object Pattern / Data Transfer Object Pattern (Expected Preparation:
Read Agile Book -- Section of Chapter 34 titled "Table Data Gateway",
Read Data Access Object / Data Transfer Object
)
- Friday: Abstract Factory and Plugin Patterns (Expected Preparation:
Read Design Patterns Book -- Abstract Factory Chapter
)
Due Dates
Week 12: Nov. 19 - Nov. 23
- Monday: Phase 4 (Expected Preparation:
Read Phase 4 Spec
)
- Tuesday (Friday Instruction): NO CLASS - Finish Phase 3
- Wednesday: NO CLASS - Holiday
- Friday: NO CLASS - Holiday
Due Dates
- Tuesday: Phase 3 - Pass off Phase 3 Implementation ZIP file with TAs
Week 13: Nov. 26 - Nov. 30
- Monday: Phase 3 Testing (Expected Preparation: Be in class!)
- Wednesday: Phase 4 Advising (Expected Preparation: Be in class!)
- Friday: Software Reuse (Expected Preparation:
Read Design Patterns Book -- Adapter Pattern and Decorator Pattern Chapters
)
Due Dates
- Tuesday: Phase 3 Testing (bugs logged by midnight)
- Friday: Phase 3 Pass-Off
- Saturday: Phase 3 Report
Week 14: Dec. 3 - Dec. 7
- Monday: Software Reuse (Expected Preparation:
Read Design Patterns Book -- Read Putting Reuse Mechanisms to Work [pages 18 - 22],
Read Strategy Pattern Chapter
)
- Wednesday: Inheritance (Expected Preparation:
Read Design Patterns Book -- Factory Method Pattern and Template Method Pattern Chapters,
Read Agile Book -- Chapter 9, The Open/Closed Principle (OCP),
Read Agile Book -- Chapter 22, Template Method and Stragegy: Inheritance vs. Delegation
)
- Friday: In Class Graded Exercise: Template Method [LineCount.java, FileSearch.java, Documentation] (Expected Preparation: Be in class!)
Due Dates
Week 15: Dec. 10 - Dec. 14
- Monday: Inheritance and DBC (Expected Preparation:
Read Design By Contract,
Read Agile Book -- Chapter 10, The Liskov Substitution Principle (LSP)
)
- Wednesday: Final Exam Review (Expected Preparation: Be in class!)
Due Dates
- Thursday: Phase 4 Pass-Off & Phase 4 Report
Final Exam
All final exams will be in 3718 HBLL at the
time scheduled by the university, as indicated below.
- Section 1 (Woodfield)
Monday, December 17
7:00 a.m. - 10:00 a.m.
- Section 2 (Wilkerson)
Tuesday, December 18
11:00 a.m. - 2:00 p.m.
- Section 3 (Rodham)
Thursday, December 20
3:00 p.m. - 6:00 p.m.