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 23 Course Introduction Lecture 1: Course Overview, OOP
Jan 25 HTML and CSS
HTML and CSS Lab Assigned
Lecture 2: HTML and CSS
Lab 1: HTML and CSS Lab
Jan 28 Web Applications
Web Applications Labs Assigned
Lecture 4: Web Applications
Jan 30 Web Applications Lab (in class) Lab 2: Web Applications I
Feb 1 Web Applications II Lab (in class) Lab 2a: Web Applications II
Feb 4 Development Processes & Waterfall UD: Chapter 2, Lecture 6: Development Process
Feb 6 Agile Process & Scrum Lecture 7: Agile & Scrum
Manifesto for Agile Software Development
SG: 2016 Scrum Guide
Feb 8 User Requirements Exercise and Brainstorming Session (in-class)  
Feb 11 Requirements & Use Cases
Use Case Exercise (in-class)
UD: Chapter 9, Lecture 8: Requirements, Use Cases
Feb 13 Team Project Session: Use Cases (in class)  
Feb 15 UML and OO Analysis
Textual Analysis Exercise (in-class)
UD: Chapter 3, Lecture 9: UML Class Diagrams
Lecture 10: OO Analysis
Feb 18 Team Project Session: Textual Analysis (in class)  
Feb 20 WOO…! HOO…! A SNOW DAY…! You’re never too old to enjoy a snow day… :-)  
Feb 22 Team Project Session: Project Analysis Model - UML (in class)  
Feb 25 OO Design Lecture 11: OO Design, OCP, LSP
Design Principles and Design Patterns, Robert Martin, pages 1-12
Feb 27 Version Control Lecture 12: Git for Designers
Mar 1 Version Control Lab (in class) Lab 3: Git Lab
Mar 4 Winter Break, no class  
Mar 6 Winter Break, no class  
Mar 8 Winter Break, no class  
Mar 11 Relational Databases
SQL Lab Assigned
Lecture 13: Relational Databases
Lab 4: SQL Lab
Mar 13 Database Applications - JDBC
JDBC Lab Assigned
Lecture 14: Database Applications, JDBC
Lab 5: JDBC Lab
Mar 15 Database Applications - ORM
ORM Lab Assigned
Lecture 15: ORM, Designing a Persistence Layer
Lab 6: ORM Lab
Mar 18 Individual Project Milestone 1:
Baseline Prototype
Assignment 4: Individual Project Milestones
Mar 20 SQL/JDBC/ORM Review and ORM Lab Session (in class)  
Mar 22 In-class Lab/Team Project Session  
Mar 25 Team Project Milestone 1:
Minimal Working System
Assignment 3: Team Project Milestones
Mar 27 Testing and Code Coverage Lecture 16: Testing
Mar 29 Ensuring Code Quality Lecture 17: Ensuring Code Quality
Apr 1 Individual Project Milestone 2:
50% Progress
Assignment 4: Individual Project Milestones
Apr 3 Library Application Example
Mid-Term Exam Review
 
Apr 5 MID-TERM EXAM (in class)  
Apr 8 Team Project Milestone 2:
Progress on Features
Assignment 3: Team Project Milestones
Apr 10 Guest Lecture: Shane Shearer - VP of Innovation, AndCulture  
Apr 12 Library Example Review  
Apr 15 Individual Project Milestone 3:
FINAL PROJECT DEMOS
Assignment 4: Individual Project Milestones
Apr 17 Team Project Session (in class)  
Apr 18 Individual Project Code & Report Due Assignment 9: Individual Project Deliverables
Apr 19 Spring Break, no class  
Apr 22 Spring Break, no class  
Apr 24 Work Ethic Lecture  
Apr 26 Exam Review and Team Project Session (in class)  
Apr 29 Team Project Milestone 3:
75% Working System
Assignment 3: Team Project Milestones
May 1 Team Project Session (in class)  
May 3 Team Project Session (in class)  
May 6 Start-Up Pitches for Summer Interns (and beyond)  
May 8 Team Project Session (in class)  
May 11 Team Project Code & Report Due Assignment 8: Team Project Deliverables
May 13 TEAM PROJECT FINAL PRESENTATIONS (Section 103)
Final Exam Period (3:00 to 5:00)
Assignment 8: Team Project Deliverables
May 14 Team Project Reflection Due
Team Project Self / Peer Evaluation Due
Assignment 10: Team Project Reflection
Assignment 11: Team Project Self / Peer Evaluation
May 15 TEAM PROJECT FINAL PRESENTATIONS (Sections 101 & 102)
Final Exam Periods (8:00 to 10:00, 10:15 to 12:15)
Assignment 8: Team Project Deliverables