School of Computer Science

BSc Artificial Intelligence with Computer Science (GG47)

Our new curriculum has been designed to allow us to provide an in depth computer science education, but also give you the chance to really delve deeper into subjects of interest in your final year. Our first and second year 20 credit modules** are all compulsory to allow you to gain the necessary knowledge, whilst our final year 20 credit modules are optional (except the 40 credit Final Year Project).

** The exception to this is for students without Grade A in A Level Computing, who will be required to take a 40-credit Fundamentals of Programming in Java module in Year 1, in place of our 20-credit Programming in Java module and the 20 credits of Widening Horizons Modules available.

Year 1 (120 credits) - compulsory

Module Title Credits Compulsory
Artificial Intelligence 20 Yes
Data Structures and Algorithms 20 Yes
Logic and Computation 20 Yes
Mathematical Foundations of Computer Science 20 Yes
Programming in Java 20 [1]
Fundamentals of Programming in Java 40 [2]
Widening Horizons Module 20 [1]

[1]: Compulsory for those with Grade A in A Level Computing
[2]: Compulsory for those without Grade A in A Level Computing (in place of 20-credit Programming in Java module and 20 credits of Widening Horizons modules).

Year 2 (120 credits) - compulsory

All modules in Year 2 are compulsory.

Module Title Credits Compulsory
Advanced Functional Programming 20 Yes
Mathematical Modelling and Decision Making 20 Yes
Security and Networks 20 Yes
Software Engineering 20 Yes
Systems Programming in C/C++ 20 Yes
Team Project (AI) 20 Yes

Year 3 (120 credits) - optional (plus compulsory project)

*** Please note that 60-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 range of modules below (which will include the 40 credit Computer Science Project *).

Module Title Credits Optional
Advanced Networking 20 Yes
Complex Adaptive Systems *** 20 No ***
Computer Graphics 20 Yes
Computer Science Project 40 No *
Computer Vision and Imaging 20 Yes
Computer-Aided Verification 20 Yes
Human-Computer Interaction 20 Yes
Individual Study 20 Yes
Intelligent Robotics *** 20 No ***
Language and Cognition *** 20 No ***
Machine Learning and Intelligent Data Analysis *** 20 No ***
Programming Language Principles, Design, and Implementation 20 Yes
Security of Real-World Systems 20 Yes
Teaching Computing in Schools 20 Yes
Theoretical Foundations for Security 20 Yes