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.