Course description
Programme description
- Programme covers information management, information security, development of applications to support organisational and business processes.
- Architecture of enterprise information systems, including computer communications and networks, the internet.
- Distributed computing and database technology, including Group project.
We require each student to complete an individual project.
Programme format and assessment
Eight courses assessed by written examinations. The courses may contain an obligatory coursework component. Assessment of written project. Successful completion of only the taught part of the programme (first nine months) leads to a Postgraduate Diploma, and completion of the whole programme to the MSc.
Programme modules for MSc Computing & Internet Systems
Software Engineering of Internet Applications (Core Module)
This course will cover different approaches for building internet applications and the choice of design techniques and technologies involved from a software engineering perspective, considering issues of efficiency, modularity and maintainability.
The Internet (Core Module)
To provide an overall understanding of the communication model used on the Internet. To provide an in-depth understanding of the main underlying software components of the Internet. To provide an overview of the main languages used on the Internet. To provide an understanding of security threats to Internet application and main techniques used to tackle them.
Advanced Research Topics
To teach the student to read and understand research papers and research lectures on their own, and pursue a research topic.
Advanced Software Engineering
To convey an understanding of the basic elements of software measurement and testing, in particular focusing on automated test data generation.
Agents & Multi-Agent Systems
To provide a critical introduction to theories and methods regarding multi-agent computer systems and their component agents. To describe some techniques employed in the characterisation of agents and multi-agent systems.
Algorithm Design
To introduce strategies for the design of algorithms that are efficient in terms of time and space requirements.
Algorithmic Issues of the Web
In order to search the WWW both efficiently and effectively, new methodologies and algorithms have had to be developed, while at the same time old ones have had to be extended. This course provides an introduction to these methodologies and algorithms, especially the relationship among text, syntax, structure and meaning.
Cryptography and Information Security
To introduce both theoretical and practical aspects of cryptography, authentication and information security.
Data Structures and their Implementation
The aims of this course are to present properties, implementations, and applications of fundamental and advanced data structures required for the efficient representation, organisation, searching, and manipulation of computer data. The course uses the C++ programming language as the implementation environment.
Database Technology
To study present and predicted developments in database technology from a formal perspective.
Distributed Systems
Following on from previous courses on operating systems, database systems and computer communications, this course aims to teach the basic concepts and practical technology of distributed computing.
Intelligent Systems for Legal and Administrative Applications
To illustrate the role of knowledge-based systems for legal and administrative applications, through presentation of some examples of such systems. To enable students to make a critical assessment of the requirements such systems are expected to meet, and of the impact they have in legal and administrative practice.
Multimedia
The aims of this course are to study methods for data, audio, image and movie handling and compression as well as to introduce data compression techniques for multimedia and applications of compression, in particular to the Internet.
Network Optimisation
The aims of this course are to present basic theoretical properties and efficient algorithmic solutions of various network optimisation models, and to describe applications of these models in communication systems, manufacturing, scheduling, and management science.
Parallel and Distributed Algorithms
To provide students with an introduction and overview to the computational aspects of parallel and distributed computing. To introduce several important parallel computing models that capture the essence of existing and proposed types of synchronous and asynchronous parallel computers. To study typical models for distributed computing. To study a few typical algorithms for each model, selected from various basic areas such as sorting, selection, graphs, matrices, numerical problems, and computational geometry. To provide an important skill for those who may work with large applications since these usually must be implemented on a parallel or distributed system, due to their memory space and speed requirements.
Policies and Norms
To provide specialist knowledge and understanding of the core aspects of policy representation in the context of Computer Science, with particular reference to access control policies.
Software Design and Architecture
To explore the practice of software architecting as applied to the development of enterprise software systems. To learn about software architecture, architecture patterns, frameworks, design patterns, pattern languages, layers of change, the architecting process and the practical process of software design and implementation. Ideas are put into practical perspective through an introduction to the UML2 superstructure and the .NET COM+ middleware.
Text Searching and Processing
This unit is devoted to algorithms processing strings and texts efficiently. These types of algorithms are used for software design in the domains of operating systems utilities, search engines on the Internet, data retrieval systems, analysis of genetic sequences, and natural language processing, for example.