MSci Computer Science
Entry requirements
A level: AAA, including A in Mathematics and a pass in one of the following: Biology Chemistry Computing Science Further Mathematics Geology Geography Physics Psychology. IB: 38 (HL 6,6,6), including HL6 in Mathematics and SL5 in one of the following subjects: Biology Chemistry Computer Science Geography Geology Physics Psychology.
About this course
MSci (Honours) in Computer Science, a computer science degree focusing on the theoretical basis of computer science and practical software engineering. Core topics include Programming, Systems Design, Computer Architecture, Signal Processing, Mathematical Modelling, Research Methods, and Artificial Intelligence & Machine Learning. The curriculum includes a substantial individual masters project and a software engineering team project. The first year covers foundational concepts through modules such as Object-Oriented Programming and Programming with Data. The second year progresses to Computer Systems and Foundations of Computation. Optional modules allow students to explore advanced areas such as Computer Security, Databases, Operating Systems, and Video Games. The final fifth year includes modules such as Artificial Intelligence Principles, Critical Systems Engineering, and Data Ethics and Privacy, culminating in an independent project.
Modules
- Logic and Reasoning : covers the foundations of logic that are relevant to computer scientists, with an emphasis on automatic reasoning and decidability. Topics include propositional and predicate calculus, various proof techniques, and Goedel's incompleteness theorem
- Computational Complexity : introduces Turing machines, non-determinism and pushdown automata, followed by study of decidability, simulation and the Halting Problem
- Software Engineering Team Project : gives a broad overview of software engineering, presenting the fundamental aspects as a collaborative professional activity including its concerns and approaches. Students apply these concepts and practices to a substantial software engineering project as part of a team
- Advanced Communication Networks and Systems
- Artificial Intelligence
- Component Technology
- Computer Architecture
- Computer Graphics
- Computer Security
- Concurrency and Multi-Core Architectures
- Constraint Programming
- Data Communications and Networks
- Data Encoding
- Databases
- Distributed Systems
- Human Computer Interaction
- Logic and Software Verification
- Operating Systems
- Programming Language Design and Implementation
- Signal Processing: Sound, Image, Video
- Video Games
- Object-Oriented Programming
- Programming with Data
- Computer Systems
- Foundations of Computation
- Individual Masters Project : allows students to spend one semester dedicated to undertaking a major software engineering or research project in a specific topic in computer science, such as Software Engineering, Artificial Intelligence, Human Computer Interaction or Networks and Distributed Systems under the guidance of an individual supervisor
- Artificial Intelligence Principles
- Artificial Intelligence Practice
- Critical Systems Engineering
- Data Ethics and Privacy
- Data-Intensive Systems
- Human Computer Interaction Principles and Methods
- Information Visualisation
- Interactive Software and Hardware
- Language and Computation
- Machine Learning
- Principles of Computer Communication Systems
- Software Architecture and Design
- Software Engineering Principles