This is the schedule for the course. It may be updated from time to time. Updates will be announced in class.

Important: Do the reading before you come to class!

Date Topic/Activity Reading
Jan 18 Course Introduction Lecture 1: Course Overview, OOP
Jan 20 HTML and CSS (and HTML and CSS Lab) Lecture 7: HTML and CSS
Lab 1: HTML and CSS Lab
Jan 23 Web Applications (and Web Applications Lab) Lecture 8: Web Applications
Lab 2: Web Applications Lab
Jan 25 Web Applications Lab (in class) Lab 2: Web Applications Lab
Jan 27 Development Process, Agile Development UD: Chapter 2, Lecture 2: Development Process, Manifesto for Agile Software Development
Jan 30 Agile and Extreme Programming XP: Chapters 1–5, Questions and Discussions
Feb 1 Agile and Extreme Programming XP: Chapters 6–7, Questions and Discussions
Feb 3 Requirements UD: Chapter 9, Lecture 3: Requirements, Use Cases
Feb 6 Use Case Exercise  
Feb 8 Team Project Session: Use Cases (in class)  
Feb 10 UML, OO Analysis UD: Chapter 3, Lecture 4: UML Class Diagrams, Lecture 5: OO Analysis
Feb 13 OO Analysis Exercise  
Feb 15 Team Project Session: project analysis model (in class)  
Feb 17 Analysis Model Presentations and Discussion  
Feb 20 OO Design Lecture 6: OO Design, OCP, LSP, Robert Martin, Design Principles and Design Patterns, pages 1-12
Feb 22 Testing, code coverage Lecture 12: Testing
Feb 24 Ensuring Code Quality Lecture 13: Ensuring Code Quality
Feb 27 Winter Break, no class  
Mar 1 Winter Break, no class  
Mar 3 Winter Break, no class  
Mar 6 Version Control Git for Designers
Mar 8 Version Control Lab Lab 3: Git Lab
Mar 10 Scrum/Agile: BD Guest Lecturer
Glen Davis - Senior Manager, SW Engineering
 
Mar 13 SQL Databases (and SQL Lab) Lecture 9: Relational Databases
Lab 4: SQL Lab
Mar 15 Database Applications - JDBC (and JDBC Lab) Lecture 10: Database Applications, JDBC
Lab 5: JDBC Lab
Mar 17 Team Project Session (in class)  
Mar 20 Team Project Milestone 1:
Minimal Working System
Assignment 3: Team Project Milestones
Mar 22 Plant Tour @ Red Lion Controls
OR
Team Project Session (in class)
 
Mar 24 Database Applications - ORM (and ORM Lab) Lecture 11: ORM, Designing a Persistence Layer
Lab 6: ORM Lab
Mar 27 Individual Project Milestone 1:
Baseline Prototype
Assignment 4: Individual Project Milestones
Mar 29 SQL / JDBC / ORM Labs
In-class team project work
 
Mar 31 Team Project Session (in class)  
Apr 3 Team Project Milestone 2:
Progress on Features
Assignment 3: Team Project Milestones
Apr 5 Library Example and Exam Review  
Apr 7 MID-TERM EXAM (in class)  
Apr 10 Individual Project Milestone 2:
33% Progress
Assignment 4: Individual Project Milestones
Apr 12 Team Project Session (in class)  
Apr 14 Spring Break, no class  
Apr 17 Spring Break, no class  
Apr 19 Team Project Session (in class)  
Apr 21 Team Project Milestone 3:
50% Working System
Assignment 3: Team Project Milestones
Apr 24 Individual Project Milestone 3:
67% Progress
Assignment 4: Individual Project Milestones
Apr 26 Team Project Session (in class)  
Apr 28 Team Project Session (in class)  
May 1 Team Project Milestone 4:
95% Working System

Assignment 3: Team Project Milestones
May 3 Last Class
Individual Project Milestone 4:
FINAL PROJECT DEMOS
Assignment 4: Individual Project Milestones
May 5 Finals week, no class
Individual Project Code & Report Due
Assignment 9: Individual Project Deliverables
May 6 Team Project Code & Report Due Assignment 8: Team Project Deliverables
May 9 Team Project Reflection Due
Team Project Self/Peer Evaluation Due
Assignment 10: Team Project Reflection
Assignment 11: Team Project Self/Peer Evaluation
May 10 TEAM PROJECT PRESENTATIONS
During Final Exam Period
Assignment 8: Team Project Deliverables