MSc in Computing - Structure 

The MSc in Computing programme is structured into groups of modules, (i) Core Critical Skills modules, (ii) Core Specialism modules and (ii) Option modules. An overview of each module is available by clicking on the module name below.

The structure of the full time and part time delivery is also available.

(i) Critical Skills Core Modules common to all MSc in Computing specialisms

(ii) Specialism Core Modules which vary depending on the specialism

Advanced Software Development Data Analytics Security & Forensics

(iii) Option Modules including:

Students may also take Specialism Core Modules from other specialisms as Option modules, subject to scheduling.

A selection of option modules will be offered each year.  Option modules availability will be subject to a threshold minimum number of interested students.


To apply for any of the MSc in Computing programmes visit the main course page on the DIT website:

Part Time Delivery Structure

The minimum completion time for the part time MSc in Computing is 2 years.    The diagram belows shows the recommended delivery to complete in two years.  Students may progress through the programme at their own pace but noting that modules are not available every semester. 

Classes are held in 3 or 4 hour blocks in the evening or selected Saturdays throughout the semester.

B‌ack to Top

Full Time Delivery Structure

The MSc in Computing is completed in 3 semesters, see diagram below.

Classes are in 3 hour blocks normally between Monday and Friday but can also be in the evening.  The Case Studies module is delivered on 4 Saturdays during the second semester.

B‌ack to Top

MSc in Computing - Module Descriptions

Problem Solving, Communications & Innovation

Graduates of a technical postgraduate programme will be expected to be problem solvers who use their knowledge and intellectual skills to help the organisations in which they work to convert ideas into products, services or processes or add to deeper knowledge and information of benefit to the organisation. They need to be able to work collaboratively and in some situations develop and execute innovative strategies to help their organisations succeed.

Problem solving is about analyzing a problem, breaking it down into its constituent parts, looking at it from a number of angles, and characterizing each piece of a problem in such a way that the solution is clearly apprehended by anyone who would care to listen. The Problem Solving element of this module will expose the Students to a range of ad hoc and structured approaches to knowledge-based problem solving. The student will be expected to be able to explain, criticise and apply a range of complementary techniques.

The Communication and Innovation elements will expose students to key “soft skills” and innovative approaches to help create a competitive edge. The students will be expected to undertake a series of exercises that demonstrate their mastery of communication and innovation. The student will also be exposed to the ethical and philosophical issues relevant to the development of innovative solutions to problems faced by organisations. 

Back to Top

Case Studies in Computing

The purpose of this module is to expand the student’s understanding of techniques employed in their field of study by exposing them to real world case studies. These case studies may be of approaches that organisations have taken to implement solutions to real problems in the field or based on scenarios which have no a priori solutions to allow the students to create their own approach and compare it with other students.

The module is designed to accommodate students who wish to work with a single organisation or who wish to gain exposure to a wider range of case studies through attendance at seminars.

B‌ack to Top

Research Writing & Scientific Literature

MSc in Computing graduates will need to remain up to date with new innovations in computing which may be applicable to their chosen area of specialism. To achieve this, students must be able to undertake research using appropriate sources in an ethical and professional manner and present their research findings in an appropriate form. As this is an MSc in Computing, the major focus of this module will be on digital literacy and writing.

This module develops the student's ability to effectively research and present their research findings introducing them to the research process; equipping them with an understanding of computing research sources and how to use them critically and ethically; and how to present their findings in an acceptable form. 

B‌ack to Top

Research Methods & Proposal Writing

This module develops the student’s ability to effectively take a research project from a research question through to a successful resolution. This will involve covering topics such as research management, qualitative and quantitative research techniques, and research writing and presentation. The module will culminate in the preparation of a research dissertation proposal. 

This module is a follow on from the Research Writing & Scientific Literature module which is a pre-requisite.

B‌ack to Top

Research Project & Dissertation

