Your first and second years are comprised of compulsory modules. 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.
- Artificial Intelligence 1 (20 credits)
- Data Structures and Algorithms (20 credits)
- Theories of Computation (20 credits)
- Mathematical and Logical Foundations of Computer Science (20 credits)
- Object Oriented Programming (20 credits)
- Full Stack Application Development (20 credits)
You’ll move on to study more fundamental subjects in computer science, including 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 undertake a specific AI-team project, where you’ll learn to work in a team to produce software, and you’ll learn new styles of programming in Java and a second language. These modules will give you all the skills you need to carry out your final-year project.
- Functional Programming (20 credits)
- Security and Networks (20 credits)
- Software Engineering and Professional Practice (20 credits)
- Systems Programming in C/C++ (20 credits)
- Team Project (Artificial Intelligence) (20 credits)
- Artificial Intelligence 2 (20 credits)
Year 3 (in Industry)
We encourage our students to gain as much real world experience as they can during their studies. The University has strong links with a number of employers offering internships or formal placements that can range from two months over the summer vacation to a full sandwich year as part of your degree course.
Computer Science Industrial Placement (120 credits).
In order to proceed to Year 3 (the industrial year), students must:
- Not have any modules to repeat during the year. If they have resit examinations, they must arrange for time off to take these.
- Have found a company willing to provide a placement which meets the School's requirements, which include providing an Industrial Tutor. The placement must involve a component of skills training (approximately 40%) and technical project work (approximately 60%). The skills training can include formal taught and/or self study courses and apprenticeship style learning "on the job". The training and project work must be of a technical nature relevant to the degree programme. The project work will most typically involve programming but other types of project work are acceptable.
- Students who do not meet the academic requirements or cannot find a suitable industrial placement will transfer to the degree programme without the Year in Industry component.
- A student who fails the Industrial Studies module will be permitted to transfer to the degree programme without the Year in Industry component.
Tuition fees for placement years (where applicable)
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 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.
- Advanced Networking (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)
- 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)
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 2020. 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.