You will gain a firm foundation in the principles of algorithms, artificial intelligence, software engineering and relevant mathematics. You also learn in-depth computer programming in Java – a language widely used in business.
- Artificial Intelligence (20 credits)
- Data Structures and Algorithms (20 credits)
- Logic and Computation (20 credits)
- Mathematical Foundations of Computer Science (20 credits)
- Programming in Java (20 credits)
- Concepts of Computer Science (20 credits) *1
- Widening Horizons Module (20 credits) *2
*1 - compulsory for those without Grade A in A level Computing
*2 - compulsory for those with Grade A in A level Computing
You progress to studying enabling technologies such as databases, graphics and the formal basis of programming languages. These are taught in conjunction with programming which gives you a much deeper understanding through the implementation of techniques. As part of a team you produce software, and learn new styles of programming in Java and a second language from a different programming language paradigm. You also select modules from a range of options which cover core computer science, programming languages and artificial intelligence.
- Advanced Functional Programming (20 credits)
- Mathematics Modelling and Decision Making (20 credits)
- Security and Networks (20 credits)
- Software Engineering (20 credits)
- Systems Programming in C/C++ (20 credits)
- Team Project (20 credits)
You are able to pick eight modules from a wide selection. You may choose to study subjects relevant to industry, for example computer networks, distributed systems or commercial programming. Alternatively you may prefer to focus on current research in areas such as evolutionary computation, neural computation, intelligent robotics and natural language technologies.
One third of your time will be devoted to a project which will give you the opportunity to write a large piece of software and to apply the computing skills you have acquired so far.
Advanced Networking (20 credits)Choose 120 credits from the following modules
- Complex Adaptive Systems (20 credits)
- Computer Graphics (20 credits)
- Computer Vision and Imaging (20 credits)
- Computer-Aided Verification (20 credits)
- Human-Computer Interaction (20 credits)
- Individual Study (20 credits)
- Intelligent Robotics (20 credits)
- Language and Cognition (20 credits)
- Machine Learning and Intelligent Data Analysis (20 credits)
- Programming Language Principles, Design and Implementation (20 credits)
- Security of Real-World Systems (20 credits)
- Teaching Computing in Schools (20 credits)
- Theoretical Foundations for Security (20 credits)
Computer Science Study Abroad (120 credits)
Tuition fees for placement years
There is a reduced tuition fee for the academic year spent in industry or whilst studying abroad (where available). Fee information and further clarification is available on the University fees and funding page.
In the final year modules from our range of Masters programmes will be open to you. You will also undertake a much more in-depth software project. Your choice of modules alongside your choice of project will allow you to specialise in a field such as Computer Security, Human Computer Interaction, Robotics or Natural Computation.
On completion of the course, in addition to holding a Masters level qualification, students will be well-equipped for a career as a Computer Science professional. They will also have developed transferable skills in numeracy, problem solving, team-working, general communication, and information technology. The MSci Computer Science can be taken with a year in industry or a year abroad.
- Computer Science Masters Project (60 credits)
Choose 60 credits of optional modules, examples listed below:
- Advanced Networking (Extended) (20 credits)
- Advanced Robotics (20 credits)
- Complex Adaptive Systems (Extended) (20 credits)
- Computer-Aided Verification (Extended) (20 credits)
- Computer Graphics (Extended) (20 credits)
- Computer Vision and Imaging (Extended) (20 credits)
- Cryptography (10 credits)*
- Evaluation Methods and Statistics (10 credits)*
- Human-Computer Interaction (Extended) (20 credits)
- Individual Study (Extended) (20 credits)
- Intelligent Robotics (Extended) (20 credits)
- Language and Cognitition (Extended) (20 credits)
- Machine Learning and Intelligent Data Analysis (Extended) (20 credits)
- Programming Language Principles, Design and Implementation (Extended) (20 credits)
- Research Topics in Human-Computer Interaction (10 credits)*
- Robot Vision (20 credits)
- Secure Programming (10 credits)*
- Security of Real-World Systems (Extended) (20 credits)
- Security Research Seminar (10 credits)*
- Teaching Computer Science in Schools (Extended) (20 credits)
- Theoretical Foundations for Security (Extended) (20 credits)
* Current specialist MSc modules included for an indication of content. Actual modules may change.
Please note: The modules listed on the website for this programme are regularly reviewed to ensure they are up-to-date and informed by the latest research and teaching methods. Unless indicated otherwise, the modules listed for this programme are for students starting in 2019. On rare occasions, we may need to make unexpected changes to core modules; in this event we will contact offer holders as soon as possible to inform or consult them as appropriate.