Everything you need to know...
-
What is the fee?
Home: See fees section below
International/EU: £17,155 per year -
How long will I study?
3 / 4 Years
-
Where will I study?
-
What are the entry requirements?
-
What is the UCAS code?
G400
-
When do I start?
September 2025
-
Placement year available?
Yes
Employability
95% of our graduates are in work or further study fifteen months after graduating (2021/22 Graduate Outcomes Survey).
Course summary
- Gain the skills needed to write software for a diverse range of industries
- Develop complex software and systems using analytical and mathematical approaches
- Understand the fundamental principles behind the software that powers our world
You’ll develop a deep understanding of practical computation, including key concepts in the machine learning domain. You'll become a programmer who understands and can build upon the fundamental principles behind the software that underpins modern society across a variety of platforms and domains using different programming languages.
Accredited by
This course is accredited by BCS, The Chartered Institute for IT for the purposes of fully meeting the academic requirement for registration as a Chartered IT Professional and partially meeting the academic requirement for registration as a Chartered Engineer/Chartered Scientist.
Employability
95% of our graduates are in work or further study fifteen months after graduating, with 77% in highly skilled employment or further study (2021/22 Graduate Outcomes Survey).

Come to an open day
Visit us to learn more about our gold-rated teaching and why we were awarded the highest possible rating in the Teaching Excellence Framework.
How you learn
Your lecturer’s view
During your first year you will be introduced to programming and the principles of mathematics before moving on to algorithm design and software engineering. You will be assigned an academic member of staff as an academic adviser who will give you guidance and support on academic issues.
One of the main themes of this course is problem solving and you’ll achieve this fundamental skill by working on projects in the software industry using industry-standard tools and techniques. This will give you an opportunity to work with others in small teams, helping to prepare you for the world of work after you graduate.
During your second and final year you’ll have the opportunity to choose elective modules, allowing you to tailor the degree to suit your interests.
During your final year, you’ll then complete a project in an area of computer science of your choice, allowing you to follow an area of interest and build skills relevant for your future career.
The combination of learning methods across the course allows you to develop a range of skills through problem-solving activities, applied learning and teamwork, providing a practical approach to learning and encouraging self-development.
You learn through
- lectures
- practical lab sessions and tutorials
- regular feedback
- teamwork and group-based learning
- applied learning
- independent study
You’ll be supported in your learning journey towards highly skilled, graduate level employment. This includes:
- access to specialist support services to help with your personal, academic and career development
- access to our Skills Centre with one to ones, webinars and online resources, where you can get help with planning and structuring your assignments
- Industry-specific employability activities such as live projects, learning in simulated environments and networking opportunities
Course leaders and tutors

Mick Marriott
Senior Lecturer and Course Leader for BSc Computer Science and BSc Computer Science with AIStaff profile for Mick Marriott Senior Lecturer and Course Leader for BSc Computer Science and BSc Computer Science with AI
Applied learning
Work placements
You’ll have the opportunity to complete a year-long work placement between your second and third year. A placement is widely recognised as the gold standard opportunity to gain personal and professional development through real-world experience.
You will be encouraged to take up this opportunity, as it will benefit your long-term career prospects and salary level, as well as your academic achievements and degree classification. Your course will prepare you to succeed in your placement and you will be supported throughout it.
Your placement will allow you to apply the knowledge and skills gained on your course, in areas such as web development, mobile applications, backend software and desktop solutions.
Students from this course have worked with companies such as
- 3Squared
- CSE Servelec
- IBM
- Intel
- SN Systems
Your placement year will allow you to gain an Applied Professional Diploma in addition to your degree which will enhance your graduate profile and give you the edge with future employers.
You’ll also be supported to take advantage of work experience opportunities throughout your course, through access to a range of support activities, resources, and employer events from your Employability Team. This will further enhance your employability skillset, confidence, and opportunity-awareness to help you succeed in your career after graduating.
Live projects
In your first and second years you’ll work in a group on a real client-based project. You’ll analyse their requirements, then design, implement and test a prototype which you will present to your client. This will allow you to experience the types of demands faced by commercial software developers and increase your confidence while you’re applying for your work placements.
Students have worked on live projects with industrial collaborators such as Next, XLN, Elanco and Elaros (Digital Health). These projects have involved the use of augmented reality and 3D technologies, machine learning and artificial intelligence technologies, cloud services and mobile development. Students have often found placements as a result of being recognised for the excellent work they have done for these live projects with the host company.
Networking opportunities
Throughout the course there’ll be numerous opportunities for you to engage with career management, career fairs and workshops, employer presentations, visits, and professional advisers.
Student's success story

