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/18
Introduction; waterfall model
1/20
Software development Processes; XP; Scrum Ch1, Ch2
1/22
Unified Process
WEEK 2
1/25
Inception; Requirement Engineering Ch3-Ch5
1/27
Use cases; other requirements Ch6, Ch7
1/29
Overview of UML
WEEK 3
2/1
Domain model Ch8, Ch9
2/3
System sequence diagrams Ch10
2/5
Design by contract Ch11, Design by contract by Bertrand Meyer
WEEK 4
2/8
Project planning
2/10
Class cancelled due to snow
2/12
UML: Interaction diagram Ch15
WEEK 5
2/15, 2/17
UML: design class diagrams, package diagrams Ch13-14, Ch16
2/19
GRASP design patterns Ch17, Ch18
WEEK 6
2/22, 2/24
GRASP design patterns Ch17, Ch18
2/26
Design for visibility Ch19
WEEK 7
3/1
Version control Version Control with Subversion (Chapter 1)
3/3
Java review; generics
3/5
Web applications
WEEK 9
3/15
Midterm review
3/17
Midterm
3/19
Project meetings
WEEK 10
3/22
Develop Java Web App J2EE Tutorial
3/24, 3/26
GOF design patterns Ch25,26
WEEK 11
3/29, 3/31
GOF design patterns Ch25, 26
4/2
Project meetings
WEEK 12
4/5
GOF design patterns
4/7
Project progress presentation
4/9
WEEK 13
4/12
Software metrics
4/14
Testing Handouts
4/16
Project meetings
WEEK 14
4/19, 4/21, 4/23
Testing Handouts
WEEK 15
4/26
Refactoring
4/28, 4/30
Project presentations