Computer Science with Artificial Intelligence BSc
AAA at A level, Mathematics; graduates earn a median £40,500 three years on.
Mathematics · 95% of entrants came with A levels · 94% stay on after year 1 · York course page, Discover Uni
What do you need to get in?
Typical offer — the grades most applicants are asked for. Contextual offer: ABB, for applicants from under-represented backgrounds.
York course page, read 19 September 2026 · Discover Uni entry profile
- 1Mathematics
- 2Mathematics
UCAS tariff points — a points scale for grades: A* = 56, A = 48, so A*A*A = 160. Entrants’ totals include extra subjects.
Other qualifications5
| Qualification | Typical offer | Required subjects |
|---|---|---|
| Access | We accept the Access to Higher Education Diploma. The syllabus must contain a siWe accept the Access to Higher Education Diploma. The syllabus must contain a significant portion of Mathematics that is considered equivalent to A level standard. Applications will be considered on a | — |
| BTEC | DDDDDD plus grade B in A level Mathematics (or equivalent qualification) We consider a range of BTEC qualifications equivalent to 3 A Levels, or in combination with A Levels or other qualifications. For | Mathematics Distinction, Distinction in 2 BTEC Level 3 National Extended Certificates plus A in A Level Mathematics |
| IB | 36 points36 points overall, including 5 in Higher Level Mathematics (either Analysis and Approaches or Applications and Interpretations), or 6 in Standard Level Mathematics (Analysis and Approaches). | 5 in Higher Level Mathematics |
| Scottish Highers | BBBB | — |
| Advanced Highers | A in Mathematics plus | — |
What do you study?
Compulsory modules this year: digital & ict skills 40% · engineering & manufacturing 22% · mathematics & statistics 20% · natural sciences 14%.
Module — one course unit, usually a term or a year long; “core” means everyone takes it. One UK credit is about ten hours of study; a full year is 120 credits.
York course page · optional modules vary by year
- Systems and Devices 1: Introduction to Computer Architectures
What you learn (16)
- identify the purpose of core hardware components in a computer system
- describe common binary data types used to represent values
- convert values between different binary data representations
- perform arithmetic operations on binary represented data
- translate logical expressions into gate-level circuit designs
- describe the function of logical building blocks used in processors
- describe the limitations of logical building blocks used in processors
- describe the von Neumann model of computer architecture
- explain the stages of the fetch-execute cycle in instruction processing
- explain how processor operations implement high-level sequential constructs
- explain how processor operations implement high-level conditional constructs
- explain how processor operations implement high-level iterative constructs
- construct a basic computer system with CPU, memory and I/O
- explain the roles of assemblers, compilers and linkers in software development
- use a software toolchain to develop programs for a custom system
- identify potential security vulnerabilities arising from architecture design choices
- Theory 1: Mathematical Foundations of Computer Science
What you learn (16)
- explain why mathematical foundations underpin safe and secure systems
- define standard mathematical notation used in discrete mathematics
- interpret mathematical notation to describe discrete mathematics concepts
- apply mathematical notation to represent discrete mathematics concepts
- describe the syntax and semantics of propositional and predicate logic
- construct natural deduction proofs for logical formulae
- assess satisfiability and other key properties of logical formulae
- construct sets of elements according to given criteria
- calculate cardinalities and combinations of sets
- apply set theoretic relations and operations to solve problems
- define formal properties of different classes of graphs
- illustrate examples of distinct graph classes such as directed and acyclic graphs
- relate graph classes to real-world computational problems
- construct binary relations to represent knowledge
- identify subclasses of relations such as functions and injections
- describe how logic and set theory concepts are realised in programming languages
- Theory 2: Formal Languages and Automata
What you learn (18)
- describe formal languages, automata and grammars
- illustrate relationships between languages, automata and grammars
- construct finite automata including deterministic and non-deterministic forms
- construct pushdown automata including deterministic and non-deterministic forms
- construct turing machines
- distinguish classes of automata and their accepted languages
- apply operations to transform automata
- convert between different types of automata
- convert grammars into automata for regular languages
- convert grammars into automata for context-free languages
- demonstrate ambiguity in a given grammar
- apply the pumping lemma to prove a language is not regular
- apply the pumping lemma to prove a language is not context-free
- describe the structure of the chomsky hierarchy
- identify practical computing applications of regular languages
- identify practical computing applications of context-free languages
- use automata theory to build lexers
- use automata theory to build parsers
- Software 1: Foundations of Programming for Computer Science
What you learn (12)
- describe core concepts of procedural programming
- write small procedural programs to meet specified requirements
- relate program syntax to its semantics and analyse execution outcomes
- implement custom data structures to represent process states
- translate pseudocode algorithms into working code
- develop programs incrementally using tests to verify each stage
- store data using built-in collection types
- read and write data from CSV and JSON files
- use a software development environment to write and manage code
- identify and fix bugs in code using a debugging tool
- organise code according to software engineering principles
- document the design and implementation of code
- Software 2: Objected Oriented Data Structures and Algorithms
What you learn (18)
- assemble data and methods into classes applying encapsulation
- integrate standard library code into own programs
- write code that satisfies given interface specifications
- test code to verify it meets interface requirements
- debug programs by identifying and fixing faults
- structure program code according to software engineering standards
- produce documentation explaining code design and implementation
- generate documentation automatically using programming tools
- analyse problems to design algorithms for simple tasks
- explain how algorithms and programs operate
- implement small programs based on algorithmic designs
- calculate worst-case running time using asymptotic analysis
- categorise sorting and searching algorithms by efficiency
- compare abstract data structures such as lists and graphs
- select appropriate data structures for design problems
- apply greedy and dynamic programming design paradigms
- justify choice of algorithmic paradigm for a problem
- explain the concept and benefit of approximation algorithms
- Human-Computer Interaction
What you learn (10)
- explain why user-centred focus matters in system design and evaluation
- apply user-centred methods across design, study and evaluation stages
- describe how human psychology influences interactive system design
- analyse user data to identify design implications
- evaluate user insights to justify design decisions
- create digital and physical prototypes using prototyping tools
- test prototypes against evidence-based design decisions
- describe ethical considerations relevant to technology design and use
- describe ethical procedures for collecting data from participants
- describe how user contexts and capabilities affect system design
Year 2 · 6 core · 120 credits ≈ 1,200 hours
- Systems and Devices 3: Advanced Computer Systems
What you learn (5)
- explain differences between multiprocessor and single-processor hardware architectures
- develop software applications designed for multiprocessor architectures
- optimise software to exploit advanced processor features
- design memory layouts for data structures in software
- implement program code to access and manipulate memory-based data structures
- Engineering 1: Systems and Software Engineering
What you learn (16)
- explain software engineering terminology and process models
- apply lifecycle and process models to support a project
- elicit user and system requirements from stakeholders
- document user and system requirements clearly
- design software architecture using object-oriented principles
- implement object-oriented software from a design
- estimate project risk to inform decision-making
- produce realistic project effort and time estimates
- use continuous integration tools in software development
- collaborate effectively within a team to complete a project
- apply software licensing models to project artefacts
- incorporate third-party software reuse into a project
- address cyber-security issues throughout the development lifecycle
- evaluate ethical considerations in software engineering practice
- write documentation for stages of the engineering lifecycle
- deliver presentations on project progress and outcomes
- Intelligent Systems: Machine Learning and Optimisation
What you learn (11)
- distinguish between strong, weak and general artificial intelligence
- describe the relationship between computation and artificial intelligence
- differentiate machine learning from the broader field of artificial intelligence
- calculate partial derivatives of multivariate functions
- apply linear regression to model relationships between variables
- apply logistic regression to classification problems
- explain the cause and effect of overfitting in machine learning models
- apply regularisation techniques to prevent overfitting
- train neural network weights using the backpropagation algorithm
- analyse ethical arguments concerning artificial intelligence applications
- evaluate privacy implications arising from machine learning systems
- Theory 3: Computability, Complexity and Logic
What you learn (14)
- design a turing machine to recognise a semi-decidable language
- compute a partial function using a turing machine
- prove unsolvability of a problem via reduction from a known unsolvable problem
- prove decidability of a problem by constructing a decision procedure
- analyse the time complexity of a turing machine
- analyse the space complexity of a turing machine
- construct proofs using natural deduction rules
- determine the truth value of a formula in a given model
- explain limitations of formal logic
- explain program behaviour using structural operational semantics
- reason about program correctness using preconditions and postconditions
- reason about loop behaviour using invariants in hoare logic
- distinguish between partial and total correctness of programs
- apply extended hoare logic laws to prove program termination
- Data: Introduction to Data Science
What you learn (12)
- distinguish between data types produced in science, engineering and design contexts
- apply strategies to ensure the quality of collected data
- retrieve data from diverse sources and file formats
- apply inferential statistical methods to test hypotheses about data
- analyse relationships and features within data sets using statistical procedures
- select suitable visualisations to present data findings
- use visual techniques to explore patterns within data sets
- use relational and non-relational databases to store data
- construct queries to retrieve data from different database systems
- identify ethical issues relating to data provenance and individual privacy
- evaluate the societal impact of data analytics practices
- apply principles from a professional data protection code of ethics
- Systems and Devices 2: Operating Systems, Security, and Networking
What you learn (13)
- write application code using OS-supported concurrency, communication and I/O features
- explain how hardware features extend basic OS structures introduced previously
- apply basic OS resource management mechanisms for time and memory allocation
- apply hardware and OS memory protection mechanisms including memory-mapped I/O
- apply OS file system mechanisms to enforce information security
- write concurrent programs at the process level
- explain how system hardware supports and implements process-level concurrency
- identify situations of deadlock, livelock and starvation in concurrent systems
- apply strategies to avoid deadlock, livelock and starvation
- explain the rationale behind the layered network model
- develop software that communicates with other systems using OS-level networking sockets
- describe how networked architectures integrate into an operating system
- develop simple networked applications using operating system networking knowledge
Year 3 · 7 core, 16 optional · 160 credits ≈ 1,600 hours
- Computer Science Project (Artificial Intelligence topic)
What you learn (15)
- apply advanced technical skills in a chosen specialist area building on theory
- design a computer systems engineering solution to a given problem
- implement a designed computer systems engineering solution
- evaluate the outcomes of an engineering project against its objectives
- apply established research methods to generate new knowledge
- interpret findings produced through recognised research techniques
- compare alternative approaches to a project problem
- justify the chosen approach at each project stage
- identify project tasks feasible within time and resource constraints
- structure a written project report clearly according to set criteria
- reference sources to a publishable academic standard
- critically evaluate the work undertaken and methods applied in the report
- explain legal, ethical, social and professional issues relevant to the project
- propose mitigation strategies for identified ethical or professional risks
- summarise the context, methods and results of a project for a general audience
- Deep Learning
What you learn (9)
- explain probability theory as a foundation for machine learning models
- describe manifold embedding techniques for dimensionality reduction
- apply kernel methods to transform data representations
- apply Bayesian regression methods to predict continuous outcomes
- apply Bayesian classification methods to categorise data
- apply Bayesian clustering methods to group unlabelled data
- identify key architectures used in deep learning
- apply gradient-based optimisation algorithms to train models
- compare variants of optimisation algorithms used in model training
- Autonomous Robots
What you learn (7)
- describe levels of autonomy achievable in robotic systems
- discuss safety considerations in designing and deploying autonomous robots
- evaluate ethical implications of autonomous robotic system deployment
- explain methodologies used to engineer autonomous robotic systems
- describe how modern robotics middleware is applied in practice
- build an autonomous robotic system to solve a given task
- evaluate the strengths and weaknesses of a built robotic solution
- Natural Language Processing
What you learn (13)
- describe the process of splitting text into tokens
- explain how part-of-speech tagging assigns grammatical categories to words
- explain how parsing determines the syntactic structure of sentences
- build a text classification pipeline using NLP techniques
- build a named entity recognition system
- build a sentiment analysis system using NLP methods
- apply word embedding techniques to represent language meaning numerically
- apply n-gram models to estimate word sequence probabilities
- apply recurrent neural networks to model sequential language data
- evaluate NLP model outputs using standard performance metrics
- assess the limitations of NLP models using benchmark datasets
- describe how classical statistical methods contributed to large language model development
- describe how neural approaches underpin modern large language models
- Large Language Models
What you learn (9)
- critically assess chain-of-thought reasoning methods in modern models
- describe training, fine-tuning and alignment techniques used to develop language models
- evaluate explainability approaches and evaluation metrics for language models
- use modern software frameworks to implement language model applications
- discuss scalability challenges of deploying large-scale language models
- measure the energy consumption of training and deploying language models
- interpret environmental impact data to inform sustainable model development decisions
- identify ethical concerns relating to bias and fairness in language models
- address ethical issues of language model use across real-world scenarios
- Engineering LLM-Based Agents and Applications
What you learn (13)
- describe common architectural patterns for combining LLMs with planning and memory modules
- compare design patterns integrating retrieval and external tool use in LLM agents
- build an intelligent software agent using LLM components
- deploy a functioning agent system to a working environment
- design an autonomous workflow combining LLM reasoning with retrieval mechanisms
- construct multi-step action plans that link reasoning to execution
- implement a practical agent application such as a task assistant or planner
- integrate external APIs and services into an agent application
- evaluate agent performance using qualitative and quantitative measures
- analyse limitations of agent systems relating to reliability and latency
- identify safety and ethical risks arising in agent design
- propose mitigations for hallucination and over-reliance on automated agents
- explain how systems thinking supports evaluation of LLM performance in practice
- AI Search and Logic
What you learn (13)
- formulate a search problem using states, actions and goal conditions
- identify a suitable heuristic for a given search problem
- translate a scenario into propositional logic statements
- perform logical inference on a propositional representation using a sat solver
- model a discrete optimisation problem using constraint programming
- solve a discrete optimisation problem with a constraint programming system
- justify the choice of a search algorithm over alternatives
- apply a chosen search algorithm to solve a problem
- select an adversarial game-tree search method for a given game
- design a heuristic to support adversarial search when needed
- apply an adversarial search method to solve a game
- describe common algorithms used in sat, local search and constraint solvers
- apply solver algorithms to small example problems
16 optional modules
- Embedded Systems Design and Implementation
What you learn (16)
- explain why embedded computer systems are needed in various applications
- identify requirements imposed on a system by its application scenario
- implement an embedded system based on a design specification
- validate the functionality of an implemented embedded system
- describe different levels of abstraction used in embedded system design
- select appropriate abstraction levels for each design stage
- analyse hardware/software implementation trade-offs for a given application
- apply partitioning and mapping techniques to embedded system design
- evaluate design options using trade-off evaluation techniques
- write programs for platforms with constrained performance and energy resources
- optimise code for limited memory and storage capacity
- design a custom hardware architecture for a specific application
- evaluate the performance of a custom hardware architecture
- explain methods for improving and assuring timing properties of real-time systems
- apply priority assignment techniques to real-time task scheduling
- perform schedulability analysis for real-time tasks
- High-Performance Parallel and Distributed Systems
What you learn (10)
- write parallel programs for shared memory architectures
- apply common parallel programming paradigms to practical problems
- identify metrics suitable for evaluating application and system performance
- write parallel programs for distributed memory architectures
- apply parallel programming libraries to implement distributed solutions
- explore design choices available in parallel and distributed system architectures
- describe key issues in GPU programming for parallel computation
- describe considerations of high-speed networking and I/O in system design
- evaluate the performance of different HPC development approaches
- evaluate the portability and productivity trade-offs of HPC approaches
- High-Integrity Systems Engineering
What you learn (9)
- identify key challenges in designing critical systems
- explain issues arising when implementing critical systems
- apply fault-tree analysis to assess system safety
- apply failure analysis techniques to validate system designs
- discuss technical issues related to high-integrity engineering
- discuss social issues related to high-integrity engineering
- contribute ideas during brainstorming sessions on failure scenarios
- analyse documented examples of past system failures
- describe software engineering concepts used in critical system development
- Quantum Computation
What you learn (7)
- explain the potential advantages of quantum computation
- identify the limitations and constraints of quantum computation
- apply quantum gate operations to evolve quantum states
- calculate measurement outcomes for given quantum states
- design and analyse quantum computational circuits
- explain key quantum algorithms and their significance
- simulate quantum algorithms acting on quantum states
- Cryptography Theory and Practice
What you learn (8)
- explain core concepts of symmetric-key cryptography
- explain core concepts of public-key cryptography
- apply informal definitions of security properties to cryptographic constructions
- apply formal definitions of security properties to cryptographic constructions
- analyse the theoretical security of cryptographic constructions
- analyse the practical efficiency of cryptographic constructions
- assess whether a cryptographic algorithm meets specified security requirements
- assess whether a cryptographic protocol meets specified security requirements
- Human Factors: Technology in Context
What you learn (12)
- explain how human characteristics influence safe system operation
- describe the role of human factors in effective system maintenance
- locate relevant academic research on human-technology interaction issues
- apply academic research findings to analyse human-technology issues
- identify techniques for analysing human reliability and error
- apply human error analysis techniques to a given scenario
- critique the suitability of human error analysis methods
- identify techniques for security analysis of interactive systems
- apply security analysis techniques to address authentication and privacy issues
- critique security analysis techniques for identifying foreseeable misuse
- use ethical frameworks to investigate human-machine interaction issues
- apply design techniques to evaluate ethical concerns in interactive systems
- Engineering 2: Automated Software Engineering
What you learn (15)
- explain core concepts of modelling and metamodelling
- apply modelling practices to represent software systems
- build domain-specific models and metamodels for a given problem
- execute model management operations to coordinate models
- describe design principles underlying data-intensive software architectures
- evaluate architecture characteristics such as availability, scalability and security
- relate organisational characteristics to system architecture decisions
- structure data-intensive systems using independent microservices
- assess benefits and challenges of microservice-based architectures
- package system components as containers for reproducible deployment
- coordinate containers to operate together in a scalable system
- describe assurance practices for developing and deploying large systems
- identify testing and hardening techniques for data-intensive systems
- explain how model-driven engineering fits within broader system engineering processes
- relate model-driven engineering practices to organisational policies
- Network Security
What you learn (6)
- describe core principles underlying cyber security in networked systems
- identify strengths and weaknesses of network security mechanisms
- identify major threats and attacks affecting systems and networks
- analyse threats across different architectures and threat models
- design control solutions to mitigate network security risks
- evaluate alternative security solutions across different contexts
- Qualitative Approaches to Investigating UX
What you learn (11)
- select an appropriate qualitative methodology for a research question
- justify the choice of a qualitative methodology
- identify the epistemological assumptions underlying qualitative methods
- explain how epistemological positions shape qualitative research choices
- explain the influence of the researcher's position on the research process
- evaluate research methods against standards of rigour and validity
- compare methods used across different qualitative studies
- present findings from a qualitative analysis appropriate to the chosen method
- discuss the implications of analysis results for the research question
- describe key principles of ethical conduct in research
- describe key principles of data governance in research
- Governance of Data Science
What you learn (9)
- explain the goals underlying governance of data science projects
- analyse governance challenges arising in data science projects
- describe governance frameworks relevant to data science practice
- describe legislation and professional codes affecting data science
- identify governance frameworks applicable to a given data science project
- interpret the implications of different governance frameworks for a project
- design a data science project that complies with governance requirements
- conduct a data science project in line with applicable governance standards
- identify shortcomings in a data science project against governance standards
- Ethical Hacking, Analysis and Investigation
What you learn (6)
- explain core principles underlying cyber security in computing systems
- identify strengths and weaknesses of network security mechanisms
- describe major threats and attacks affecting systems and networks
- relate attack types to different architectures and threat models
- analyse control solutions used to secure networks
- evaluate the merits of alternative security solutions across contexts
- Player Experiences in Digital Games
What you learn (6)
- describe the range of factors that shape player experience in digital games
- select suitable evaluation methods for different types of player experience
- run a playtesting session with participants
- report findings from a playtesting session
- compare the different ways digital games can influence players
- design an evaluation plan for an applied game
- Research Methods in Computer Science
What you learn (5)
- identify a gap in existing research evidence through a literature review
- evaluate the validity and reliability of research methods
- apply responsible research principles to a research project
- analyse quantitative data using inferential statistical tests
- present findings of a research project
- Cloud based Data Analysis
What you learn (7)
- explain core concepts of cloud computing
- analyse benefits and limitations of adopting cloud computing
- describe the structure and components of a data ecosystem
- evaluate performance requirements for processing large-scale datasets
- build machine learning applications on cloud infrastructure
- monitor the performance of deployed cloud-based analytics systems
- design a cloud-based data analytics service to meet specified needs
- Legal Practice, Technology and Computer Science
What you learn (15)
- analyse a real-world context to find where AI could improve outcomes for users
- apply design thinking methods to uncover procedural and technical issues in a problem
- identify legal, ethical and user-related issues within a given problem
- explain discipline-specific concepts clearly in writing to non-specialist colleagues
- present discipline-specific concepts verbally to colleagues from other fields
- collaborate with colleagues from different disciplines on a shared task
- combine principles from multiple disciplines to devise possible solutions
- evaluate proposed solutions against defined user requirements
- develop a budgeted plan for implementing an agreed solution
- produce a persuasive written report advocating a chosen solution
- deliver a persuasive oral presentation advocating a chosen solution
- describe how AI and technology can be applied to improve service delivery
- explain the potential benefits and harms arising from AI-driven technologies
- reflect on personal learning gains achieved during the module
- reflect on challenges encountered during cross-disciplinary collaboration
- Game Design & Development in Real-Time Engines
What you learn (11)
- configure technical components within a real-time game engine
- investigate design principles for 3D game environments
- justify selected design principles against creative objectives
- build a 3D game using a real-time engine
- apply technical and design principles to produce efficient game experiences
- evaluate the quality of externally sourced game assets
- modify external assets for integration into a game project
- critique the player experience delivered by a 3D game
- validate the coherence and engagement of a game design
- create a cohesive 3D experience integrating technical and narrative elements
- implement cinematic techniques to enhance player immersion
“What you learn” restates each module’s published learning outcomes in our own words, as short skill statements in the same form as the GCSE and A level curriculum, with the help of an AI model; fields of knowledge follow the twelve fields of the knowledge sphere. The university’s module page, linked from each title, is the authoritative description.
Where does it lead?
Median — the middle earner: half earned more, half less. Pay is for graduates of this subject at this university who finished in 2016-18, not adjusted for inflation; based on 135 graduates.
Discover Uni dataset (HESA and Office for Students, CC BY 4.0, contains HESA data); earnings from the Longitudinal Education Outcomes data (Department for Education) · aggregation level 12, 13, 14, 22
Half of graduates earned between £32,000 and £54,000. Five years on, the median is £54,000. 90% were in work or further study 15 months after finishing; 88% of those in work were in professional or managerial jobs.
All outcome figures7
| Measure | Value | Based on |
|---|---|---|
| Continue after year 12% left | 94% | 190 |
| In work or study, 15 months on5% studying | 90% | 75 |
| Professional or managerial job | 88% | 60 |
| Pay 15 months on, median | £38,000 | 45 |
| Pay 3 years on, median | £40,500 | 135 |
| Pay 5 years on, median | £54,000 | 130 |
What does it cost?
Tuition fee loan — paid straight to the university; repayments start the April after you leave, at 9% of income above the threshold. UK fees are capped by government and rise with inflation; placement and study-abroad years are usually charged at a lower rate.
York fees page · source
About £30,150 in fees over 3 years, covered by a tuition fee loan you repay only when earning above the threshold. International students: £33,500 a year (2027/28).
What do students say?
NSS — a yearly survey of final-year students at every UK university; 64% of this course’s final year answered. Small groups can swing a lot year to year.
National Student Survey, via Discover Uni · 125 students answered
Highest: 95% agreed on question 21; lowest: 48% on question 14.
All questions26
| Question | Agree |
|---|---|
| Question 1 | 86% |
| Question 2 | 79% |
| Question 3 | 88% |
| Question 4 | 80% |
| Question 5 | 82% |
| Question 6 | 83% |
| Question 7 | 66% |
| Question 8 | 61% |
| Question 9 | 80% |
| Question 10 | 60% |
| Question 11 | 79% |
| Question 12 | 74% |
| Question 13 | 87% |
| Question 14 | 48% |
| Question 15 | 94% |
| Question 16 | 87% |
| Question 17 | 76% |
| Question 18 | 85% |
| Question 19 | 94% |
| Question 20 | 88% |
| Question 21 | 95% |
| Question 22 | 83% |
| Question 23 | 74% |
| Question 24 | 63% |
| Question 25 | 79% |
| Question 26 | 93% |
Question texts are published by the Office for Students; the dataset carries only the question numbers.
Modules, entry requirements and fees are facts read from University of York’s course page on 2026-09-19 and may change; the university’s page is authoritative. Descriptions are not reproduced. Outcome figures are from the Discover Uni dataset. University of York is a trade mark of the university; sch.today is independent of it.