In order to qualify for the award of an MSc in Computing a student is required to propose, design and undertake an independent detailed study of specific problem or issue relevant to their programme of study and complete a dissertation, which may include a work-based project.

The student must be able to complete a body of work appropriate for a taught Master’s degree demonstrating an ability to apply skills and knowledge gained in previous study. 

B‌ack to Top

Working with Data 

No enterprise can be effective without high quality data and no data analytics project can run efficiently without good quality, integrated data. This module will focus in on the key data specific skills that are necessary for the successful development and implementation of an analytics project. 

The module covers the key skills needed to manage, create, process and extract data located in an organisation’s database using R and SQL programming.  The module also develops skills in general data wrangling including data cleansing, pre-processing, conversion, parsing and data fusion and integration - tasks required to handle data from a variety of sources.

B‌ack to Top

Probability & Statistical Inference

This module is designed to introduce students to the role of probability models and statistical inference in data analysis. Laboratory work will give the student experience in applying probability and statistical models to real data. 

B‌ack to Top

Data Mining

Data mining is an area of increasing importance and interest to organisations. Data mining techniques offer huge potential in the creation of new knowledge products and services and the enhancement of existing products and services. Rather than focus on the details of specific data mining techniques, this module addresses the application of data mining techniques to real business problems. The focus of the module is on the use of data mining techniques effectively in organisations. As part of the module students will develop a complete data analytics solution within a team. 

B‌ack to Top

Machine Learning

The aim of this module is to provide students with a comprehensive foundation and practical skills in machine learning including the underlying principles, the techniques used and applications of machine learning. Students will be required to use the techniques presented and to design and develop a machine learning system. 

B‌ack to Top

Data Visualisation

Data Visualisation is a multidisciplinary area drawing upon several different areas of computer science (e.g. psychology, statistics, data mining, graphic design, information visualisation) to deliver meaningful solutions.

This module provides students with an introduction to the theories underpinning data visualisation, best practice in using visualisations effectively, and practical skills in creating visualisations from datasets.

The emphasis of the module is human-centred rather than machine-cantered as a central challenge in visualisation is choosing/designing the best visual interface for a task (as dictated by the expected audience). 

B‌ack to Top

Data Management

No enterprise can be effective without high quality data. Today’s organisations rely on their data assets to make more informed and more effective decisions. Leading organisations are using their data assets by creating competitive advantages through greater knowledge of their customers, innovative uses of information and operational efficiencies. For many important decisions, we experience information gaps – the difference between what we know and what we need to know to make an effective decision. Every organisation needs to effectively manage its increasingly important data and information resources. The role of data management function can effectively provide and control data and information assets of the organisation. 

The aim of this module is to study, discuss and explore the role of data management in an organisation and the various roles, processes, tools, techniques, requirements etc that are involved in the data management function. 

B‌ack to Top

Programming Paradigms: Principles & Practice

This module introduces the concepts that serve as a basis for different programming languages and provides the students with a basic understanding and appreciation of the various programming paradigms, evaluation criteria and language implementation issues. It covers concepts from imperative, object- oriented, functional and logic programming, illustrated with examples from varieties of languages.

It also introduces general programming issues such as memory management and complexity, good programming practices, refactoring and design patterns.

The aim of this module is to provide students with the knowledge and skill to develop efficient effective programmes with understanding of the basic principles underlying the design of the main types of programming languages and to enable them to critically evaluate and compare different paradigms. 

B‌ack to Top

Software Design

This module is concerned with imparting an in-depth understanding of software design and related methodologies. It is about enabling one to understand and have some experience of different techniques in software design, and their role in the overall lifecycle process in which the approach might be embedded. The use of CASE tools is emphasised.

The aim of this module is to equip students with principles and practices needed to implement successful, quality software designs using appropriate design tools and techniques coupled with a holistic understanding of the software development process and the role of software design therein. 

B‌ack to Top

Advanced Databases 

