Open Day Talks: Abstracts
- 11:00-11:30 — Andrew Simpson, Introduction to the Programme
-
The Software Engineering Programme delivers one-week graduate-level courses in over 25 different subjects. The Programme is aimed primarily (although not exclusively) at professional software engineers: courses are taught with a view to current and emerging practice and technologies, and the Programme's structure reflects the fact that its students often have to deal with many and varied competing pressures. In this talk, we will introduce the Software Engineering Programme and discuss its potential for providing benefits to its students.
- 11:30-12:00 — Jeremy Gibbons, Indexed Programming
-
Indexed programming involves parametrizing types by values. This allows programs explicitly to capture data invariants in the types; proving that invariants are maintained then becomes a matter of type-checking rather than deduction or model-checking. The best-known theory of types parametrized by values is dependent typing, which is richly expressive but neither easily nor widely implemented. Recent developments in modern programming languages - specifically, Haskell's generalized algebraic datatypes - show how to achieve a kind of lightweight dependently-typed programming, by reflecting the value indices at the type level. Only minor changes to the language are required, but major benefits in expressiveness are obtained. Moreover, the same techniques are applicable to the generics provided in more mainstream languages such as Java and C#.
- 12:00-12:30 — Jim Davies, Model-driven software engineering
-
To follow.
Read about the Programme, see some testimonials from past and present students, find out how to apply, return to the open day schedule, look up directions to the Computing Laboratory, or register or ask for more information.