MSc Software Engineering
The MSc in Software Engineering is a one-year course covering traditional and contemporary approaches to software development from formal methods to object-oriented programming, with the opportunity to study specialist subjects such as Computer Vision, Cryptography, Distributed Computing Systems, Critical Systems, E-Business, Intelligent Agents, Model-checking, Multimedia and Web-Based Systems, taught by leading experts in these areas.
Students will enhance their skills in software modelling, design, development, and testing. The major project and dissertation provide an opportunity to integrate the material covered in the taught modules. Students with this qualification typically go on to work in software engineering research or advanced software development projects.
Further information:
Entry requirements
It is expected that you have taken a first degree in Computer Science, Software Engineering, or a closely related subject. In particular you should check that you have covered the core subjects listed in the ACM/IEEE Computer Science Curriculum.
This course assumes you have programming experience, and are familiar with the Java programming language. You can learn about this language, for example, by following Sun’s Java Tutorial, which is available on-line and also in book form.
It is also assumed that you are already familiar with modern software development techniques, and in particular the UML notation. This is covered by many good textbooks, for example UML Distilled, by Martin Fowler, from Addison Wesley.
Finally, you should familiarise yourself with a formal method such as B or Z. Two books covering these are The B Method, by Steve Schneider, from Palgrave Macmillan, and Formal Specification Using Z, by David Lightfoot, from Palgrave Macmillan.
The syllabus is updated every year, but this list will give you a rough guide to modules offered at present.
Semester 1
- COMP6008 Research Methods in Computing (Compulsory)
- COMP6013 Agile and Object Oriented Development (Compulsory)
- COMP6038 Safety Critical Systems (Compulsory)
- COMP6039 Software Project Management & Quality Assurance (Compulsory)
- COMP3032 Intelligent Algorithms (Optional)
- COMP6003 Enterprise Web Development (Optional)
- COMP6017 Topics on Web Services (Optional)
- COMP6034 Types and Programming Languages (Optional)
- COMP6045 Hypertext and Web Technologies for Masters (Optional)
- COMP6059 Advanced Web Development (Optional)
- INFO6002 Assistive Technologies and Universal Design (Optional)
- INFO6003 Applications of Security in Information Technology (Optional)
Semester 2
- COMP6004 Formal Design of Systems (Compulsory)
- COMP6006 Intelligent Agents (Optional)
- COMP6028 Semantic Web Technologies (Optional)
- COMP6035 From Aspect-Oriented Programming to Program Generation (Optional)
- COMP6036 Advanced Machine Learning (Optional)
- COMP6051 Social Networking Technologies (Optional)
- ELEC6032 Cryptography (Optional)
- INFO6004 E-Business Strategy (Optional)
Semester 3/Summer
- COMP6029 MSc Project and Dissertation (Compulsory)
