Your first year is common to several of our degree programmes, so at the end of the year you’ll be able to choose to specialise in Computer Science, Software Engineering or Artificial Intelligence. You’ll be given an overview of the subject and gain a firm foundation in the principles of algorithms, artificial intelligence, software engineering and relevant maths. You’ll also learn computer programming in Java – a language widely used in business and industry.
Even as early as your first year you’ll be given a chance to pursue your own interests, with a choice of modules between processing and presenting information on the Web and programming robots. These both include group work as part of our commitment to preparing you for the world of work.
- 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’ll move on to study enabling technologies such as databases, graphics and the formal basis of programming languages. Teaching these together with programming allows you to put the theory into practice, giving you a much deeper understanding. You’ll also learn to work in a team to produce software, and you’ll learn new styles of programming in Java and a second language. The choice of modules includes an Introduction to Nature Inspired Computation, Software Engineering, Computer Vision and Natural Language Technologies
- Advanced Functional Programming (20 credits)
- Mathematical 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)
In your final year you’ve got a huge amount of choice so you really can tailor the degree to your ambitions and interests. You’ll spend one third of your time on a project, either developed from your own idea or from a wide selection offered by staff members. This usually involves writing a large piece of software and gives you the freedom to extend and demonstrate your skills in your own way.
In the other two thirds of your time, you can choose freely from over 20 optional modules, including practical subjects such as operating systems, computer networks and graphics, and some of the latest research in areas such as evolutionary computation, neural computation, intelligent robotics and natural language technologies. Some modules allow you to gain further programming skills in specialised areas such as systems programming in C and C++.
- Computer Science Project (40 credits)
Choose 80 credits of optional modules, examples listed below:
- Advanced Networking (20 credits)
- 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)
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.