Computer Science (Software Engineering) with an Industrial Placement Year MEng
2025-26 entryLearn state-of-the-art software design and programming technologies, and also practise your skills in project management, teamwork and working with customers - skills expected by employers. Get a solid grounding in the fundamentals of computer science and the opportunity to explore aspects of artificial intelligence.
Key details
- A Levels A*AA; AAA
Other entry requirements - UCAS code G654
- 5 years / Full-time
- September start
- Accredited
- Find out the course fee
- Industry placement
- View 2026-27 entry
Explore this course:
Course description
Why study this course?
You have the option to either spend a year studying abroad or working in industry, gaining real-world experience and building a robust network. Be inspired by top companies who join us on campus for employability fairs and networking sessions. Previous students have done placements with industry leaders including Deloitte, The Walt Disney Company, PayPal, and Samsung SDS Europe.
Get hands-on practical experience through our Genesys module. Support real customers to solve genuine problems, using agile software engineering and lean startup practice – preparing you for an exciting and varied career
Our lecturers are renowned computer scientists and internationally recognised researchers whose research shapes our cutting-edge teaching. You'll have access to the latest software and equipment, including high-spec computers with graphics processing units, as well as a robotics arena in our dedicated labs.
Professional, communication and presentation skills help to create more employable computer scientists and software engineers. These are extremely valuable to companies, making you a well-rounded and sought-after candidate.
It's possible to transfer between our courses. This provides an opportunity to understand which areas of computer science spark your interest and add flexibility to your education.
Our dedicated student welfare advisor can provide support, for example, if you are feeling down, overwhelmed or struggling to adjust to student life.

