Software Engineering with Work Placement (Faster Route) MSci

University of Glasgow · honours · 4 years · placement year · optional year abroad · UCAS 5754course page ↗

AAA – ABB at A level, A-level Mathematics; graduates earn a median £33,500 three years on.

Typical A level offer
AAA – ABB

A-level Mathematics · 70% of entrants came with A levels · 93% stay on after year 1 · Glasgow course page, Discover Uni

Year 13 · applying

What do you need to get in?

AAA – ABBtypical A level offer

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

  1. 1A-level Mathematics
Who actually got in: 70% with A levels, 18% via Access courses, 2% with other higher education. 25% arrived with 208 or more UCAS tariff points — roughly A*A*A or better. Based on 55 entrants.

UCAS tariff points — a points scale for grades: A* = 56, A = 48, so A*A*A = 160. Entrants’ totals include extra subjects.

Other qualifications2
QualificationTypical offerRequired subjects
Scottish HighersAAABB at S5 will be considered. Typically S6 entrants will have AAAAAA at HigherHigher Mathematics (AH recommended) and Computing (if Higher Mathematics A grade is not achieved in S5).
IB38 (6,6,6)HL Mathematics (Analysis & Approaches).
Years 1–4

What do you study?

5compulsory modules in year 1

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

Year 1 · 5 core · 70 credits ≈ 700 hours
  • 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
    COMPSCI1001 20 cr
  • 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
    COMPSCI1006 10 cr
  • 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
    COMPSCI1016 20 cr
  • 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
    COMPSCI1017 10 cr
  • 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
    COMPSCI1018 10 cr
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
    COMPSCI2001 10 cr
  • 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
    COMPSCI2003 10 cr
  • 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
    COMPSCI2007 10 cr
  • 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
    COMPSCI2008 10 cr
  • 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
    COMPSCI2021 10 cr
  • 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
    COMPSCI2024 10 cr
Year 3 · 7 core · 90 credits ≈ 900 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
    COMPSCI4009 10 cr
  • 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
    COMPSCI4014 10 cr
  • 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
    COMPSCI4015 10 cr
  • Software Engineering Summer Placement (H)
    What you learn (4)
    • explain how academic software engineering methods apply to real-world development
    • summarise personal contribution made during a work placement
    • discuss experiences gained during a work placement
    • reflect on personal and professional development during placement
    COMPSCI4046 10 cr
  • 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
    COMPSCI4047 30 cr
  • 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
    COMPSCI4073 10 cr
  • 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
    COMPSCI4081 10 cr
Year 4 · 2 core · 50 credits ≈ 500 hours
  • 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
    COMPSCI4025P 40 cr
  • 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
    COMPSCI4038 10 cr
Year 5 · 3 core · 70 credits ≈ 700 hours
  • Research Methods And Techniques (M) for MSci
    What you learn (8)
    • evaluate the quality and validity of research papers
    • conduct a thorough search of relevant academic literature
    • compose a detailed written survey of existing literature
    • design a sound experimental methodology for a computing research question
    • draft a persuasive research project proposal
    • critique the strengths and weaknesses of experimental designs
    • explain how controls and sample size affect experimental validity
    • discuss ethical approval requirements for research experiments
    COMPSCI5025 10 cr
  • MSci Individual Project
    What you learn (15)
    • define a focused research problem within a specialist field
    • justify the relevance and scope of the chosen research problem
    • design a feasible approach to address the research problem
    • justify the chosen approach against alternatives
    • compile a comprehensive survey of literature relevant to the research topic
    • critically evaluate key prior work related to the research problem
    • develop a structured plan for conducting the research
    • conduct a coherent investigation using appropriate computing science methods
    • generate valid results from the investigation
    • formulate a clear thesis and argument for an academic paper
    • describe research methods and results clearly in written form
    • evaluate the significance of findings in relation to other research
    • prepare visual and technical materials for an academic presentation
    • deliver an academic talk presenting research findings
    • respond effectively to academic questions on the research
    COMPSCI5073P 60 cr

“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.

After graduating

Where does it lead?

£33,500median pay three years after graduating
Lower quarter£27k
Median£34k
Upper quarter£45k

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 85 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, 22

Half of graduates earned between £26,500 and £44,500. Five years on, the median is £46,000. 90% were in work or further study 15 months after finishing; 85% of those in work were in professional or managerial jobs.

All outcome figures7
MeasureValueBased on
Continue after year 17% left93%65
In work or study, 15 months on7% studying90%70
Professional or managerial job85%50
Pay 15 months on, median£35,00035
Pay 3 years on, median£33,50085
Pay 5 years on, median£46,00080
Money

What does it cost?

Fees not on file; see the university’s fees page.

Glasgow fees page

National Student Survey 2025-26

What do students say?

69%agreed the course was good overall (question 26)

NSS — a yearly survey of final-year students at every UK university; 75% of this course’s final year answered. Small groups can swing a lot year to year.

National Student Survey, via Discover Uni · 35 students answered

Highest: 88% agreed on question 15; lowest: 33% on question 14.

All questions26
QuestionAgree
Question 187%
Question 269%
Question 385%
Question 470%
Question 572%
Question 674%
Question 767%
Question 887%
Question 974%
Question 1072%
Question 1172%
Question 1259%
Question 1354%
Question 1433%
Question 1588%
Question 1688%
Question 1770%
Question 1863%
Question 1981%
Question 2076%
Question 2187%
Question 2280%
Question 2380%
Question 2467%
Question 2571%
Question 2669%

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.