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 21 Course intro Lecture 1: Course Overview, OOP
Jan 23 Development process, Agile Development UD, Chapter 2, Lecture 2: Development Process, Manifesto for Agile Software Development
Jan 26 Extreme Programming XP, Chapters 1–5
Jan 28 Extreme Programming, Practices XP, Chapters 6–7
Jan 30 Requirements UD, Chapter 9, Lecture 3: Requirements, Use Cases
Feb 2 Use case exercise
Feb 4 UML, OO Analysis UD, Chapter 3, Lecture 4: UML class diagrams, Lecture 5: OO Analysis.html
Feb 6 OO Analysis exercise
Feb 9 Group work: analysis model for team project
Feb 11 Analysis model presentations and discussion
Feb 13 Group work: improvements to analysis model for team project
Feb 16 OO Design Lecture 6: OO Design, OCP, LSP, Robert Martin, Design Principles and Design Patterns, pages 1-12
Feb 18 Version control Git for Designers
Feb 20 Version control lab
Feb 23 HTML and CSS Lecture 7: HTML and CSS
Feb 25 Web applications Lecture 8: Web applications
Feb 27 Exam 1 (in class)
Mar 2 Winter vacation, no class
Mar 4 Winter vacation, no class
Mar 6 Winter vacation, no class
Mar 9 Databases, SQL Lecture 9: Relational Databases
Mar 11 Database applications, JDBC Lecture 10: Database applications, JDBC
Mar 13 Team project progress milestone 1
Mar 16 ORM Lecture 11: ORM, Designing a Persistence Layer
Mar 18
Mar 20 Individual project progress milestone 1
Mar 23 Testing, code coverage Lecture 12: Testing
Mar 25 Ensuring Code Quality Lecture 13: Ensuring Code Quality
Mar 27 Team project progress milestone 2
Mar 30 Static Analysis Lecture 14: Static Analysis
Apr 1 Exam 2 (in class)
Apr 3 Spring vacation, no class
Apr 6 Spring vacation, no class
Apr 8
Apr 10 Individual project progress milestone 2
Apr 13
Apr 15
Apr 17 Team project progress milestone 3
Apr 20
Apr 22
Apr 24 Individual project progress milestone 3
Apr 27
Apr 29
May 1 Team project progress milestone 4
May 4
May 6 Individual project progress milestone 4