Ignite your interest by learning the art of engineering complex software systems, and how to apply that knowledge to this ever-expanding industry.
Our Computer Science (Software Engineering) MEng programme is a great choice for students who are passionate about software engineering and want to develop the skills to design, build, and test software systems. During your degree, you will have the chance to be hands-on, including supporting real clients by developing innovative solutions. Also, you can put your learning into practice with the opportunity to work in industry for a year.
This course will give you a solid foundation in the fundamentals of software engineering, as well the opportunity to explore different areas of computer science. These include artificial intelligence, cybersecurity, and robotics. Also, you will be able to expand your knowledge in your final year, whilst gaining valuable real word context and transform theory to application.
This course has a strong focus on professional skills to ensure you are well equipped for a career after graduating. You will develop your communication skills and be able to think critically, whilst analysing the impact of your work in a real-world context. These are essential for a career in industry or research, and demonstrate the well-rounded education our programme will provide you.
Throughout your degree, you will use industry standard tools and engineering software systems for real clients. For example, in your fifth year, you will continue with advanced software engineering themes including Verification and Testing to Computer Security and Forensics, and you will participate in Genesys – our student-led software development organisation – solving customers’ problems, using agile software engineering and lean startup practice.
This course is accredited by the British Computer Society (BCS). It fully meets the requirements for Chartered Information Technology Professional (CITP) and Chartered Engineer (CEng).
Modules
A selection of modules are available each year - some examples are below. There may be changes before you start your course. From May of the year of entry, formal programme regulations will be available in our Programme Regulations Finder.
Choose a year to see modules for a level of study:
UCAS code: G654
Years: 2022, 2023, 2025, 2026
Core modules:
- Introduction to Software Engineering
-
This module introduces the Software Engineering concepts that are needed to develop software systems that can meet basic functional requirements within a given problem domain. It covers the main steps in the process of developing such systems, from requirements analysis through to their implementation and testing. A major part of the module involves students working in teams to develop a web-based software system, which gives practical experience in teamwork and managing software projects and their products.
20 credits - Foundations of Computer Science
-
The course consists of (around) 10 blocks of 2-3 weeks work each. Each block develops mathematical concepts and techniques that are of foundational importance to computing. Lectures and problem classes will be used. The intention is to enthuse about these topics, to demonstrate why they are important to us, to lay the foundations of their knowledge and prepare students for future computing courses. It is not expected that the course will cover ALL of the maths that is needed later either in terms of depth or scope.
20 credits - Java Programming
-
This module is about programming in the Java language.
20 credits
There is no requirement that students arrive with any knowledge of programming although many do and some are already very experienced programmers. This module is intended to ensure that both absolute beginners and strong programmers are capable of writing clear, well structured, readable programs in Java by the end of the module.
The module is largely taught through practical classes but students will have the opportunity to pace their own learning based on their prior experience. It does mean that beginners will have to work harder than students who arrive as experts, though some students who consider themselves to be experts may have some unlearning to do - Practical Algorithms and Data Structures
-
This module will introduce students to algorithms and data structures. This module will reinforce the programming concepts that were taught in the autumn semester's programming module while exploring essential data structures and algorithms. This includes a particular focus on algorithms used in traditional AI. Students will also learn to analyse the efficiency of algorithms and data structures, and make informed choices about these for practical problems.
20 credits - Systems and Networks
-
In this module we investigate topics surrounding the function and operation of modern devices, from the foundations of digital logic and number systems, through to an overview of operating systems and their function and the different types of computer networks and associated protocols (including IP addressing, ethernet fundamentals, switching technologies, router operations supporting small-to-medium business networks, wireless local area networks (WLAN), and key security concepts).
20 credits - Introduction to Artificial Intelligence and First Year Reflection
-
This module will explore intelligence, what it is, how we might measure it, and how we can learn from natural intelligence, in humans and animals, to create new forms of artificial intelligence (AI) for machines.
20 credits
A key theme will be to examine similarities and differences between brains and computers, and particularly, the idea that both are able to act intelligently by performing computation. Through lectures, seminars and computer-based lab classes, the module will investigate some of the key computational building blocks of intelligent systems, including perception and reasoning, as found in nature and explored through AI. The module will also explore some of the real-world, societal and ethical implications of recent developments in AI and robotics.
Alongside this introduction to artificial intelligence, a parallel thread will support the development of academic and professional skills including the appropriate and ethical use of AI in scholarship and in the workplace. This stream will include reflection upon the content of first year, the skills that have been developed, and their relevance to future study and careers. This includes consideration of why the School believes every one of our undergraduate students should have solid foundations in artificial intelligence, software engineering and the theoretical underpinnings of Computer Science. - Global Engineering Challenge Week
-
The Faculty-wide Global Engineering Challenge Week is a compulsory part of the first-year programme. The project has been designed to develop student academic, transferable and employability skills as well as widen their horizons as global citizens. Working in multi-disciplinary groups of 5-6, for a full week, all students in the Faculty choose from a number of projects arranged under a range of themes including Water, Waste Management, Energy and Digital with scenarios set in an overseas location facing economic challenge. Some projects are based on the Engineers Without Borders Engineering for people design challenge*.
*The EWB challenge provides students with the opportunity to learn about design, teamwork and communication through real, inspiring, sustainable and cross-cultural development projects identified by EWB with its community-based partner organisations.
Core modules:
- Programming Language Principles
-
On entering this module you will already have a good understanding of object oriented programming from your first year studies. In this module, you will be introduced to further paradigms and programming languages. You will explore the choices that are taken in language design and the relationship between high level language and machine-level code that can be directly executed. In this module you will also look at the particular issues associated with concurrent or parallel programming, and the techniques used to combat them.
20 credits - Robotics
-
This module is concerned with the design and implementation of the technology underpinning contemporary robotics. The course has a multidisciplinary content spanning psychology, computer science and robotics.
20 credits - Databases and Logic in Computer Science
-
This module introduces the foundations of databases and logic in computer science. You will cover theoretical underpinnings including the syntax and semantics of propositional and predicate logics, natural deduction, notions such as soundness, completeness and (un)decidability, normalisation theory of databases, relational algebra and relational calculus. You will also study practical applications of both databases and logic. This will include the use of SQL, including from within other programming languages, and practical applications of formal logic, such as automated reasoning and procedures, and the use of logic for formal verification of computer systems).
20 credits - Software Hut
-
The Software Hut (a microcosm of a real Software House) gives students an opportunity to experience the processes of engineering a real software system for a real client in a competitive environment. The taught element covers the tools and technologies needed to manage software development projects successfully and to deliver software products that meet both client expectations and quality standards. Topics that are put into practice include: the requirements engineering process; software modelling and testing; using specific software development framework(s); group project management; quality assurance; testing. Tutorials take the form of project meetings, and so are concerned with team management, conduct of meetings and action minutes.
20 credits - Automata, Computation and Complexity
-
This module introduces the theoretical foundations for computing systems: finite state machines, pushdown automata, and Turing machines, along with the formal languages that can be recognised by these machine models.
20 credits
It also deals with the question 'What is computable?' and 'What is efficiently computable?' by showing when problems are computationally hard, and how to find algorithmic solutions to computationally hard problems. - Foundations and Applications of Artificial Intelligence
-
This module will provide the mathematical and statistical underpinnings for artificial intelligence, some of which are used more widely in computer science, and look at some practical applications of AI, with a focus on data science.
20 credits
Semester 1 will focus on the mathematical and statistical underpinnings, including probability, random variables and distributions (both discrete and continuous), finite sample spaces, Bayes rule, sampling, hypothesis testing, the law of large numbers, the central limit theorem and linear regression.
Semester 2 will provide an introduction to practical data science. Topics include: data preprocessing, feature extraction, feature selection, and supervised/unsupervised learning. The module will employ a practical Python-based approach to help students develop an intuitive grasp of the sophisticated mathematical ideas that underpin this challenging but fascinating subject. - Engineering - You're Hired
-
The Faculty-wide Engineering - You're Hired Week is a compulsory part of the second year programme, and the week has been designed to develop student academic, transferable and employability skills. Working in multi-disciplinary groups of about six, students will work in interdisciplinary teams on a real world problem over an intensive week-long project. The projects are based on problems provided by industrial partners, and students will come up with ideas to solve them and proposals for a project to develop these ideas further.
Core modules:
- Dissertation Project
-
In the individual research project, you will complete a major original piece of software design, or an experimental investigation. This work will be reported formally in a research dissertation and also presented at a project presentation session, to which industrial representatives, students and academics are invited. The work will include an Interim report that consists of an initial survey and literature review. You will be engaged in a major piece of software development, or the design and execution of an empirical experiment. You will have regular meetings with your supervisor, who will advise on any problems you encounter. You will prepare an 7,000-14,000 word dissertation, which includes the material from the interim report, but also contains a complete design, implementation and evaluation of the results of your project. This may be assessed by oral examination.
40 credits - Accounting and Law for Engineers
-
The module is designed to introduce engineering students to key areas of accounting and legal risk that engineers should be aware of in their working environment. The module will draw directly on practical issues of budgeting, assessing financial risks and making financial decisions in the context of engineering projects and/or product development. At the same time, the module will develop students' understanding of the legal aspects of entering into contracts for the development and delivery of engineering projects and products, and enhance their awareness of environmental regulation, liability for negligence, intellectual property rights and the importance of data protection. Through a series of parallel running lectures in the two disciplines, the module will provide a working knowledge of the two areas and how they impinge on engineering practice.
10 credits - Software Testing and Analysis
-
This module introduces the problems and techniques of analysing and testing software systems. The module covers how to statically analyse software and how to dynamically test it. The module will teach different techniques and tools to thoroughly test software systems, and will teach how to automate testing tasks, including test generation. Finally, the module will cover techniques to measure and assess aspects of source code and software tests.
10 credits
Students should be aware that there are limited places available on this module.
Optional modules:
- Modelling and Simulation of Natural Systems
-
This module will provide a practical introduction to techniques used for modelling and simulating dynamic natural systems. Many natural systems can be modelled appropriately using differential equations, or individual based methods. In this module, you will explore and understand both modelling approaches. You will gain knowledge of the assumptions underlying these models, their limitations, and how they are derived. You will learn how to simulate and explore the dynamics of computational models, using a variety of examples mostly drawn from natural systems. At the end of the module, we will introduce basic recurrent neural networks as examples of dynamical systems with multiple timescales. You should be aware that there are limited places available on this course.
10 credits - Computer Vision
-
This module provides a comprehensive introduction to computer vision. Major topics include image processing, detection and recognition, semantic understanding, photometric geometry, image registration, place recognition, and vision and video analysis. Students will learn the basic theories and fundamental topics of computer vision, the mainstream methods for core computer vision applications. Importantly, the students will also gain hands-on experience to solve real-life vision problems.
10 credits - Text Processing
-
This module introduces fundamental concepts and ideas in natural language text processing, covers techniques for handling text corpora, and examines representative systems that require the automated processing of large volumes of text. The module focuses on modern quantitative techniques for text analysis and explores important models for representing and acquiring information from texts.
10 credits - Modelling of Concurrent Systems
-
The aim of this module is to set out a strong theoretical basis for the analysis and design of concurrent, distributed and mobile systems. We will use the process calculi to model and reason about complex systems, studying both its formal semantics and its many uses, via a number of examples.
10 credits - Reinforcement Learning
-
This module aims to teach students the theory and implementation of reinforcement learning. Topics include: Supervised learning: the backpropagation algorithm (as prerequisite for Deep reinforcement learning). Reinforcement Learning: Temporal Difference Learning (Q learning, SARSA), Deep Reinforcement Learning, Advanced Topics. As well as the material taught in class, students are expected to self-study relevant books and research articles and produce reports in research article styles.
10 credits - Computer Security and Forensics
-
This module provides an introduction into computer security and forensics focussing on approaches and techniques for building secure systems and for the secure operation of systems. It aims to develop knowledge and understanding of fundamental principles of information security, develop familiarity with compromise of computer systems and what countermeasures can be adopted and provide practical experience of implementing secure systems. The module requires a solid understanding of mathematical concepts (e.g., modulo-arithmetic, complex numbers, group theory) and logic (set theory, predicate logic, natural deduction) a solid understanding of a programming language (e.g., Java, Ruby, or C), basic software engineering knowledge and an understanding of database and Web systems. Students should be aware that there are limited places available on this course.
10 credits - Speech Processing
-
This module aims to demonstrate why computer speech processing is an important and difficult problem, to investigate the representation of speech in the articulatory, acoustic and auditory domains, and to illustrate computational approaches to speech parameter extraction. It examines both the production and perception of speech, taking a multi-disciplinary approach (drawing on linguistics, phonetics, psychoacoustics, etc.). It introduces sufficient digital signal processing (linear systems theory, Fourier transforms) to motivate speech parameter extraction techniques (e.g. pitch and formant tracking). Students should be aware that there are limited places available on this course.
10 credits - 3D Computer Graphics
-
This module is an introduction to the techniques used in modern 3D computer graphics. It deals with fundamental techniques that are the basis of work in a range of industries, e.g. entertainment and computer-aided design. Both basic and advanced topics concerned with the production of images of abstract 3D objects are covered, including: 3D representations and manipulations in graphics, light reflection models, realism techniques such as shadows and textures, ray tracing and 3D animation. Students should be aware that there are limited places available on this course.
10 credits - The Intelligent Web
-
This module is concerned with gaining knowledge and understanding of the opportunities and challenges of the intelligent Web. We will introduce, study and apply contemporary technologies such as: 1) The basic tools of the advanced Web and their implementation; 2) Offline and multimodal interaction; 3) Client server architectures; 4) Web 3.0 and the Web of Data. Students should be aware that there are limited places available on this course.
10 credits - The Internet of Things
-
Low cost networked computers add eyes and ears (or sensors) and arms, legs and voices (or actuators) to the Internet. These devices are then connected to on-line 'brains' (using big data, machine learning and analytics in the cloud). This field is called the Internet of Things (IoT). Will the result be a 'world robot'?! No matter, in a world of many more devices than people, engineers who know how the new tech works and how to secure it will be in high demand. The COM3505 module covers the context and history of the IoT, the hardware, communications protocols and security systems it relies on, and the cloud-side analytics that make sense of the data produced. It gives practical hands-on experience of common IoT devices (sensors, actuators, microcontrollers), and look at a range of commercial platforms. Each student is given an ESP32 wifi microcontroller to keep and we program live IoT applications using that device. Students will have the opportunity to use the Diamond electronics lab and the iForge project space to complete their own IoT device with a range of hardware and capabilities. [Students should be competent programmers to take this course, be ok using Git and the command-line, and be aware that there are limited places available.]
10 credits - Software Reengineering
-
Software development often involves the improvement and adaptation of 'legacy systems' - well-established, business-critical software systems that might have become difficult to maintain over time. This module introduces the skill-set that is required to get to grips with such systems. It teaches students how to reverse-engineer and appraise complex, unwieldy systems by implementing source code and execution analysis techniques. It also presents a range of strategies that can be used to adapt and reengineer such systems to improve their quality and viability.
10 credits - Bioinspired Computing
-
This module focuses on modern artificial intelligence (AI) techniques and their inspiration from biological systems. Examples include evolution, multicellular tissues, neural systems, the immune system and swarms, inspiring abstractions such as evolutionary or swarm-based optimization algorithms, neural computing, as well computational approaches to simulate real world systems, (e.g. cellular automata and agent-based models). Lectures introduce a range of AI and related approaches in the context of their relevant biological inspiration and also their potential application to real word problems. A selection of optimisation and simulation techniques are explored in more depth using Python via active learning in computer laboratories. There is an emphasis on applying the scientific approach to practical work within this module.
10 credits - Cyber Security Team Project
-
Cyber Security Team Project is a module that equips students with the knowledge needed to keep an organisation secure from today's cyber security threats and presents the necessary steps to take when a breach occurs.
10 credits
Using a combination of learning methods and teaching techniques such as project based learning, active learning and case studies, this module teaches cyber security management principles that are needed to secure the digital assets of an organisation. A major part of this module involves students working in teams to evaluate and develop secure policies and strategies to solve real-world cyber security issues for organisations.
Students should be aware that there are limited places available on this module. - Cognitive and Biomimetic Robotics
-
Cognitive robotics is the field of creating robots that think, perceive, learn, remember, reason and interact.
10 credits
Biomimetic robotics is the approach of designing robots using principles discovered in nature, including what we can learn from the evolution and development of natural intelligence in animals including humans.
This module will explore progress in developing cognitive and biomimetic robots, relating wider progress in artificial intelligence, machine learning, and cognitive science to the development of next generation robotic systems.
The practical component of the course will focus on programming biomimetic cognitive architectures for robots.
Students should be aware that there are limited places available on this module. - Managing Engineering Projects and Teams
-
This module provides you with an understanding of the significance of projects as an instrument of business success in engineering organisations. You will learn a range of project management tools, techniques and methodologies throughout the project life cycle. You will develop skills in defining, planning, delivering, and controlling engineering projects. You will also learn the roles and responsibilities of people within engineering projects and understand how to manage teams in engineering projects.
10 credits - Software Development for Mobile Devices
-
This module aims to provide a thorough grounding in the principles of software development for mobile devices. The Android platform will be used as an example, although the module emphasises general principles that are common across all mobile platforms. An important aim of the module is to demonstrate the real-world application of object-oriented programming principles and design patterns in software for mobile devices. Students undertake a substantial software implementation project, working in teams.
10 credits - Advanced Algorithms
-
Algorithms and algorithmic problem solving are at the heart of computer science. This module, Advanced Algorithms, focuses on teaching efficient algorithm design and analysis for solving complex computational problems. It covers optimisation tools, various algorithmic techniques, and a number of modern computational models that deals with massive datasets - these are crucial for students who are aspiring researchers or industry professionals. The module integrates research-led teaching to introduce students to cutting-edge topics in algorithm design and optimisation theory. The students gain theoretical as well as practical skills relevant to research and industry demands, making them well-prepared for any career requiring a deep understanding of algorithms and their efficient implementation.
10 credits - Undergraduate Ambassadors Scheme in Computer Science
-
This module provides an opportunity for students to gain first-hand experience of computer science secondary education through a mentoring scheme with a teacher in a local school. Typically, each student will work with one class for half a day every week, for 10 weeks. The classes will vary from key stage 3 to sixth form. Students will be given a range of responsibilities from classroom assistant to the organisation and teaching of self-originated special projects. Only a limited number of places are available and students will be selected on the basis of their commitment and suitability for working in schools.
20 credits
Core modules:
- Year in Industry
-
The course enables students to spend, typically, their third year of a BEng or fourth year of an MEng working in a 'course relevant' role in industry. This provides them with wide ranging experiences and opportunities that put their academic studies into context and improve their skills and employability. Students will also benefit from experiencing the culture in industry, making contacts, and the placement will support them in their preparation for subsequent employment.
120 credits
Core modules:
- Genesys
-
This module involves students working with real customers and solving genuine problems, using agile software engineering and lean startup practices. Students work in teams to develop web applications as part of Genesys, supported by staff from epiGenesys.
45 credits
Optional modules:
- Text Processing
-
This module introduces fundamental concepts and ideas in natural language text processing, covers techniques for handling text corpora, and examines representative systems that require the automated processing of large volumes of text. The course focuses on modern quantitative techniques for text analysis and explores important models for representing and acquiring information from texts. Students should be aware that there are limited places available on this course.
15 credits - Computer Security and Forensics
-
This module provides an introduction into computer security and forensics focussing on approaches and techniques for building secure systems and for the secure operation of systems. It aims to develop knowledge and understanding of fundamental principles of information security, develop familiarity with compromise of computer systems and what countermeasures can be adopted and provide practical experience of implementing secure systems. The module requires a solid understanding of mathematical concepts (e.g., modulo-arithmetic, complex numbers, group theory) and logic (set theory, predicate logic, natural deduction) a solid understanding of a programming language (e.g., Java, Ruby, or C), basic software engineering knowledge and an understanding of database and Web systems. Students should be aware that there are limited places available on this course.
15 credits - Speech Processing
-
This module aims to demonstrate why computer speech processing is an important and difficult problem, to investigate the representation of speech in the articulatory, acoustic and auditory domains, and to illustrate computational approaches to speech parameter extraction. It examines both the production and perception of speech, taking a multi-disciplinary approach (drawing on linguistics, phonetics, psychoacoustics, etc.). It introduces sufficient digital signal processing (linear systems theory, Fourier transforms) to motivate speech parameter extraction techniques (e.g. pitch and formant tracking). Students should be aware that there are limited places available on this course.
15 credits - 3D Computer Graphics
-
This module is an introduction to the techniques used in modern 3D computer graphics. It deals with fundamental techniques that are the basis of work in a range of industries, e.g. entertainment and computer-aided design. Both basic and advanced topics concerned with the production of images of abstract 3D objects are covered, including: 3D representations and manipulations in graphics, light reflection models, realism techniques such as shadows and textures, ray tracing and 3D animation. Students should be aware that there are limited places available on this course.
15 credits - Testing and verification in safety-critical systems
-
This module provides an introduction to the processes and problems of building complex software such as for use in aerospace applications. Topics covered can be split into four major groups: safety, specification languages, concepts of software engineering, different methods of software testing. A substantial amount of time will be spent on the ideas of software testing and specific testing techniques.
15 credits
1. Safety includes software and systems safety, methods of performing hazard analysis, human factors and the IEC 61508 standard.
2. Specification languages such as Statecharts.
3. Software engineering concepts focus on the software lifecycle, safe language subsets, software testing and maintenance.
4. The software testing part is concerned with advanced approaches to generating software tests.Students should be aware that there are limited places available on this course. - Software and Hardware Verification
-
This module introduces state-of-the-art software and hardware verification techniques which nowadays are widely used in industry. They are particularly important in safety-critical applications, where system failures can not be tolerated. Designing high quality dependable computing systems is widely believed to be the main challenge in computer science. Particular focus is on protocol verification and hardware design verification by model checking and program verification by formalisms such as Hoare logics. These techniques presume formal system specifications and use automated tools for analysing whether a system satisfies the properties required or imposed. Students should be aware that there are limited places available on this course.
15 credits - Machine Learning and Adaptive Intelligence
-
The module is about core technologies underpinning modern artificial intelligence. The module will introduce statistical machine learning and probabilistic modelling and their application to describing real-world phenomena. The module will give students a grounding in modern state of the art algorithms that allow modern computer systems to learn from data. It has a considerable focus on the mathematical underpinnings of key ML approaches, requiring some knowledge of linear algebra, differentiation and probability.
15 credits
Students should be aware that there are limited places available on this module. - Software development for mobile devices
-
This module aims to provide a thorough grounding in the principles of software development for mobile devices. The Android platform will be used as an example, although the module emphasises general principles that are common across all mobile platforms. An important aim of the module is to demonstrate the real-world application of object-oriented programming principles and design patterns in software for mobile devices. Students undertake a substantial software implementation project, working in teams.
15 credits - Speech Technology
-
This module introduces the principles of the emergent field of speech technology, studies typical applications of these principles and assesses the state of the art in this area. Students will learn the prevailing techniques of automatic speech recognition (based on statistical modelling); will see how speech synthesis and text-to-speech methods are deployed in spoken language systems; and will discuss the current limitations of such devices. The module will include project work involving the implementation and assessment of a speech technology device. Students should be aware that there are limited places available on this course.
15 credits - Natural Language Processing
-
This module provides an introduction to the field of computer processing of written natural language, known as Natural Language Processing (NLP). We will cover standard theories, models and algorithms, discuss competing solutions to problems, describe example systems and applications, and highlight areas of open research. You should be aware that there are limited places available on this module.
15 credits - Network Performance Analysis
-
This module considers the performance of computer networks from a statistical aspect, using queuing theory. It is shown that the performance of a computer network depends heavily on the traffic flow in the network, and different models of traffic and queues are used. These include single-server queues, multiple server queues, and the concept of blocking is discussed. Although the analysis is entirely statistical, all the relevant background is provided in the lectures, such that the course is entirely self-contained. Problem sheets are provided in order to assist the students with the course material. Students should be aware that there are limited places available on this course.
15 credits - Darwin Project
-
The Darwin research project provides the opportunity for students to engage in a substantial piece of research work. It is undertaken in groups. Unlike the individual project, it is not primarily concerned with software development, although software development may be involved as part of the process of carrying out the research, for instance to construct the 'experimental apparatus' required for it. Projects are suggested and supervised by School of Computer Sciences staff. Students form groups and choose a project which interests them (subject to numbers of students registered), then refine the scope of the research by conducting a thorough analysis of the topic area and formulating a solution also with the help of their supervisor. The project is developed under strong supervision and appropriate interim reports are produced and presented. The project culminates with the production of a publication of the research finding and a full report of the work carried out, as well as a final conference style presentation.
30 credits - Parallel Computing with Graphical Processing Units (GPUs)
-
Accelerator architectures are discrete processing units which supplement a base processor with the objective of providing advanced performance at lower energy cost. Performance is gained by a design which favours a high number of parallel compute cores at the expense of imposing significant software challenges. This module looks at accelerated computing from multi-core central processing units (CPUs) to graphics processing unit (GPU) accelerators with many TFlops of theoretical performance. The module will give insight into how to write high performance code with specific emphasis on GPU programming with NVIDIA CUDA GPUs. A key aspect of the module will be understanding what the implications of program code are on the underlying hardware so that it can be optimised. Students should be aware that there are limited places available on this course.
15 credits
The content of our courses is reviewed annually to make sure it's up-to-date and relevant. Individual modules are occasionally updated or withdrawn. This is in response to discoveries through our world-leading research; funding changes; professional accreditation requirements; student or employer feedback; outcomes of reviews; and variations in staff or student numbers. In the event of any change we'll consult and inform students in good time and take reasonable steps to minimise disruption.
Learning and assessment
Learning
Learning will be delivered through a combination of lectures, practical sessions, tutorials and seminars. You will also learn important group work skills and will have the opportunity to work with clients to solve real-world problems.
As well as formal teaching you will be expected to undertake independent study.
At the end of your third year you will submit a written dissertation and present your findings during a poster session. Your dissertation project could be supervised by one of our research staff or an external supervisor from industry.
Our courses are designed to challenge you and prepare you for a career in industry, research, or teaching.
Our inspirational staff are experts in their fields of research. 99% of our research is rated in the highest two categories in the Research Excellence Framework (REF 2021), meaning it is classed as world-leading or internationally excellent.
Assessment
You will be assessed using a mixture of exams/tests, coursework and practical sessions.
Programme specification
This tells you the aims and learning outcomes of this course and how these will be achieved and assessed.
Entry requirements
With Access Sheffield, you could qualify for additional consideration or an alternative offer - find out if you're eligible.
The A Level entry requirements for this course are:
A*AA; AAA
A*AA including Maths; AAA including Maths and Computer Science
- A Levels + a fourth Level 3 qualification
- AAA including Maths + A in a relevant EPQ; AAB including A in Maths and B in Computer Science + A in a relevant EPQ; AAA including Maths + A in AS or B in A Level Further Maths; AAB including A in Maths and B in Computer Science + A in AS or B in A Level Further Maths
- International Baccalaureate
- 38 with 6 in Higher Level Maths
- BTEC Extended Diploma
- D*DD in Engineering, Applied Science, IT or Computing + A in A Level Maths
- BTEC Diploma
- D*D in Engineering, Applied Science, IT or Computing + A in A Level Maths
- T Level
- Distinction in the Digital Production, Design and Development T Level, including grade A in the core component + A in A Level Maths
- Scottish Highers + 1 Advanced Higher
- AAAAA + A in Maths
- Welsh Baccalaureate + 2 A Levels
- A + A*A including Maths; A + AA in Maths and Computer Science
- Access to HE Diploma
- Award of Access to HE Diploma in a relevant subject, with 45 credits at Level 3, including 42 at Distinction (to include 18 credits in Maths), and 3 at Merit
The A Level entry requirements for this course are:
AAB; ABB
AAB including A in Maths; ABB including A in Maths and B in Computer Science
- A Levels + a fourth Level 3 qualification
- AAA including Maths + A in a relevant EPQ; AAB including A in Maths and B in Computer Science + A in a relevant EPQ; AAA including Maths + A in AS or B in A Level Further Maths; AAB including A in Maths and B in Computer Science + A in AS or B in A Level Further Maths
- International Baccalaureate
- 34 with 6 in Higher Level Maths
- BTEC Extended Diploma
- DDD in Engineering, Applied Science, IT or Computing + B in A Level Maths
- BTEC Diploma
- DD in Engineering, Applied Science, IT or Computing + B in A Level Maths
- T Level
- Distinction in the Digital Production, Design and Development T Level, including grade A in the core component + A in A Level Maths
- Scottish Highers + 1 Advanced Higher
- AAABB + A in Maths
- Welsh Baccalaureate + 2 A Levels
- B + AA including A in Maths; B + AB including A in Maths and B in Computer Science
- Access to HE Diploma
- Award of Access to HE Diploma in a relevant subject, with 45 credits at Level 3, including 39 at Distinction (to include 18 credits in Maths), and 6 at Merit
You must demonstrate that your English is good enough for you to successfully complete your course. For this course we require: GCSE English Language at grade 4/C; IELTS grade of 6.5 with a minimum of 6.0 in each component; or an alternative acceptable English language qualification
Equivalent English language qualifications
Visa and immigration requirements
Other qualifications | UK and EU/international
If you have any questions about entry requirements, please contact the school/department.
Graduate careers
School of Computer Science
Some of our graduates have gone on to become IT consultants, software engineers, software developers, project managers, and data scientists in companies such as Amazon, ARM, BT, Bank of America & BofA Securities, Goldman Sachs, Google, IBM, Microsoft, and Plusnet. Others have begun their research careers by starting a PhD.
School of Computer Science
National Student Survey (NSS) 2024
The Times and Sunday Times Good University Guide 2025
Research Excellence Framework 2021

