CS 501
Software Engineering
Spring 2003

Syllabus
(Subject to revision)

General Information

Week 1: The Process of Software Development 

Background Reading:  Frederick P. Brooks, Jr., The Mythical Man Month. Addison-Wesley, 1972

Date Event
Tuesday 1/21 Lecture 1:  Introduction to Software Engineering   [PowerPoint, HTML]
Thursday 1/23 Lecture 2:  Software Processes   [PowerPoint, HTML]

Week 2: Project Management

Reading:  

Date Event
Tuesday 1/28 Lecture 3:  Feasibility Studies   [PowerPoint, HTML]
Thursday 1/30 Lecture 4:  Project Management   [PowerPoint, HTML]  

Week 3: Legal Aspects of Software Development

Reading:  

Date Event
Tuesday 2/4 Lecture 5:  Legal Aspects of Software Engineering I  [PowerPoint, HTML]  
Thursday 2/6 Lecture 6:  Legal Aspects of Software Engineering II  [PowerPoint, HTML]
Quiz 1

Week 4: Business / Requirements

Date Event
Tuesday 2/11 [Lecture 7 will be on Wednesday evening at 7:30 p.m.]
Wednesday 2/12, 7:30 p.m. Lecture 7:  Business Aspects of Software Engineering  [PowerPoint, HTML]
Thursday 2/13 Lecture 8:  Requirements I  [PowerPoint, HTML]
Friday 2/15, 5:00 p.m. Assignment 1, Feasibility Study and Plan (report)

Week 5:  Requrements

Required Reading:  Daniel Huttenlocher and Daniel Spoonhower, Principles and Practices of Software Development [Draft.  Please do not circulate.]

Date Event
Tuesday 2/18 Lecture 9: Guest lecture. Daniel Huttenlocher (Cornell) and Daniel Spoonhower (Carnegie Mellon):  Principles and Practices of Software Development [PDF]
Thursday 2/20 Lecture 10: Requirements II  [PowerPoint, HTML]  
Quiz 2

Week 6: Requirements

Background Reading:  

Ben Potter, Jane Sinclair, David Till, An Introduction to Formal Specification and Z (Prentice Hall) 1991.
Jonathan Jacky, The Way of Z (Cambridge University Press) 1997.

Date Event
Tuesday 2/25 Lecture 11:  Requirements III [PowerPoint, HTML]
Thursday 2/27 Lecture 12:  Requirements IV  [PowerPoint, HTML]  

Week 7: System Architecture

Required Reading:  Mitchell Kapor, A Software Design Manifesto. Dr. Dobbs Journal,  1991. http://hci.stanford.edu/bds/1-kapor.html

Date Event
Tuesday 3/4 Lecture 13: [PowerPoint, HTML]
Usability I
Thursday 3/6 Lecture 14:  [PowerPoint, HTML]
Usability II  
Monday 3/3 - Wednesday 3/5 Assignment 2: First presentation and report

Week 8: Design I

Reading:  

Date Event
Tuesday 3/11 Lecture 15:  System Architecture and Design I [PowerPoint, HTML
Thursday 3/13 Lecture 16:  System Architecture and Design II   [PowerPoint, HTML]  
Quiz 3

Spring Break

Week 9: Design II

Background Reading:  

Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999. 
Grady Booch, Object-Oriented Analysis and Design with Applications, second edition. Benjamin/Cummings 1994. 
Rob Pooley, Perdita Stevens, Using UML Software Engineering with Objects and Components. Addison-Wesley 1999.

Date Event
Tuesday 3/25 Lecture 17: Object Oriented Design I  [PowerPoint, HTML]
Thursday 3/27 Lecture 18: Object Oriented Design II  [PowerPoint, HTML]

Week 10: Reliability

Reading:    

Date Event
Tuesday 4/1 Lecture 19:  Reliability I  [PowerPoint, HTML]
Guest: Dean Krafft, "NSDL Software Development" [PowerPoint]
Monday 3/31 - Wednesday 4/2 Assignment 3, Second presentation and report
Thursday 4/3 Lecture 20:  [no lecture]
Quiz 4

Week 11: 

Reading:  

Date Event
Tuesday 4/8 Lecture 21:  Reliability II [PowerPoint, HTML]
Thursday 4/10 Lecture 22:  Reliability III  [PowerPoint, HTML]  

Week 12:  

Reading:  

Date Event
Tuesday 4/15 [Lecture moved to Wednesday 4/16]
Wednesday 4/16 Lecture 23: Performance of Computer Systems [PowerPoint, HTML]
Thursday 4/17 Lecture 24: People I [PowerPoint, HTML]

Week 13:  

Reading:  

Date Event
Tuesday 4/22 Lecture 25: People II [PowerPoint, HTML]
Thursday 4/24 Lecture 26: Delivering the System [PowerPoint, HTML]  
Quiz 5

Week 14:  Risk

Reading:  

Date Event
Tuesday 4/29 Lecture 27: Risk in Software Development [PowerPoint, HTML]
Thursday 5/1 [no class]
Wednesday 4/30 - Friday 5/2 Assignment 4, Project Delivery (presentation, code and documentation)

[CS 501 Home Page]

William Y. Arms
(wya@cs.cornell.edu)
Last changed: April 7, 2003