Data, its creation, acquisition, modelling, storage, integrity, security and quality are essential to any knowledge endeavour. It is therefore important that students are equipped with the necessary skills to design, build and manage databases. The module builds on the students previous experiences of working with databases. The module covers advanced and complex databases relating to design, storage, management and architecture of data and databases in a central and distributed environment.

B‌ack to Top

Systems Architectures

This module reviews the implications and challenges in design choices for architectures of modern information systems.  These systems must be reviewed in terms of Distribution, Performance, Scalability, Discovery, Transparency and Governance. The role of protocols in delivering these systems is a core topic of the module. The module explores recent developments including the architectures of Intelligent Systems, the Cloud and the Internet of Things. This module looks at the history and evolution behind cloud computing followed by a review of the latest technologies within it. This module is designed to provide the student with both a practical and theoretical understanding of existing cloud systems and their underlying technologies. The technologies focused on will include  virtualisation, distributed computing, cloud storage, security within the cloud in addition to reviewing a number of existing cloud environments.

Secure Systems Development

There are software defects which can be easily avoided that are a primary cause of commonly exploited software vulnerabilities. Empirical evidence shows, that most vulnerabilities stem from a relatively small number of common programming errors. By identifying insecure coding practices and developing secure alternatives, software developers can take practical steps to reduce or eliminate vulnerabilities before deployment. Employing secure programming techniques before the software is deployed can lead to significant cost savings. 

The aim of this module is to introduce the students to the principles of secure software development, installation, maintenance and management and to give the students a thorough understanding of the secure software development issues and experience in practical secure software development. 

B‌ack to Top

Web Application Architectures

This module builds on the student's existing knowledge of web development. The student will learn how to build sophisticated web applications using specialised web architectures and frameworks. They will be taught how to use different architectural standards that may be used across a variety of environments, which improves the quality of a web application without compromising flexibility. The module covers techniques to develop server-side test-driven software and RESTful web-APIs able to interact with databases and built using the MVC design pattern. These techniques help to address realistic enterprise challenges, while still being sufficiently high-level to be useful in diverse and heterogeneous environments. Additionally, the module covers techniques to develop client-side rich responsive interfaces to address mobile technological explosion.

The first aim of this module is to enable students to architect and implement robust, high-performance, complex enterprise level web solutions that integrate seamlessly with other common technologies using efficient design paradigms. The second aim of this module is to enable learners to develop rich and complex interfaces that address the users’ needs and preferences. It will provide learners with an overview of the landscape of client side technologies that are available to developers in order to create rich user experiences. Learners will be supported to critically evaluate and select methods and technologies by providing in-depth knowledge of specific examples and principles. 

B‌ack to Top

ICT Regulations & Professional Issues

The recent societal changes due to rapid penetration of Information Technology into all aspects of modern life have been compared with those changes due to the industrial revolution of the nineteenth century. As with the industrial revolution this new IT revolution has driven changes in most areas of law, particularly in the areas of contracting, data protection and intellectual property rights. This module sets out to provide IT professionals with a framework of understanding across all of the main topic areas. It is designed to provide best practice, opportunities and pitfalls when dealing with the acquisitions and use of computer technology that they may require.

It is also necessary for the information professional to understand the regulations concerning information in systems and the legal issues involved in using internal and external information sources. Likewise, the history of current legislation, challenges in compliance, and future of related legal issues for corporations in a national and global environment will be explored.

B‌ack to Top

Universal Design

Universal design is a philosophy which guides designers to consider all users when designing any product or service, and to provide all users with identical use whenever possible, or at the very least equal use. The philosophy is made concrete through the Principles of Universal Design, compiled by researchers at North Carolina State University. Though initially linked closely to the fields of architecture, built environment, ergonomics and product design, the philosophy of Universal Design has now gained relevance across a much broader set of domains, in many cases supplementing an already rich understanding of accessibility, user-centred design and interface design, but in other cases it has been responsible for developing ab initio an interest in diversity and universality in design.