Here in Sheffield our world-class research is advancing our understanding of computer science, and leading to practical applications that are enhancing people’s lives. From cutting-edge artificial intelligence that could transform dementia treatment, to text engineering methods that fight the spread of disinformation online, our research is delivering tremendous impact.
Many of our lecturers are leading computer scientists with international reputations, and their research shapes and inspires what you will be taught. This means that what we teach you at Sheffield is right up to date. Also, through a research-led education we hope to inspire a sense of creativity and curiosity that will set you on a life-long path of learning and discovery.
As well as our first-class teaching, the hands-on practical skills and industry experience you’ll gain in Sheffield will pave the way for an exciting career. Every year our students go on to work for some of the biggest and most innovative companies in the world.
We teach using industry-standard tools so that you can hit the ground running, and we also help you to develop the problem solving and communication skills that employers really value. We also prepare you for making decisions that will affect others: it’s crucial that as a computer science professional you understand the ethical implications of your work and are mindful of its environmental impact.
Our school is a vibrant, diverse and supportive community of like-minded people. If you decide to join us at Sheffield, you’ll be welcomed as part of that community and presented with a multitude of opportunities for extracurricular activities. That is why studying in our school is an excellent investment in your future, whatever path you choose.
Your lectures, practical classes, tutorials and seminars are usually held on the University campus. The Diamond is a world-class building, home to all engineering undergraduates and where most of your practical sessions will take place. Our investment of £81m in the building and £20m for lab equipment is helping us to develop innovative teaching and learning experiences.
Dedicated teaching staff will support you and assist your development into a computer scientist of the future. We regularly host guest lectures from industry, with recent guests including Microsoft, Google, GitHub, IBM and ARM.
Facilities
We use a multitude of cutting edge hardware in our teaching. We have MiRo robots and Robotis turtlebots which are used to teach robotics and programming. These are also used in third year dissertation projects.
We have facilities and equipment exclusively for software development on mobile devices including phones and tablets.
As a computer science student within the Faculty of Engineering, you will have access to specialist facilities in our state-of-the-art hub, The Diamond. Here you will have access to the latest hardware, software and operating systems in our dedicated computer labs. Virtual Reality facilities, high-spec graphics PCs, a robot arena, media editing suites and video and podcast recording studios are all available.
Take one of our MComp or MEng degrees and you will have the opportunity to work in Genesys Solutions, the first student-run software development organisation in the UK, where you will pitch, develop and market ideas for a startup company.
University rankings
Number one in the Russell Group
National Student Survey 2024 (based on aggregate responses)
92 per cent of our research is rated as world-leading or internationally excellent
Research Excellence Framework 2021
University of the Year and best for Student Life
Whatuni Student Choice Awards 2024
Number one Students' Union in the UK
Whatuni Student Choice Awards 2024, 2023, 2022, 2020, 2019, 2018, 2017
Number one for Students' Union
StudentCrowd 2024 University Awards
A top 20 university targeted by employers
The Graduate Market in 2023, High Fliers report
A top-100 university: 12th in the UK and 98th in the world
Times Higher Education World University Rankings 2025
Student profiles
Fees and funding
Fees
Additional costs
The annual fee for your course includes a number of items in addition to your tuition. If an item or activity is classed as a compulsory element for your course, it will normally be included in your tuition fee. There are also other costs which you may need to consider.
Funding your study
Depending on your circumstances, you may qualify for a bursary, scholarship or loan to help fund your study and enhance your learning experience.
Use our Student Funding Calculator to work out what you’re eligible for.
Visit
University open days
We host five open days each year, usually in June, July, September, October and November. You can talk to staff and students, tour the campus and see inside the accommodation.
Subject tasters
If you’re considering your post-16 options, our interactive subject tasters are for you. There are a wide range of subjects to choose from and you can attend sessions online or on campus.
Offer holder days
If you've received an offer to study with us, we'll invite you to one of our offer holder days, which take place between February and April. These open days have a strong school focus and give you the chance to really explore student life here, even if you've visited us before.
Campus tours
Our weekly guided tours show you what Sheffield has to offer - both on campus and beyond. You can extend your visit with tours of our city, accommodation or sport facilities.
Apply
The awarding body for this course is the University of Sheffield.
Recognition of professional qualifications: from 1 January 2021, in order to have any UK professional qualifications recognised for work in an EU country across a number of regulated and other professions you need to apply to the host country for recognition. Read information from the UK government and the EU Regulated Professions Database.
Any supervisors and research areas listed are indicative and may change before the start of the course.