CSE 216: Software Engineering

The following schedule is a rough estimate and is subject to change. Course slides are available in Blackboard.

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