Computer Science 520/620
Advanced Software Engineering
OverviewThis course will cover the following high-level topics:
- Software modelling and the Unified Modelling Language (UML)
- Software design and architecture
- Software testing
- Experimental Software Engineering
LectureTuesday and Thursday 10:00am--11:15am
RoomGoessmann Lab Addition 152
Office: 358 CS building
Office hours: after class and by appointment
Teaching assistantHee-Tae Jung
Office: LGRC A307
Office hours: by appointment
All assignments are provided through Moodle, and submissions must be uploaded to Moodle.
|01/19/2016||Course introduction||Slides, Slides (4pages)|
|01/21/2016||Software architecture / UML overview||Slides, Slides (4pages)|
|01/26/2016||OO design principles||Slides, Slides (4pages)|
|01/28/2016||Design patterns (overview & structural patterns )||Slides, Slides (4pages)|
|02/02/2016||Design patterns (behavioral patterns)||Slides, Slides (4pages), Code examples|
|02/04/2016||Project proposals (elevator pitches)||Moodle|
|02/09/2016||Design patterns (behavioral patterns)||Slides, Slides (4pages), Code examples|
|02/11/2016||Design patterns (visitor pattern, creational patterns)||Slides, Slides (4pages), Code examples|
|02/16/2016||No class -- Monday class schedule will be followed!|
|02/18/2016||Introduction to program analysis and software testing
Discussion and selection of research papers
|Slides, Slides (4pages), Papers|
|02/23/2016||No class -- work on project plan||Moodle|
|02/25/2016||Dynamic vs. static program analysis||Slides, Slides (4pages)|
|03/01/2016||Paper presentations: Distributed systems||Moodle|
|03/03/2016||Paper presentations: Structural testing||Moodle|
|03/08/2016||Paper presentations: Mutation testing||Moodle|
|03/10/2016||In-class exercise: Structural testing and mutation testing||Moodle|
|03/22/2016||Paper presentations: Automated test generation||Moodle|
|03/24/2016||In-class exercise: Automated vs. manual test generation||Moodle|
|03/29/2016||Paper presentations: Fault localization||Moodle|
|03/31/2016||Midterm preparation: recap and discussion of example questions||Moodle|
|04/12/2016||No class -- finalize project||Moodle|
|04/14/2016||No class -- prepare project presentation||Moodle|
Further readingThe following text books provide a more comprehensive discussion of the topics addressed in this class. Note that these text books are not a requirement for this class.
- UML distilled: a brief guide to the standard object modeling language. Martin Fowler. Addison-Wesley Professional, 2004.
- Introduction to software testing. Paul Ammann and Jeff Offutt. Cambridge University Press, 2008.
- Design patterns: elements of reusable object-oriented software. Erich Gamma et al.. Addison-Wesley Professional, 1994.
- Head first design patterns. Eric Freeman and Elisabeth Robson. O'Reilly, 2004.