| Days |
Topics |
Readings |
WEEK 1
|
1/12
|
Introduction |
|
1/14
|
Software development Processes |
Ch1, Ch2
|
1/16
|
UP; Extreme Programming; Scrum |
WEEK 2
|
1/19
|
Inception; Requirement Engineering
|
Ch3-Ch5
|
1/21, 1/23
|
Use cases
|
Ch6
|
WEEK 3
|
1/26
|
Other requirements; Overview of UML
|
Ch7
|
1/28, 1/30
|
Domain model
|
Ch8, Ch9
|
WEEK 4
|
2/2
|
System sequence diagrams
|
Ch10
|
2/4, 2/6
|
Design by contracts
|
Ch11, Design by contract by Bertrand Meyer
|
WEEK 5
|
2/9, 2/11, 2/13
|
UML: Package, interaction, and class diagrams
|
Ch13-16
|
WEEK 6
|
2/16
|
Project planning
|
|
2/18, 2/20
|
Basics of object design
|
Ch17, Ch18
|
WEEK 7
|
2/23
|
Java review; generics
|
|
2/25, 2/27
|
Develop Java web apps
|
|
WEEK 9
|
3/9
|
Midterm review
|
|
3/11
|
Midterm
|
|
3/13
|
Version control
|
Version Control with Subversion
(Chapter 1)
|
WEEK 10
|
3/16
|
Project meetings
|
|
3/18
|
Design for visibility
|
Ch19
|
3/20
|
More design patterns
|
Ch25,26
|
WEEK 11
|
3/23, 3/25, 3/27
|
More design patterns
|
Ch25, 26
|
WEEK 12
|
3/30
|
Project meetings
|
|
4/1
|
More design patterns
|
|
4/3
|
Project progress report
|
|
WEEK 13
|
4/6
|
Software metrics
|
|
4/8, 4/10
|
Testing
|
Handouts
|
WEEK 14
|
4/13
|
Project meetings
|
|
4/15, 4/17
|
Testing
|
Handouts
|
WEEK 15
|
4/20
|
Refactoring
|
|
4/22, 4/24
|
Project presentations
|
|