Year 1

Compulsory

  • 112 Hardware
  • 113 Architecture
  • 120.1 Programming I
  • 120.2 Programming II
  • 120.3 Programming III
  • 130 Databases I
  • 140 Logic
  • 141 Reasoning about Programs
  • 142 Discrete Mathematics
  • 145 Mathematical Methods
  • 161 Laboratory 1
  • 163 Computing Topics
  • 164 Ethics in Computing 1
  • 173 Computer Algebra Project

Year 2

Compulsory

  • 202 Software Engineering - Algorithms
  • 203 Human-Centred Design
  • 211 Operating Systems
  • 212 Networks and Communications
  • 220 Software Engineering Design
  • 221 Compilers
  • 231 Introduction to Artificial Intelligence
  • 240 Models of Computation
  • 245 Statistics
  • 261 Laboratory 2
  • 271 2nd Year Group Projects
  • 272 Team Skills Development
  • 275 C++ Introduction
  • 276 Introduction to Prolog

Selective - two from this list

  • 210 Computer Architecture
  • 223 Concurrency
  • 233 Computational Techniques

Optional

  • 252 Foreign Language II

Year 3

Compulsory

  • 302 Software Engineering Practice
  • 312 Advanced Databases
  • 341 Introduction to Bioinformatics
  • 350 Management and Business for Computing Engineers
  • 356 Technical Presentations Skills
  • 362 3rd Year Group Projects
  • 395 Machine Learning

Selective - two or three from this list

  • 303 Software Engineering - Systems Verification
  • 317 Graphics
  • 318 Custom Computing
  • 320 Complex Systems
  • 330 Network Security
  • 332 Advanced Computer Architecture
  • 333 Robotics
  • 335 Distributed Systems
  • 337 Simulation and Modelling
  • 338 Pervasive Computing
  • 343 Operations Research
  • 382 Type Systems for Programming Languages

Optional - at most one from this list

  • 351 External Course

Year 4

Compulsory

  • 401 Individual Project MEng
  • 418 Computer Vision
  • 424 Machine Learning and Neural Computation
  • 464 Industrial Placement - Presentation and Report
  • 493 Intelligent Data and Probabilistic Inference

Selective - three to five from this list

  • 417 Advanced Graphics and Visualisation
  • 421 Computational Neurodynamics
  • 422 Computational Finance
  • 429 Parallel Algorithms
  • 436 Performance Analysis
  • 437 Distributed Algorithms
  • 438 Complexity
  • 440 Software Reliability
  • 470 Program Analysis
  • 471 Advanced Issues in Object Oriented Programming
  • 474 Multi-agent Systems
  • 475 Software Engineering for Industry
  • 477 Computing for Optimal Decisions
  • 480 Automated Reasoning
  • 481 Models of Concurrent Computation
  • 484 Quantum Computing
  • 491 Knowledge Representation
  • 499 Modal and Temporal Logic

Optional - at most two from this list

  • 451 External Course 4I
  • 452 External Course 4II