MSc Software Systems and Internet Technology

Due to the popularity of the MSc courses offered by the Department of Computer Science, we have introduced a staged admissions process for entry in September 2019. We will use this process to consider all applications received on or after 15 February 2019.

For more information please see the staged admissions web pages

Start date: September 2019
Duration: 12 Months full time
Programme code: COMT138

Apply now

The content of our courses is reviewed annually to make sure it's up-to-date and relevant. Individual modules are occasionally updated or withdrawn. This is in response to discoveries through our world-leading research; funding changes; professional accreditation requirements; student or employer feedback; outcomes of reviews; and variations in staff or student numbers.In the event of any change we'll consult and inform students in good time and take reasonable steps to minimise disruption


  • Gain practical experience of working on a software development project for a client
  • Teaching informed by researchers working in relevant areas such as information engineering and software systems
  • The Department of Computer Science is 5th in the UK for Research Excellence (REF 2014)

The internet is now a key technology for industry and commerce. However, beneath the friendly interface of the world wide web lie sophisticated software systems that support electronic commerce, information retrieval, distributed computing and communication with large databases.

The MSc in Software Systems and Internet Technology is designed for graduates of disciplines other than Computer Science, who have some experience of computer programming, and wish to build on their existing knowledge. The programme covers key topics in computer science and software engineering, but with an emphasis on current topics in internet computing.


Course content

The programme consists of two semesters of taught modules and a dissertation project, which is completed during the summer. In the autumn semester, the modules introduce core concepts and techniques such as object-oriented programming, computer networking, database technology and software engineering. The spring semester modules build on this by providing more advanced coverage of topics in internet computing, including e-commerce, concurrent and distributed computing, and web intelligence.


Foundations of Object Oriented Programming

This module introduces the foundations of object-oriented programming using the language Java. The emphasis of the module is on software engineering principles, and concepts underpinning object-oriented design and development are introduced from the outset. By the end of the course, students will be able to design, implement and test moderately complex Java programs.

Network and Internetwork Architectures

This module introduces the principles of computer networks and internetworks, together with relevant background material on computer architecture. The emphasis of the unit is on the concepts and design issues related to layered communication protocol architectures, local area networks and internetworking (especially the internet protocol suite), with a particular focus on the issues of network security, capacity and reliability, and the mathematical models underlying these.

Software Engineering for Internet Technology

This module is concerned with software engineering techniques, with a particular emphasis on web-based systems (including user interface design and databases). It covers the appropriate choice of software lifecycle model, the interactions between developer and customer, and the conceptual management of information from requirements through to detailed design in the context of database-backed web systems.

Professional Issues

This module aims to promote an awareness of the wider social, legal and ethical issues of computing. It describes the relationship between technological change, society and the law, emphasising the powerful role that computers and computer professionals play in a technological society. It also introduces the legal areas which are specific and relevant to the discipline of computing (eg intellectual property, liability for defective software, computer misuse, etc) and aims to provide an understanding of ethical concepts that are important to computer professionals, and experience of considering ethical dilemmas.

Advanced Java Programming

This module presents the object-oriented approach to building large software systems from components in the Java Programming Language. Large-scale program design and implementation issues are covered, using the Java Application Programmer's Interface, the Java Foundation Classes, the Java Abstract Windowing Toolkit and the Java Collections Framework. Detailed topics include: data and procedural abstraction, generics, collection interfaces and implementations, searching and sorting algorithms, time and space complexity analysis, the event-driven model of computation, GUI building and files.

Web Technologies

This course is concerned with an introduction to modern Web technologies. We will read and discuss both teaching material and research papers. Topics will include:

  • Technologies for creating static and dynamic Web pages (e.g. HTML, JavaScript)
  • Technologies for Web Databases (e.g. MySql)
  • Methods for searching and mining the WWW
  • Web 2.0 concepts and technologies
  • Client Server Architectures.
Software Re-engineering

Software development often involves the improvement and adaptation of "legacy systems" - well-established, business-critical software systems that might have become difficult to maintain over time. This module introduces the skill-set that is required to get to grips with such systems. It teaches students how to reverse-engineer and appraise complex, unwieldy systems by implementing source code and execution analysis techniques. It also presents a range of strategies that can be used to adapt and reengineer such systems to improve their quality and viability.

Team Project (SSIT)

Aims/Description: The Team Software Project (SSIT) is a group software engineering project which runs over the Spring semester. The philosophy underlying the project is that the skills needed for team working in the software engineering field can most effectively be learned by experience. The project is based around a client (who may be from an external organisation or another University department) who has a real software development problem to be solved. Students are organised into teams of approximately five people, and they work cooperatively on the analysis, design, implementation and testing of the client's software.

Dissertation Project

For their individual project, students can choose from a wide range of possibilities in many different environments both within and outside the University. The project is completed during the summer, and each student will have a personal academic supervisor to guide them during this period. The individual project is examined by a dissertation based on the project work and an oral examination.


Graduates from this programme are well qualified for employment related to electronic commerce, web databases, and other internet applications. Graduates from a similar programme run previously by the department are now working for employers such as Logica, Mirror Group and EDS.