Computing Science/Theatre Studies MA
AAA – AAB at A level, A-level Mathematics; graduates earn a median £32,500 three years on.
A-level Mathematics · 71% of entrants came with A levels · 89% stay on after year 1 · Glasgow course page, Discover Uni
What do you need to get in?
Typical offer — the grades most applicants are asked for. A contextual offer can be lower for applicants from under-represented backgrounds; none is published for this course.
Glasgow course page, read 19 September 2026 · Discover Uni entry profile
- 1A-level Mathematics
UCAS tariff points — a points scale for grades: A* = 56, A = 48, so A*A*A = 160. Entrants’ totals include extra subjects.
Other qualifications2
| Qualification | Typical offer | Required subjects |
|---|---|---|
| Scottish Highers | AAAAAAminimum from S5: AAABB | Higher Mathematics at A (AH recommended). |
| IB | 38 (6,6,6) | HL6 Mathematics (Analysis & Approaches). |
What do you study?
Compulsory modules this year: digital & ict skills 80% · engineering & manufacturing 8% · transversal skills 5% · language & communication 3%.
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.
Glasgow course page · optional modules vary by year
- Computing Science 1P (Standard Route)
What you learn (14)
- design and implement programs using core programming constructs
- evaluate programs built with fundamental programming constructs
- recognise different programming paradigms
- apply an appropriate programming paradigm to solve a problem
- select suitable algorithms and libraries for a given problem
- apply chosen techniques and algorithms to solve a problem
- analyse code to determine its structure and behaviour
- explain code correctness, efficiency and style
- describe a problem and proposed solution approach clearly
- design a top-level plan for solving a problem
- translate a design plan into working code
- identify different types of program errors
- apply testing strategies to fix program errors
- build robust programs that handle errors effectively
- Computing Science 1F - Computing Fundamentals
What you learn (11)
- explain how applications are structured around databases and large data collections
- describe the processes and operational tasks a dbms performs
- build a relational database from a given design using a dbms product
- write sql statements to create and manipulate a database
- describe issues affecting successful interaction design
- evaluate the usability of interactive systems using informal methods
- determine when and how to apply usability evaluation outcomes
- describe human-computer activities as structured tasks
- analyse the structure and conditions of a task
- apply task analysis within the software engineering process
- discuss the legal and ethical responsibilities of computing professionals
- Computing Science - 1CT Introduction to Computational Thinking
What you learn (13)
- identify key features shared by computational systems
- describe how a given computational concept functions
- compare how the same concept is realised across different programming languages
- explain how a partial computation operates at a given abstraction level
- explain how a complete computation operates at a given abstraction level
- apply computational concepts to solve problems involving text data
- apply computational concepts to solve problems involving numerical data
- apply computational concepts to solve problems involving graphical output
- modify an existing computation to change its behaviour
- identify errors within computations written in different notations
- correct identified errors to restore correct program behaviour
- identify examples of computational concepts applied in artificial systems
- identify examples of computational concepts arising in natural systems
- Computing Science 1PX (Alternate Route)
What you learn (12)
- produce a top-level plan with stepwise refinements for a problem
- convert a structured design into a working program
- apply testing techniques to detect logical errors in code
- correct identified logical errors in a program
- evaluate the complexity of a program's logic
- integrate error handling features into a program
- integrate event handling features into a program
- design custom data structures to solve a given problem
- apply advanced programming techniques such as recursion to solve problems
- identify appropriate standard algorithms such as sorting and searching
- incorporate standard algorithms effectively into problem solutions
- explain a problem and its solution clearly to others
- Computing Science - 1S Systems
What you learn (10)
- explain how data is represented using bits and words
- convert numbers between binary and two's complement representations
- describe the main subsystems of a processor architecture
- write a simple assembly language program
- run an assembly program using appropriate development tools
- describe how machine instructions are encoded and represented
- explain how the CPU executes programs via the fetch-execute cycle
- design simple synchronous logic circuits using gates and flip-flops
- simulate the behaviour of designed logic circuits
- relate processor architecture concepts to high-level programming languages
Year 2 · 6 core · 60 credits ≈ 600 hours
- Introduction to Object Oriented Programming
What you learn (8)
- apply object-oriented language features to build substantial single-threaded programs
- describe the object model underlying a programming language
- explain the difference between single and multiple inheritance hierarchies
- explain the distinction between implementation inheritance and interface inheritance
- explain the purpose of concurrent programming
- identify common pitfalls associated with concurrent programming
- apply basic object-oriented design techniques to a programming problem
- construct well-structured object-oriented programs using standard class libraries
- Algorithmic Foundations 2
What you learn (12)
- convert everyday statements into predicate logic notation
- convert everyday statements into set theory notation
- convert everyday statements into relational algebra notation
- formulate assertions using predicate logic
- formulate assertions using set theory
- formulate assertions using relational algebra
- construct formal proofs of assertions using logical laws
- describe how inductively-generated structures are formed
- construct proofs using mathematical induction
- apply basic combinatorial techniques to solve counting problems
- explain fundamental concepts of discrete probability theory
- apply discrete probability methods to solve simple problems
- Algorithms & Data Structures 2
What you learn (13)
- explain the role of abstract data types in program design
- apply stacks, queues, lists, sets and maps to suitable problems
- identify appropriate contexts for using particular data structures
- express abstract data types as Java interfaces
- describe the structure and purpose of arrays, linked lists, binary trees and hash tables
- implement fundamental data structures using Java
- map standard abstract data types onto suitable concrete data structures
- apply recursion to design algorithms for suitable problems
- analyse algorithm efficiency using time and space complexity measures
- implement standard searching and sorting algorithms in Java
- evaluate the computational complexity of searching and sorting algorithms
- use Java collection classes along with comparators and iterators
- apply Java's List, Set, Queue and Map collection implementations
- Object-Oriented Software Engineering 2
What you learn (4)
- discuss the scope and range of software engineering disciplines
- apply design principles when building simple software systems
- apply design patterns using reusable components in software implementation
- describe different approaches used in software testing
- Web Application Development 2
What you learn (6)
- identify opportunities and challenges of developing distributed web applications
- describe common high-level system architectures used for web applications
- interpret the design and specification documents of a web application
- apply version control systems to manage web application code
- collaborate with a team using Git workflows to build a full-stack web application
- deploy a full-stack web application developed collaboratively
- Networks and Operating Systems Essentials 2
What you learn (10)
- explain the role of layering in protocol design for networked systems
- explain how the Internet is formed as a network of interconnected networks
- explain why the Internet provides a best-effort delivery service
- discuss how the transport layer achieves reliable connections over an unreliable network
- describe the basic operation of the HTTP protocol
- identify key privacy and security issues affecting Internet traffic
- explain the functions of an operating system using correct terminology
- contrast low-level hardware resources with higher-level operating system abstractions
- implement basic operating system components such as schedulers and free space managers
- identify privacy and security issues relating to Internet traffic
Year 3 · 8 core · 130 credits ≈ 1,300 hours
- Algorithmics I (H)
What you learn (15)
- identify standard algorithmic design methods
- apply standard algorithmic design methods to problems
- apply basic techniques to analyse algorithm efficiency
- implement efficient standard sorting algorithms in code
- implement graph search and traversal algorithms
- implement shortest path algorithms for graphs
- implement minimum spanning tree and topological sorting algorithms
- describe classical string searching and comparison algorithms
- describe classical text compression algorithms
- explain the fundamentals of NP-completeness theory
- discuss practical implications of NP-completeness for problem solving
- follow proofs establishing NP-completeness of specific problems
- apply strategies for tackling intractable computational problems
- illustrate concepts of computability and unsolvability with examples
- identify standard examples of unsolvable problems
- Human-centred Systems Design and Evaluation (H)
What you learn (9)
- identify core challenges encountered in designing interactive systems
- produce diagrams or models to represent interaction designs
- justify design choices using reasoning about interaction models
- design a simple interactive system applying suitable technology
- implement a prototype of an interactive system
- evaluate the usability of an implemented interactive system
- apply formal and experimental methods to evaluate interaction
- apply analytic techniques to assess interaction quality
- relate course content to broader human-computer interaction research
- Professional Software Development (H)
What you learn (16)
- identify main phases of software development lifecycles
- explain how development phases relate in modern methodologies
- modify an existing large-scale system to meet given requirements
- update system documentation to reflect software changes
- evaluate critically the implications of such issues on large-scale projects
- plan and schedule a large team-based software project
- specify functional and non-functional requirements for a software system
- design a software system meeting specified project requirements
- implement a software system according to its design
- test a software system to confirm it meets requirements
- produce clear and accurate technical documentation
- apply quality assurance techniques including test suite planning
- apply configuration management tools and techniques
- deliver clear and informative presentations on project work
- communicate effectively with team members during a project
- collaborate effectively as part of a project team
- Individual Project (H) (Single)
What you learn (14)
- organise and manage a large independent project
- select appropriate technologies and tools for a task
- apply chosen technologies and approaches effectively
- combine technical skills to solve a complex problem
- build a substantial software product demonstrating technical competence
- evaluate the results of their own project work
- demonstrate professional conduct and responsibility during project work
- record time spent on project tasks
- use supervisor feedback effectively to guide progress
- write a clear dissertation documenting the project
- justify design and methodological decisions in writing
- situate the project within its wider academic context
- deliver an oral presentation of project work to a technical audience
- produce a concise video summary of project work
- Professional Skills and Issues (H)
What you learn (6)
- identify key social, ethical, legal and professional issues in IT
- explain legislation and codes of conduct governing the IT sector
- relate legal and professional standards to real IT practice examples
- apply analytical methods to deconstruct complex ethical dilemmas in IT
- present reasoned arguments on IT-related ethical issues to an audience
- critique peers' arguments constructively to improve reasoning
- Team Project (H)
What you learn (9)
- manage a large team-based software project systematically
- collaborate with a customer to clarify a problem domain
- produce a refined specification of software requirements
- select appropriate industry-standard software tools and practices
- apply chosen tools and practices within a software development process
- demonstrate project progress through short presentations
- review project processes against a process improvement framework
- adapt project processes based on analysis findings
- evaluate the environmental impact of a computing system's life cycle
- Data Fundamentals (H)
What you learn (15)
- express problems using tensor notation
- perform operations on tensors accurately
- write vectorised code for efficient execution
- apply matrix decomposition methods to solve practical tasks
- express a problem as a mathematical objective function
- apply optimisation methods to solve formulated problems
- formulate problems that include random elements
- explain the behaviour of stochastic problems
- explain the concepts underlying bayesian inference
- apply bayesian inference to solve simple problems
- design clear visual representations of scientific data
- explain how sampling rate and noise affect time series data
- process and filter time series and array data
- identify risks and ethical issues in data analysis and numerical computation
- evaluate the environmental impact of numerical computation practices
- Systems Programming (H)
What you learn (14)
- design a low-level program using a systems programming language
- implement a low-level program in a systems programming language
- explain the behaviour of a low-level program
- explain stack and heap memory allocation and pointer use
- explain the concept of memory ownership in program design
- describe common memory safety issues such as leaks, overflows and race conditions
- explain how memory representation affects caching and virtual memory performance
- demonstrate the performance impact of memory and caching issues
- discuss concurrency issues and the system memory model
- reason about causes and effects of race conditions
- build a structured concurrent program of moderate complexity
- apply libraries and static analysis tools in program development
- explain the concept of carbon footprint in systems programming
- analyse factors that influence the carbon footprint of software
“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 70 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 13, 23
Half of graduates earned between £26,500 and £43,000. Five years on, the median is £46,500. 91% were in work or further study 15 months after finishing; 90% of those in work were in professional or managerial jobs.
All outcome figures7
| Measure | Value | Based on |
|---|---|---|
| Continue after year 111% left | 89% | 195 |
| In work or study, 15 months on7% studying | 91% | 55 |
| Professional or managerial job | 90% | 45 |
| Pay 15 months on, median | £36,500 | 30 |
| Pay 3 years on, median | £32,500 | 70 |
| Pay 5 years on, median | £46,500 | 70 |
What do students say?
NSS — a yearly survey of final-year students at every UK university; 66% of this course’s final year answered. Small groups can swing a lot year to year.
National Student Survey, via Discover Uni · 110 students answered
Highest: 92% agreed on question 1; lowest: 53% on question 14.
All questions26
| Question | Agree |
|---|---|
| Question 1 | 92% |
| Question 2 | 76% |
| Question 3 | 92% |
| Question 4 | 81% |
| Question 5 | 80% |
| Question 6 | 85% |
| Question 7 | 79% |
| Question 8 | 74% |
| Question 9 | 83% |
| Question 10 | 63% |
| Question 11 | 91% |
| Question 12 | 79% |
| Question 13 | 57% |
| Question 14 | 53% |
| Question 15 | 92% |
| Question 16 | 89% |
| Question 17 | 72% |
| Question 18 | 74% |
| Question 19 | 85% |
| Question 20 | 78% |
| Question 21 | 90% |
| Question 22 | 88% |
| Question 23 | 81% |
| Question 24 | 75% |
| Question 25 | 78% |
| Question 26 | 79% |
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 Glasgow’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 Glasgow is a trade mark of the university; sch.today is independent of it.