George, a Computer Science student, has spent his placement at CENTRIC, allowing him to work with South Yorkshire Police and Europol. Read more
Future careers
This course prepares you for a career in
- software development
- web-based applications
- mobile app development
- systems and IT support
- project management
- IT consultancy
Previous graduates of this course have gone on to work for companies such as
- 3Squared
- Capita
- Plusnet
- Raspberry Pi Foundation
- SkyBet
Where will I study?
You study at City Campus through a structured mix of lectures, seminars and practical sessions as well as access to digital and online resources to support your learning.
City Campus
City Campus is located in the heart of Sheffield, within minutes of the train and bus stations.
City Campus map | City Campus tour

Adsetts library
Adsetts Library is located on our City Campus. It's open 24 hours a day, every day.
Learn moreLearn more about your department
Computing facilities tour
Take a look around the facilities and equipment in the Department of Computing at Sheffield Hallam University.
Equipment and facilities
On this course, you will work with
- modern software development environments
- industry-standard software and tools
- state-of-the-art hardware
- IoT and SBC devices
We’ve invested over £100m in new facilities to help you study how and when you want. This means 24-hour libraries and study spaces designed by our students.
Media Gallery
Entry requirements
All students
UCAS points
- 112-120
This must include at least 64 points from two A levels or equivalent BTEC National qualifications. For example:
- BBC-BBB at A Level.
- DDM in BTEC Extended Diploma.
- Merit overall from a T level qualification.
- A combination of qualifications, which may include AS Levels, EPQ and general studies
You can find information on making sense of UCAS tariff points here and use the UCAS tariff calculator to work out your points.
GCSE
- English Language at grade C or 4
- Maths at grade B or 5
GCSE equivalents
- Level 2 Literacy or Functional Skills Level 2 English
- Level 2 Numeracy or Functional Skills Level 2 Maths
• Access - an Access to HE Diploma with at least 45 credits at level 3 and 15 credits at level 2. At least 18 Level 3 credits must be at merit grade or above, from a QAA-recognised Access to HE course, or an equivalent Access to HE certificate.
If English is not your first language, you will need an IELTS score of 6.0 with a minimum of 5.5 in all skills, or equivalent. If your English language skill is currently below IELTS 6.0 we recommend you consider a Sheffield Hallam University Pre-sessional English course which will enable you to achieve an equivalent English score.
We welcome applications from people of any age. We may be flexible in our normal offer if you can show a commitment to succeed and have the relevant skills and experience. This must show that you will benefit from and finish the course successfully.
Additional information for EU/International students
If you are an International or non-UK European student, you can find out more about the country specific qualifications we accept on our international qualifications page.
For details of English language entry requirements (IELTS), please see the information for 'All students'.
Modules
Important notice: The structure of this course is periodically reviewed and enhanced to provide the best possible learning experience for our students and ensure ongoing compliance with any professional, statutory and regulatory body standards. Module structure, content, delivery and assessment may change, but we expect the focus of the course and the learning outcomes to remain as described above. Following any changes, updated module information will be published on this page.
You will be able to complete a placement year as part of this course. See the modules table below for further information.
Year 1
Compulsory modules
This module introduces technologies needed to create modern web-based applications. It will develop your knowledge and practice skills in creating dynamic websites, that are underpin by databases, using standardised web technologies.
You’ll study topics such as:
-
HTML
-
CSS
-
Javascript
-
PHP
-
SQL
This module will introduce concepts of computer architecture, discrete mathematics and numerical skills related to concepts for application in computer science. It will introduce the fundamental principles and features that underpin modern computing systems design and describe how the execution of software is influenced by the processor architecture being used.
You’ll study topics such as:
-
Sets, relations, and functions
-
Propositional and predicate logic
-
Cardinality, combinatorics, recurrence, and modular arithmetic
-
Proof techniques: structure, induction, counterexamples, contradiction
-
Graphs and trees
-
Discrete probability
-
Data organisation: data structures, e.g., arrays, lists and trees
-
Matrices
-
Mathematics of cryptography
-
Hexadecimal and binary number systems
-
Floating point and other number systems
-
Logic gates and circuits
-
Boolean algebra
-
Machine code and programming in a low-level assembler language
-
The fetch-execute cycle
This module introduces computer programming. It will develop your understanding of practical programming concepts and their deployment in a mainstream object-oriented programming language through the creation of code and applications.
You’ll study topics such as:
-
Problem solving, top-down design and functional decomposition
-
The development process - specification, design, implementation, testing.
-
Variables, data types, and data structures
-
Algorithms and control structures
-
Object-oriented programming
-
Program quality
-
Software tools and integrated development environments (IDEs)
This module uses real projects for you to apply and continue to develop your software development knowledge against. It will support the development of your collaborative skills in a software development environment alongside relevant Legal, Social, Ethical and Professional Issues (LSEPI) and their impact within the IT and software industry.
You’ll study topics such as:
-
User requirements & user stories
-
Acceptance testing
-
Software prototyping and fidelity of prototypes
-
Software development process and lifecycles
-
Use case modelling
-
Database design
-
Object-oriented design
-
User interface design
-
Legal, Social, Ethical and Professional issues in IT
-
Software testing
-
Sustainable development and deployment
-
Data security
Year 2
Compulsory modules
This module will continue to build your programming knowledge, looking at object-oriented programming in a modern programming language such as C/C++. It will introduce manual dynamic memory management and discuss heap and stack memory alongside profiling. You will practice more advanced aspects of programming languages and develop an understanding of design patterns and standard software libraries.
You’ll study topics such as:
-
Object-oriented principles, concepts and design: encapsulation, inheritance, polymorphism
-
Abstract and interface classes
-
Dynamic memory management
-
Memory pointers and references
-
Memory profiling
-
Standard template libraries (STLs)
-
Operator overloading
-
Templates / generics
-
Event-based coding
-
Design patterns
-
Tool support for OO development
-
Version control software
Aims:
This module will impart key concepts in computer science to students and to further develop important skills in computer-based problem solving and data manipulation.
Indicative Content
-
Introduction to algorithms (role and importance of algorithms in computer science). Concurrent, and parallel algorithms
-
Sorting algorithms (merge sort, heap sort, quick sort)
-
Searching algorithms
-
Linked lists (Singly linked lists; double linked lists)
-
Stacks and Queues
-
Recursion
-
Tree structures (creating, searching, traversing, merging).
-
Graph structures (traversals, activity networks, critical paths, shortest paths)
-
The theory of algorithms (Big-O notation, Computability; Turing machines).
-
Complexity (computational and control flow).
-
Optimisation problems (Travelling Salesman Problem, Bin Packing).
-
Optimisation search methods (Genetic algorithm, Hill Climbing, Simulated Annealing, Tabu search algorithm, Iterated Local Search).
This module provides a platform for you to work collaboratively in small teams to build complex software applications relating to industry. You’ll typically work with external clients on the projects, where you will also continue to develop your professional practice and profile, that can be used to support placement opportunities.
You’ll study topics such as:
-
Modern software development methodologies
-
Effectively team working
-
Version control tools
-
Architecture of CRUDing applications
-
Building secure APIs
-
Testing strategies for software development
-
Cloud deployment technologies
-
Professional profile: CVs, covering letters, portfolio, and reflective practice
-
Building secure and sustainable systems
-
Accessible and culturally appropriate software
Elective modules
This module delivers knowledge and practical skills of machine learning algorithms for artificial intelligence applications. It will present the key mathematical principles and concepts required to create machine learning algorithms through data-driven approaches. You will gain practical experience while designing, implementing, and evaluating machine learning systems to solve real-world artificial intelligence problems.
You’ll study topics such as:
-
Data-driven approaches to machine learning
-
Linear regression and gradient descent
-
Regression and classification problems
-
Machine learning algorithms: decision trees, support vector machines, ensemble learning and k-mean/mean-shift clustering
-
Data pre-processing, cleansing and feature extraction
-
Evaluating machine learning system by using cross-validation, confusion matrix and receiver operating characteristic
This module will develop your programming skills further through the production of games using industry-standard game engines and tools.
You’ll study topics such as:
-
Game development concepts, processes, mathematics, and techniques
-
Sprite sheets, animation, lighting, physics, collision detection, mathematical vectors, and quaternions
-
Game development tools: game engines, image editing software, and audio editing software
-
Development of 2D and 3D games
This module develops your ability to differentiate and choose between different operational database systems for daily operations or simple analytics and use of distributed systems to manage data on a larger scale. It will develop your understanding of relational and non-relational (NoSQL) databases, and how to program a NoSQL database Distributed System. You will get practical experience of storing, manipulating, and retrieving semi-structured data and perform aggregation functions with big datasets used in cloud computing.
You’ll study topics such as:
The module will advance on from the database module completed in the first year. Concepts covered at this stage will include:
-
Data management and database management
-
Database system architectures
-
Relational data model
-
Handling simple and complex data types
-
Visualisation of data
-
Database integrity, security, encryption, use of constraints
-
Business driven data strategies
-
Cloud-based data handling tools
-
NoSQL
This module introduces you to mobile application development. It will explore the capabilities of modern devices for you to create highly interactive mobile applications, using industry standard software development kits (SDKs).
You’ll study topics such as:
- User interface components
- Layouts and styles
- Navigation
- Controls and lists
- Mobile application features: sound effects, notifications, gestures, camera/photo gallery, geo-location and maps integration
- App lifecycle
- Device storage procedures and access APIs
- Architectural patterns for mobile application development
- Authentication
- Mobile application deployment
This module is for undergraduate students to study abroad in their second year, Semester 2 (only for courses that offer this option). With this module, you can spend a semester at one of the University’s approved partner institutions worldwide – from Europe to the Americas, Australia or Canada.
Study Abroad plays an important role in the University's commitment to an engaging, challenging, and thriving learning culture. It offers opportunities to experience other academic cultures and foster intellectual maturity while enhancing co-curricular skills and students' long-term employability.
Study abroad for credit is permitted on existing university-approved courses only. Students are awarded credits and grades at the partner institution, which are converted into Sheffield Hallam credits and grades on return and included in the Sheffield Hallam degree classification.
Please check and refer to the webpage How study abroad works. You must submit a Learning Agreement outlining the modules you will be taking at the partner institution. The Learning Agreement will be signed off by your academic tutor to ensure that the Learning broadly covers the Learning Outcomes set out in your course curriculum during your study abroad.
Year 3
Optional modules
Module aim:
The aim of this module is to enhance students’ professional development through the completion of and reflection on meaningful work placement(s).
A work placement will provide students with opportunities to experience the realities of professional employment and experience how their course can be applied within their chosen industry setting. The placement will:
-
Allow student to apply the skills, theories and behaviours relevant and in addition to their course
-
Enable students to enhance their interpersonal skills in demand by graduate employers – communication, problem solving, creativity, resilience, team work etc.
-
Grow their student network and relationship building skills.
-
Provide student with insights into the industry and sector in which their placement occurs
-
Help student make informed graduate careers choices.
Indicative Content:
In this module students undertake a sandwich placement (min 24 weeks / min 21 hours per week) which is integrated, assessed and aligned to their studies.
Their personal Placement Academic Supervisor (PAS) will be their key point of contact during their placement and will encourage and support students to reflect on their experience, learning and contribution to the organisation they work for.
To demonstrate gains in professional development, students will be required to share their progress, learning and achievements with their Placement Academic Supervisor and reflect on these for the summative piece of work.
Final year
Compulsory modules
This module is a research project of your choice – you’ll identify a computer-based problem, investigate the requirements, analyse results of research undertaken and design, and develop and evaluate a solution to that problem. You’ll then evaluate the project’s success, your learnings and opportunities for further work.
You’ll apply skills and learning such as:
-
Ideation and planning a larger-scale project
-
Information gathering and literature reviews
-
The selection of tools, techniques or methods
-
Implementation, testing and user evaluation
-
Critical reflection on project deliverables, success or failure
-
Referencing and citation techniques
-
Legal, social, and ethical considerations
-
Security and confidentiality
-
Sustainable development and deployment
-
Employability skills and attributes
The aim of this module is to give you the opportunity to apply the principles of good design, usability, and security to the development of software. It does so by exploring a case study that forms the starting point for discovery, discussion and development. In adopting a practical approach, different design techniques and architectural styles can be used to develop solutions that are then evaluated against industry-standard criteria using both qualitative and quantitative techniques.
Indicative Content
-
Gathering requirements
-
User-Centred Design (including aspects of inclusive design with a particular focus on assistive technology).
-
Designing a solution architecture
-
Selecting and implementing design patterns.
-
Understanding anti-patterns and code smells.
-
Evaluating software architecture and quality characteristics.
-
Understanding the role of measurement and modelling in the design of systems.
-
The relationship between frameworks, design patterns and architectures.
-
Implementation of software using frameworks.
-
Software and user testing.
-
Testing the security of a system
-
The importance of understanding of culture and inclusivity in the design of systems
Elective modules
This module expands your experience of designing and creating gameplay prototypes for Windows-based PCs, using high-level commercial engines such as Unity and Unreal. You’ll build on your existing commercial engine skills to develop a gameplay prototype for a mobile platform.
You’ll study topics such as:
-
Game development in a scripting language such as Lua and C#
-
Researching and applying common design paradigms to mobile gaming
-
Advanced techniques of a commercial games engine
-
Particle systems, shader programming, post-processing effects and networking
-
Monetisation of the mobile gaming platforms
-
Common industry practices to mobile game financing
This module is an opportunity to work as a software engineer, work out an innovative solution for a problem and define a software engineering method to develop the solution. You’ll focus on the end user’s functional pain points through a design thinking workshop, deciding on a software engineering methodology influenced by industry-standard methods.
You’ll study topics such as:
-
Pain points and requirements using design thinking
-
Technical solutions leveraging reference architectures
-
Defining software engineering method
-
Industry-standard practice-oriented methodology like IBM Garage Method
-
MVP-driven ‘envisage co-create build-at-scale’ development
-
Optimising software engineering methodology with techniques like LEAN
-
Understanding organisation maturity in line with SEI/CMM
This module introduces you to functional programming, learning one of the popular languages (such as Scala or Erlang) and seeing how to apply it to a variety of data-intensive domains. Along the you’ll explore some of the data manipulation techniques which came out of research into AI.
You’ll study topics such as:
-
Functional ideas
-
Why functional programming?
-
What are functions?
-
Handling scale and concurrency effectively
-
Treating program state as a homologue of data
-
Lambda expressions
-
How to know what result our program will produce
-
Using a functional language (Scala/Erlang/Clojure/F#)
-
Applying AI to manipulate state
This module explores some of the important applications we use – from Google and Amazon to the many social media platforms – which have built their utility and success on top of machine learning systems. Using Python programming and a range of libraries, you’ll learn to understand recognition, prediction, rankings, recommendation systems, social bookmarking and more.
You’ll study topics such as:
-
Machine learning in AI, social media, and web applications
-
Python libraries for machine learning
-
Recommendations based on the ‘likes’ of individuals and groups
-
Using neural networks to learn about computer vision tasks
-
Ranking search results based on the context they were created in
-
Building pricing models using a variety of techniques
-
Building systems whose intelligence evolves using genetic algorithms
This module explores the recent progression of ‘electronics’ from the design and development of circuitry towards programmable devices which receive input from sensors, using that information in various ways to ‘control’ outputs and produce effects. This emerging ‘internet of things’ and ‘physical computing’ is seen in Arduino boards, robots, smart homes and embedded devices.
You’ll study topics such as:
-
Prototyping tools, processes and methods
-
Physical computing system controller, motors and sensors
-
Embedded robotic devices
-
Handling real-time data
-
Control algorithms
This module introduces the practice of secure software engineering, exploring the main objectives of security in the construction of large complex applications. We’ll view historical cases of software failure to demonstrate the main problems and implications for poor security practices in software development, which you’ll use as motivation for the study of current software and security engineering practices.
You’ll study topics such as:
-
Information security concepts, objectives and properties
-
Confidentiality, integrity availability
-
Security in the software development lifecycle
-
Cryptography foundation and application
-
Digital identity management and access control
-
Identification, authentication, authorisation and audit
-
Vulnerabilities, threats and attacks
-
Protection and defence mechanisms and tools
Fees and funding
Home students
Our tuition fee for UK students on full-time undergraduate courses in 2025/26 is £9,535 per year (capped at a maximum of 20% of this during your placement year). These fees are regulated by the UK government and therefore subject to change in future years.
If you are studying an undergraduate course, postgraduate pre-registration course or postgraduate research course over more than one academic year then your tuition fees may increase in subsequent years in line with Government regulations or UK Research and Innovation (UKRI) published fees. More information can be found in our terms and conditions under student fees regulations.
International students
Our tuition fee for International/EU students starting full-time study in 2025/26 is £17,155 per year (capped at a maximum of 20% of this during your placement year)

Financial support for home/EU students
How tuition fees work, student loans and other financial support available.
Additional course costs
The links below allow you to view estimated general course additional costs, as well as costs associated with key activities on specific courses. These are estimates and are intended only as an indication of potential additional expenses. Actual costs can vary greatly depending on the choices you make during your course.
General course additional costs
Additional costs for School of Computing and Digital Technologies (PDF, 131.3KB)Legal information
Any offer of a place to study is subject to your acceptance of the University’s Terms and Conditions and Student Regulations.