For graduates with a background in computer science, who wish to gain an understanding of theories, methods and tools relevant to, for instance, computer forensics and cyber-crime, computer security, legal/administrative applications of knowledge-based systems, and to acquire/develop knowledge of information law and management.
people with a 2:1 degree in Computer Science/IT
MSc Computing, IT Law & Management
- Provides Computer Science graduates with a relevant knowledge of Law and Management;
- Provides graduate specialisation eg computer security, software engineering, legal/administrative applications of knowledge-based systems;
- Provides an interdisciplinary training attractive to many prospective employers.
Subject to College confirmation in December 2007, the revised content of the programme will be as follows:
Four obligatory programme modules:
- IT Law for IT Professionals
- Computer Forensics & Cybercrime
- Intelligent Systems for Legal & Administrative Applications
- Project Management
Four further programme modules. In consultation with their Personal Tutor, students will choose:
- Either three further Computer Science modules and the Management module Advanced Industrial Business Management
- Or four further Computer Science modules.
The Computer Science options will be chosen from the department’s extensive list of MSc-level modules, among which the following are particularly recommended for this programme:
- Cryptography & Information Security
- Policies & Norms
- Language-based Security
- Agents & Multi-Agent Systems
- The Internet
- Advanced Software Engineering
- Software Engineering of Internet Applications
- Advanced Research Topics
- Software Design & Architecture
- Database Technology
Students will write a dissertation on a topic suited to the main themes of the programme, and containing a substantial Computer Science component of either a theoretical or practical nature.
This programme is available for full time study (ordinarily one year) and part time study (ordinarily two years). Applicants for part time study must note, however, that the department is not able to guarantee that modules will be taught in evening time-slots. Modules may be held in the morning and/or in the afternoon/evening, throughout the week: we do expect part time students to adjust their working hours to the programme’s schedule.
Programme format and assessment
Eight modules assessed by means of written examinations. The modules may contain an obligatory coursework component. Assessment of written dissertation. Candidates who fail to complete the dissertation successfully may be considered for the award of a Postgraduate Diploma.
Programme modules for MSc Computing, IT Law & Management
Computer Forensics and Cybercrime (Core Module)
The aim of the module is to provide students with a solid foundation to understand the concepts involved in both computer forensics and cybercrime.
Intelligent Systems for Legal and Administrative Applications (Core Module)
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.
Project Management (Core Module)
To introduce the students to the world of project management, including techniques to evaluate, organise, plan and monitor projects.
Advanced Industrial Business Management
The aim of the course is to provide a thorough grounding in a range of engineering/industrial management and general business management topics. The course will focus on management techniques and disciplines both specific to engineering/technological operations and to general management but with the latter structured towards their application to industry and technology.
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.
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.
Algorithms for Computational Molecular Biology
The aims of the course are: (i) to understand the major concepts and problems of computational molecular biology; (ii) to appreciate the importance of these concepts in a wide diversity of practical applications; (iii) to learn which of the computational molecular biology problems have efficient algorithmic solutions and which are intractable (for example, which belong to the complexity class NP-complete); and (iv) for some intractable problems, to understand how heuristic approaches to problem solution may yield fast but only approximate solutions.
The aim of this course is to define, analyse and compare abstract models of computation and their associated programming paradigms.
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.
To study present and predicted developments in database technology from a formal perspective.
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.
To introduce efficient algorithms on computational geometry problems and geometric data structures. Applications of these geometric algorithms will be surveyed.
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.
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.
To introduce the main randomisation techniques for designing efficient algorithms (random sampling, random rounding, random symmetry breaking). To show the application areas where randomised algorithms perform better than the deterministic ones. To provide students with mathematical methods and tools for analysing the performance of randomised algorithms. To highlight the recent research on randomised algorithms.
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.
Software Engineering of Internet Applications
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.
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.
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.