Note that this unit is available only to certain students, for whom it may be a core component of their course. COMP331 Software Engineering 3 credit points Software engineering is the application of engineering principles and methods to the design, implementation and operation of large software systems. This unit provides an introduction to the subject, describing the software life-cycle and the techniques that can be applied in each of its stages. Approximately half of the material is concerned with methods for analysis, specification and design, including the functional and object-oriented approaches. The remainder addresses issues of management and quality assurance.
Practical work includes a substantial group project.
The study of programming languages is important because of the central role that programming of one form or another plays in computing. These lectures are supplemented by practical exercises in language implementation. The unit will cover some general issues of the theory of computation and algorithm design, including computability and complexity. The general principles will be illustrated by designing several very efficient algorithms with applications in telecommunication networks, cryptography and other important fields. Note that this unit is available only to certain students, for whom it may be a core component of their course.