Students on this programme will learn about the principles and philosophy of universal design across several domains. Students will study relevant aspects of a variety of fields, incorporating ergonomics, anthropometry and interaction design, and will develop the skills to both critically assess current designs and produce effective universal designs for products and services. Included in this is the design of guidelines themselves, based on the principles and philosophy of universal design and leading to regulations and legislation, as well as industry standards. 

B‌ack to Top

UX Design

This module aims to enhance the user experience by providing the core knowledge to optimise device usability, by examining a broad range of user experiences across software and hardware applications and establishing the necessary interaction requirements for enhanced user experience across a broad range of technology.

This module will be informed by best-practice interaction standards and guidelines. The key objective is to minimise unnecessary barriers to the use of ubiquitous IT applications for everyday living e.g., online shopping, information searching, communications, social media. 

B‌ack to Top

Geographical Information Systems

A Geographical Information System (GIS) is a computer system designed to facilitate the collection, management, and analysis of large volumes of geographical knowledge. This module will focus on the fundamental principles of GIS, the practical techniques of implementing a GIS and the creation and use of a GIS for spatial analysis.

The aim of this module is to take students from no prior knowledge of GIS to a position where they (i) understand the role and current state of the art in Geographical Information Systems, (ii) can analyse a problem in GIS and build an appropriate solution and (iii) are familiar with the basic techniques of spatial analysis and modelling. 

B‌ack to Top

Financial Maths 

This module will review some basic financial concepts (portfolios, arbitrage, contingent claims, etc) and develop more mathematical ideas underlying modern financial mathematics. An introduction to computational methods used in finance will also be provided. It will introduce elements of stochastic calculus necessary to understand pricing options models (such as Wiener processes, stochastic integrals, Brownian motion, conditional expectation, etc).

B‌ack to Top

Programming for Big Data

Students taking this module will acquire the computer programming skills necessary to analyse and manipulate big data. Big data in this context refers to datasets that are too large to be handled by the software tools commonly used to analyse and manipulate data within a tolerable elapsed time. The context and challenges for processing large datasets form a core part of this course, such that the student will be able to select the appropriate approaches, tools or methods for big data problems in addition to being able to implement and evaluate solutions using a variety of programming tools and techniques.

B‌ack to Top



The use of modern technologies has substantially increased in the last few decades. This has led computers, mobile devices and communications systems being able to create and store unprecedented amount of digital information. However, as we use modern technologies, far more information is retained on these devices than most people would realize. The information retained is usually called electronics evidence (e-evidence). To make matters worse rarely are users aware that their activities have left multiple trails of evidence. In most cases users make insufficient or no attempt to delete those trails regardless of how incriminating they may be. Even techno-savvy users who want to go undetected may not be able to completely delete or disguise all trails of their activities or artefacts. And in some cases, deleting evidence may not be possible. Therefore, Forensics provides a new set of technological investigative skills and tools. The number of different cases and crimes found in today’s digital world indicate with certainty that Forensics will be needed in most types of investigations. The e-evidence can be used not only to prove straightforward charges such as illegal possession of pirated software, but also to imply motive or intent by forming a “digital profile or dossier” of an individual or the circumstances surrounding a lawsuit or case. 

The module aims to develop an understanding of the range of approaches used in computer forensics. This requires an understanding of three phases for recovering evidence from a computer system or storage medium. The three phases are acquiring data; analysing data and reporting on the analysis. It is necessary that students have a clear understanding of how data is stored on a range of computer systems as well as being able to discuss the relevant legal issues involved in the collection and the documentation of evidence in a computer forensics investigation

B‌ack to Top

Mobile Device Forensics

In the last few years the use of mobile devices such as smartphones and tablets has become an integral part of our lives. These devices are able to provide the same functionality as desktop and laptop computers, and in some cases they are used for carrying out the organisations tasks. It is clear that the new era of bring your own device has arrived. Mobile devices are not only able to access and hold critical organisation data, but also store and process sensitive information. Therefore, when security breaches occur to organisational information systems, forensics investigations must include mobile devices. It is for this reason that this module is being proposed as mobile devices will be the main computing devices soon.   

