For 2004, I am teaching on two of the Software Engineering courses.
SE 251 Software Engineering.
Building on the OOP material of the first
half of the course, delivered by
Rick Mugridge, the second half takes a more abstract perspective by
modelling object-oriented software using the UML. In addition, design patterns
are introduced as a means of building object-oriented software that is
reusable, extensible and maintainable. To illustrate design patterns, material
will be drawn from the design of the successful JUnit CASE tool and from
Java's Swing framework. Practical work will involve applying patterns to
develop a Swing-based application using aspects of the XP process.
SE710 Advanced Topics in Software Engineering.
John Grundy teaches the first 6 weeks of this course with the theme of adaptive systems. In the second half, the focus is on dynamic reconfiguration as an enabling technology for adaptive systems and systems that need to provide continuous service. The course involves examining contemporary research in the field through reviewing research papers, and includes a practical project using the OpenRec framework.