CS 340 Schedule - Spring 2019
Week 1: April 29 - May 3
- Wednesday: Course & Project Overview (Expected Preparation:
Read Ticket to Ride Rules
)
- Wednesday: UML Class Diagrams & Sequence Diagrams (Expected Preparation:
Read Class Diagrams,
Read UML Book Chapter
)
- Wednesday: Phase 0, Intro to Design Patterns, Singleton Pattern (Expected Preparation:
Read Phase 0 Spec,
Read Design Patterns Book -- Chapter 1, Singleton Pattern Chapter
)
- Friday: Proxy Pattern, Command Pattern, Facade Pattern (Expected Preparation:
Read Design Patterns Book -- Proxy Pattern Chapter, Command Pattern Chapter, Facade Pattern Chapter
)
- Friday: Web API Programming (Expected Preparation: Read
Read com.sun.net.httpserver documentation
)
- Friday: Phase 0.5 (Expected Preparation:
Read Phase 0.5 Spec
)
Due Dates
Week 2: May 6 - May 10
Due Dates
- Tuesday: Phase 0.5
- Friday: Phase 1 Design
Week 3: May 13 - May 17
Due Dates
- Friday: Phase 1
- Saturday: Phase 1 Report
Week 4: May 20 - May 24
- Monday: Review for Midterm
- Monday: Phase 2 Design Advising (Expected Preparation: Be in class!)
- Wednesday: State Pattern (Expected Preparation:
Read Design Patterns Book -- State Pattern Chapter
)
- Wednesday: In Class Graded Exercise: State Pattern (Expected Preparation: Be in class!)
- Friday: Midterm Exam (In Class: 2 hours)
Due Dates
Week 5: May 27 - May 31
- Monday: No Class - Memorial Day
- Wednesday: Phase 3 (Expected Preparation:
Read Phase 3 Spec
)
- Wednesday: Phase 3 Advising (Expected Preparation: Be in class!)
- Friday: Visitor Pattern (Expected Preparation:
Read Design Patterns Book -- Visitor Pattern Chapter
)
- Friday: In Class Graded Exercise: Visitor Pattern (Expected Preparation: Be in class!)
Due Dates
- Wednesday: Phase 2
- Thursday: Phase 2 Report
- Friday: Phase 3 Design
Week 6: Jun. 3 - Jun. 7
- Monday: Refactoring (Expected Preparation:
Read Chapters in Refactoring, Improving the Design of Existing Code -- Preface & Chapter 1
)
- Monday: Refactoring Code Smells (Expected Preparation:
Read Chapters in Refactoring, Improving the Design of Existing Code -- Chapters 2 & 3
)
- Wednesday: Agile Development -- Refactoring, User Stories, Sprints (Expected Preparation:
Read Agile Software Development,
Read Scrum,
Read User Story
)
- Wednesday: Data Persistence Design / Data Access Object Pattern / Data Transfer Object Pattern (Expected Preparation:
Read Data Access Object / Data Transfer Object),
Read Data Persistence slides
)
- Friday: Abstract Factory and Plugin Patterns (Expected Preparation:
Read Design Patterns Book -- Abstract Factory,
Read slides on Plugins
)
- Friday: Phase 3 Testing (Expected Preparation: Be in class!)
Due Dates
- Friday: Phase 3 (due at beginning of class)
- Friday: Phase 3 Testing (bugs logged by midnight)
Week 7: Jun. 10 - Jun. 14
- Monday: Phase 4 (Expected Preparation:
Read Phase 4 Spec
)
- Monday: Phase 4 Advising (Expected Preparation: Be in class!)
- Wednesday: Software Reuse (Expected Preparation:
Read Design Patterns Book -- Adapter Pattern and Decorator Pattern Chapters
)
- Wednesday: Software Reuse (Expected Preparation:
Read Design Patterns Book -- Read Putting Reuse Mechanisms to Work [pages 18 - 22],
Read Strategy Pattern Chapter
)
- Friday: Inheritance (Expected Preparation:
Read Design Patterns Book -- Factory Method Pattern, Template Method Pattern Chapters
)
- Friday: In Class Graded Exercise: Template Method [LineCount.java, FileSearch.java] (Expected Preparation: Be in class!)
Due Dates
- Monday: Phase 3 Pass-Off
- Tuesday: Phase 3 Report
- Wednesday: Phase 4 Design
Week 8: Jun. 17 - Jun. 21
- Monday: Inheritance and DBC (Expected Preparation:
Read Design By Contract
)
- Monday: Final Exam Review (Expected Preparation: Be in class!)
Due Dates
- Monday: Phase 4
- Monday: Phase 4 Report
Final Exam:
- Wednesday, June 19, 9:00 am - 10:50 am (3718 HBLL)