In this year you learn about theories of mind and techniques for generating intelligent behaviour. These include understanding human language and logic, techniques for game playing, expert systems for medical diagnosis, and many others. You experiment with the techniques by implementing them as computer programs. You meet weekly with your tutor, write essays and discuss major AI issues with other students in a small group setting.
In the Computer Science part of your degree you will gain a firm foundation in the principles of algorithms, artificial intelligence, software engineering and relevant mathematics. You also learn computer programming in Java – a language widely used in business and industry. The module on Robot Programming introduces you to some important ideas that underpin intelligent robotics and includes 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
In the second year you take more advanced modules in specific areas of AI, including an Introduction to Natural Computation, Machine Learning, Computer Vision and Natural Language Understanding. You learn an AI programming language, and take core Computer Science modules in which you will apply your Java skills to building systems involving databases, graphics and human–computer interaction. You will also study the principles underpinning computer architectures and operating systems. These modules will give you all the skills you need to carry out your final-year project.
- 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 (Artificial Intelligence) (20 credits)
In the final year you have enormous freedom of choice. One third of your time is spent on a project which can be chosen from a wide selection offered by staff members, or developed from your own idea. This usually involves writing a large piece of software and gives you the freedom to extend and demonstrate your skills in a manner of your choosing. In the other two-thirds of your time, you can choose freely from over 20 optional modules, including some specialist AI modules such as Intelligent Robotics, Neural Computation and Advanced Natural Language Processing. You can choose to specialise in Computer Science or AI, or take a mixture of modules from both themes.
- Computer Science Project (40 credits)
80 credits from the range of example modules below. Please note that 60 to 80 credits must be taken in Complex Adaptive Systems, Intelligent Robotics, Language and Cognition and Machine Learning and Intelligent Data Analysis. Any remaining credits can be chosen from the others 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.