This page is designed to collect information regarding the proposed M.Sc. in Advanced Software Development (and industrial-placement/international variants thereof).

Programme structure

(We will probably want to tweak the module names here.)

Weeks 1-6

Weeks 7-12

Weeks 13-24

Weeks 25-

Advanced Java Programming

C++ Programming

option from any MSc


Research Methods > project preparation

Concurrency and Parallelism

Development Frameworks

Advanced Software Engineering

Languages and Systems

"Advanced Java Programming" and "Research Methods" are common modules for all MSc programmes. The C++ Programming module is shared with the Multicore MSc programme. The Concurrency and Parallelism module belongs to the Multicore MSc programme, included in the software development programme due to its (currently) very relevant nature.

Module descriptions in the Wiki (and short descriptions):

C++ Programming


The C++ Programming module gives students extensive experience of the industry-standard C++ language, covering design, development, debugging and testing of applications across a variety of domains.

Concurrency and Parallelism


Advanced Software Engineering


The Advanced Software Engineering module provides students with an in-depth understanding of state-of-the-art software engineering techniques and tools, covering modelling, project and code management, testing and verification.

Development Frameworks


The Development Frameworks module looks in depth at industry-standard software development environments, their use in application development and deployment, and the extension of these environments for specific purposes.

Languages and Systems


The Languages and Systems module gives students an insight and experience of using multiple languages and tools to create software solutions, including web, database and Unix systems programming.

Programme specific learning outcomes


General synopsis of the programme:

To be included in the prospectus for 2010:

Entry requirements:

Course content (in prospectus, before modules were decided):


The following list covers the sorts of things we would like to include in such a program, as a result of initial discussions, some compulsory some optional.

EAB2: suggested links with material in CO887 - Web-Based Information Systems Development.

REJ: here are a few suggestions. I'm not sure how to package them as some might go in the frameworks module or the advanced SE module.

IAU: Given the level of toolchain support for many of the aspects of software engineering we'd like to cover, I'm finding it difficult to distinguish between the Advanced Software Development and Development Frameworks modules, so I suggest these topics without trying to bind them to modules.

Credit framework indicative level descriptors for Masters qualifications

Taken from here:

Qualifications at the level indicated are awarded to students who have demonstrated:

  1. a systematic understanding of knowledge, and a critical awareness of current problems and/or new insights, much of which is at, or informed by, the forefront of their academic discipline, field of study, or area of professional practice;
  2. a comprehensive understanding of techniques applicable to their own research or advanced scholarship;
  3. originality in the application of knowledge, together with a practical understanding of how established techniques of research and enquiry are used to create and interpret knowledge in the discipline;
  4. conceptual understanding that enables the student:
    • to evaluate critically current research and advanced scholarship in the discipline; and
    • to evaluate methodologies and develop critiques of them and, where appropriate, to propose new hypotheses.

Typically, holders of a qualification at the level indicated will be able to:

  1. deal with complex issues both systematically and creatively, make sound judgements in the absence of complete data, and communicate their conclusions clearly to specialist and non-specialist audiences;
  2. demonstrate self-direction and originality in tackling and solving problems, and act autonomously in planning and implementing tasks at a professional or equivalent level;
  3. continue to advance their knowledge and understanding, and to develop new skills to a high level;

And will have:

  1. the qualities and transferable skills necessary for employment requiring:
    • the exercise of initiative and personal responsibility;
    • decision-making in complex and unpredictable situations; and
    • the independent learning ability required for continuing professional development.

Advanced Software Development MSc (last edited 2009-05-31 19:12:54 by frmb)