The module will provide students with a comprehensive foundation and practical skills in mobile devices forensics. Specifically, the module cover will enable students to undertake investigations and collect evidence from mobile devices that is admissible in the courts.

B‌ack to Top

Penetration Testing & Vulnerability Analysis

There is a constant threat to IT systems regardless of location and these threats continuously change and evolve. Vulnerability analysis and security audits will not ensure the security proofing of an organisation because they only test currently known exploits. No longer is it sufficient to secure a system, as best as possible, based upon known threats since such threats are constantly changing and new ones appear on an on-going basis. To ensure that systems are adequately protected, IT security professionals must probe networks and assess the security mechanisms for vulnerabilities and exposure. These professionals must quite often try to think in the same way as an attacker and therefore try to identify security weaknesses and remedy them before such weaknesses are exposed. Therefore, the goal is to take pre-emptive measures against a malicious attack by attacking the system itself, whilst also staying within legal limits.

This module aims to identify the various means that an attacker can gain unauthorised access to computer resources.  Through the use of robust vulnerability analysis and solid penetration testing techniques, the module will show how to investigate and identify security weaknesses. The student will also learn methods to reduce or prevent such vulnerabilities, thereby closing the opportunity of a possible attack. Where possible, students will engage in performing security attacks within a closed environment to solidify the learning process. Students will also learn about the possible legal issues that apply to security services, which do affect the type of vulnerability analysis. Such issues are significant, especially across multiple jurisdictions.

The module will assume that the student already has knowledge of the basics of IT security and is designed at an intermediate to advanced level.

B‌ack to Top

Social Network Analysis

Everything is connected: people, information, the web, events and places, all the more so with the advent of online social media. A practical way of making sense of the tangle of connections is to analyze them as networks. This module provides the tools to conduct a social network analysis research, drawing on knowledge from disciplines as diverse as sociology, mathematics, computer science and physics. The module is intended to provide tools for hands-on analysis of real-world data sets, aimed to support a range of tasks: from describing key features of a network to identifying important nodes in the network, detecting communities, measuring network resilience and structural properties to explaining network formation.

The focus is both theoretical (e.g., what are the key concept of social network analysis) and methodological (e.g., how do we actually carry out research on social networks).

B‌ack to Top

Speech & Audio Processing

The area of speech and audio processing has evolved rapidly with ubiquitous mobile telephony and Voice over IP services such as Skype, Google Hangouts or Apple FaceTime. Audio streaming services like Spotify or YouTube use encodes audio steams to optimise the tradeoff between quality and bandwidth resources. Faster networks, better connectivity, increased processing power combined with advances in signal processing and analysis techniques have made speech controlled applications like Siri possible using server side speech processing. This module provides an introduction to speech and hearing and how digital representations of speech and audio can be processed using high level programming languages (such as Python, Octave or MATLAB). Processing and Analysis techniques and their application to a selection of introductory speech and audio problems will be explored.

 This module has an application focused, hands-on approach. Student are assumed to have strong programming skills in a high level language (e.g. Python), experience using third party libraries and APIs and an interest in applying them to digital signal processing applications. Prior digital signal processing experience is not a prerequisite but student should be aware that appreciation of the mathematics for manipulating discrete-time signals underpins analysis speech and audio signals and features.

B‌ack to Top

Linear & Generalised Regression Models

The aim of this module is to introduce the student to the multiple linear and generalised linear regression models the most widely used models in data analysis. Model formulation and interpretation will be explored in detail, including inclusion of categorical predictors and interactions. Model building/identification techniques are critically examined. Methods for residual and influence diagnostics are covered. The R software system (or equivalent) will be utilised by the student as a tool for fitting these models. 

B‌ack to Top

Computing @ DIT are not responsible for content on external sites
     Find us on Facebook      Follow us on Twitter      Follow us on LinkedIn

Member of the European University Association