Class activities will be recorded here.

This page has the entire plan for the semester. For weeks in the future, consider it a plan subject to change. For weeks in the past consider it a record of what we have done. As for the current week, keep a watch for updates and changes.

Week of Final Exams : May 7 - May 11
Exams Take home final due 8th May 2018 at 11:59 PM
Week 16 : Apr 30 - May 4
Note P3 Demos
Lectures Mon: Randomly selected 5 teams
Wed: Randomly selected 5 teams
Fri: Remaining 3 teams
Assignments None
Quizzes (Distance) None
Discussions (Distance) None
Project Distance only--Create P3 Video; Due 2 May 2018
Exams Take home final available on 3 May 2018; Due 8 May 2018
Week 15 : Apr 23 - Apr 27
Note Code smells and refactoring; design patterns
Lectures Mon: PQ8 in-class exercise on code smells and refactoring
Wed: Command pattern
Fri: Singleton pattern
Assignments None
Quizzes (Distance) None
Discussions (Distance) None
Project P3: Due 29 April 2018
Week 14 : Apr 16 - Apr 20
Note P2 Demos
Lectures Mon: Randomly selected 5 teams
Wed: Randomly selected 5 teams
Fri: Remaining 3 teams; Finish Decorator pattern
Assignments None
Quizzes (Distance) None
Discussions (Distance) D8: Code Smells and Refactoring
Project For all students--Start P3; Due 29 April 2018
Distance only--Create P2 Video; Due 18 April 2018
On-campus only--get ready for in-class exercise PQ8 on Canvas
Week 13 : Apr 9 - Apr 13
Note Design Principles
Lectures Mon: Model-view separation wrapup; More design principles
Wed: Design principles
Fri: Code Smells and Refactoring
Assignments None
Quizzes (Distance) None
Discussions (Distance) None
Project Continue working on P2; Due 15 April 2018
Week 12 : Apr 2 - Apr 6
Note Design Principles and Patterns
Lectures Mon: GRASP patterns and Facade pattern
Wed: Observer pattern
Fri: Wrap up model-view separation and MVC overview
Assignments None
Quizzes (Distance) None
Discussions (Distance) D7: Design Class Modeling vs Reverse Engineering
Project Continue working on P2; Due 15 April 2018
Week 11 : Mar 26 - Mar 30
Note Design Principles
Lectures Mon: Design principles
Wed: Design principles
Fri: Software architecture
Assignments None
Quizzes (Distance) None
Discussions (Distance) None
Project Continue working on P1; Due 28 Mar 2018
Start P2; Due 15 April 2018
Week 10 : Mar 19 - Mar 23
Note Finish OO Analysis and start Design Principles
Lectures Mon: Domain modeling
Wed: Domain modeling
Fri: Design Principles
Assignments None
Quizzes (Distance) Q5: Domain Modeling Due 22 Mar 2018
Discussions (Distance) D6: Domain Modeling Due 23 Mar 2018
Project Continue working on P1; Due 28 Mar 2018
Week 9 : Mar 12 - Mar 16
Note Spring Break
Week 8 : Mar 5 - Mar 9
Note OO Analysis
Lectures Mon: Use Cases
Wed: In-class exercise on Use Cases
Fri: Domain Modeling
Assignments A5: State modeling; Due 7 Mar 2018
Quizzes (Distance) Q4: Requirements Analysis Due 8 Mar 2018
Discussions (Distance) D5: Use cases Due 9 Mar 2018
Project Semester project description to be made available on Canvas
P1 due 28 Mar 2018
Week 7 : Feb 26 - Mar 2
Note Finish State Pattern and Start OO Analysis
Lectures Mon: Wrap up state and strategy pattern
Wed: Introduction to OOAD
Fri: Requirements and Use Cases
Assignments A4: Visitor pattern; Due 28 Feb 2018
A5: State modeling; Due 7 Mar 2018
Quizzes (Distance) None
Discussions (Distance) None
Project P0 Team Creation (Individual Canvas submission) 2-part assignment;
Part 2 due 28 Feb 2018
Week 6 : Feb 19 - Feb 23
Note State Modeling and State Pattern
Lectures Mon: State diagrams
Wed: State diagrams
Fri: State and Strategy Pattern
Assignments Continue to work on A4: Visitor pattern; Due 28 Feb 2018
Quizzes (Distance) Q3 due 22 Feb 2018
Discussions (Distance) D4: Practice state diagrams
Project P0 Team Creation (Individual Canvas submission) 2-part assignment;
Part 1 due 21 Feb 2018
Part 2 due 28 Feb 2018
Week 5 : Feb 12 - Feb 16
Note Visitor Pattern
Lectures Mon: Visitor design pattern
Wed: Visitor design pattern
Fri: Wrap up visitor and in-class visitor exercise
Assignments Continue to work on A3: Activity Diagrams; Due 14 Feb 2018
A4: Visitor pattern; Due 28 Feb 2018
Quizzes (Distance) Q2 due 13 Feb 2018
Discussions (Distance) None
Project P0 Team Creation (Individual Canvas submission) 2-part assignment;
Part 1 due 21 Feb 2018
Week 4 : Feb 5 - Feb 9
Note UML Activity Diagrams; Some Design Patterns
Lectures Mon: UML Activity Diagrams
Wed: Iterator design pattern and in-class exercise on activity modeling
Fri: Composite design pattern
Assignments Continue to work on A2: Mocking; Due 7 Feb 2018
A3: Activity Diagrams; Due 14 Feb 2018
Quizzes (Distance) None
Discussions (Distance) D3: Practice activity diagrams
Week 3 : Jan 29 - Feb 2
Note Mockito; UML Activity Diagrams
Lectures Mon: Mockito
Wed: Mockito
Fri: Activity diagrams
Assignments A2: Mocking; Due 7 Feb 2018
Quizzes (Distance) None
Discussions (Distance) None
Week 2 : Jan 22 - Jan 26
Note JUnit parameterized tests and theories
Lectures Mon: Testing frameworks and basic JUnit
Wed: JUnit parameterized classes and theories
Fri: Programming style guidelines
Assignments Continue to work on A1. Due Jan 30 2018.
Quizzes (Distance) None
Discussions (Distance) D2: Discussion of Test Driven Development
Week 1 : Jan 15 - Jan 19
Note No lecture on Jan 15 (Martin Luther King Day)
Lectures Wed: Course Introduction and Syllabus
Fri: Test Driven Development
Assignments A1: Test Driven Development Using Java and JUnit. Due Jan 30 2018.
Quizzes (Distance) Q1: Background Questionnaire
Discussions (Distance) D1: Introductions