The following schedule is tentative.
Most likely, some of the topics will change during the semester. As the course progresses,
hyperlinks will be provided to the lecture notes. The project assignments are
provided early so that you know what to expect; these project handouts are likely to
change by the time the project stage is assigned.
Week |
Lec. |
Date |
Topic |
|
Assigned |
Due (5pm) |
1 |
1 |
Aug. 29 |
Overview: What is Software Engineering |
[Crisis] |
|
|
2 |
Aug. 31 |
Software Engineering Processes |
|
|
||
2 |
|
Sep. 5 |
No class. Labor Day |
|
|
|
3 |
Sep. 7 |
Agile processes: Extreme Programming |
[XP][XPDemystified][XPCosts] |
Proj1 |
||
3 |
4 |
Sep. 12 |
Requirements and Specifications |
|
|
Proj2 |
5 |
Sep. 14 |
Unified Modeling Language |
|
|||
4 |
6 |
Sep. 19 |
Design Patterns |
[Gamma] |
|
|
7 |
Sep. 21 |
Version Control |
|
|
||
5 |
8 |
Sep. 26 |
Testing Practice |
Proj3 |
||
9 |
Sep. 28 |
Presentations (Requirements). Testing
Techniques |
|
|
|
|
6 |
10 |
Oct. 3 |
Presentations (Requirements). Testing Techniques |
[Coverage] |
Proj4 |
|
11 |
Oct. 5 |
Testing Techniques |
Homework 1 (UML) |
|
||
7 |
12 |
Oct. 10 |
Debugging |
|
Proj5 |
|
13 |
Oct. 12 |
Delta Debugging |
Homework 2 (Testing) |
Homework 1 (UML) |
||
8 |
14 |
Oct. 17 |
Presentations (Design). Runtime Monitoring |
|
Proj6 |
|
15 |
Oct. 19 |
Presentations (Design). Runtime Monitoring |
[SFI] |
|
|
|
9 |
16 |
Oct. 24 |
Runtime Monitoring for Data Races |
[Eraser] |
|
Homework 2 (Testing) |
17 |
Oct. 26 |
Type Checking |
|
Homework 3 (delta) |
|
|
10 |
18 |
Oct. 31 |
Static Analysis Tools |
[Splint] |
|
|
19 |
Nov. 2 |
Refactoring |
|
Homework 4 (synchronization) |
Homework 3 (delta) |
|
11 |
20 |
Nov. 7 |
Memory management |
|
|
|
|
Nov. 9 |
Midterm Exam (in class) |
|
|
|
|
12 |
21 |
Nov. 14 |
Model Checking |
|
Homework 5 (splint) |
Homework 4 |
22 |
Nov. 16 |
Program Verification |
[Hoare] |
|
|
|
13 |
23 |
Nov. 21 |
Program Verification |
|
Homework 5 |
|
24 |
Nov. 23 |
How To Write Secure Code |
|
|
||
14 |
25 |
Nov. 28 |
Presentations (Final report) |
|
Homework 6 (program verification and
security) |
|
26 |
Nov. 30 |
Presentations (Final report) |
|
|
Proj7 (due Dec 3) |
|
15 |
27 |
Dec. 5 |
Prospector |
|
|
Homework 6 |
|
Dec. 7 |
Project Demonstrations |
|
|
|