This schedule may change; any changes will be announced in class and posted on the course website.

Important: I expect you to do the assigned reading before class.

Date Topic/Activity Reading(s)
Jan 22 Course intro Lecture 1: Course overview, OOP; HFOO, Appendix ii
Jan 24 Development process Lecture 2: Development Process; UD, Chapter 2
Jan 27 Requirements Lecture 3: Requirements, Use Cases; HFOO, Chapters 2-3; UD, Chapter 9
Jan 29 Use cases exercise n/a
Jan 31 UML Lecture 4: UML Class Diagrams; UD, Chapter 3
Feb 3 No class due to weather
Feb 5 No class due to weather
Feb 7 OO Analysis Lecture 5: OO Analysis; HFOO, Chapter 4
Feb 10 OO Analysis, UML exercise n/a
Feb 12 OO Design Lecture 6: OO Design, OCP, LSP; Robert Martin, Design Principles and Design Patterns, pages 1-12
Feb 14 No class due to weather
Feb 17 Version control Git for Designers
Feb 19 Version control lab n/a
Feb 21 HTML and CSS Lecture 7: HTML and CSS
Feb 24 Dynamic HTML, JavaScript, jQuery Lecture 8: Dynamic HTML, JavaScript, jQuery
Feb 26 Web applications
Exam 1 handed out
Lecture 9: Web applications
Feb 28 GWT, User interfaces
Exam 2 due in class
Lecture 10: GWT, User interfaces
Mar 3 Winter vacation, no class
Mar 5 Winter vacation, no class
Mar 7 Winter vacation, no class
Mar 10 GWT lab n/a
Mar 12 Databases, SQL Lecture 11: Relational Databases
Mar 14 Progress reports
Mar 17 Database Applications, JDBC Lecture 12: Database Applications, JDBC
Mar 19 ORM Lecture 13: ORM, Designing a Persistence Layer
Mar 21 Progress reports
Mar 24
Mar 26
Mar 28 Progress reports
Mar 31
Apr 2
Apr 4 Progress reports
Apr 7
Apr 9
Apr 11 Progress reports
Apr 14
Apr 16
Apr 18 Spring vacation, no class
Apr 21 Spring vacation, no class
Apr 23
Apr 25 Progress reports
Apr 28 Extreme Programming XP, Chapters 1–10
Apr 30 Exam 2 handed out
May 2 Progress reports
Exam 2 due in class
May 5
May 7 Progress reports