Everything you need to know...
-
What is the fee?
Home: See fees section below
International/EU: £18,000 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 2026
-
Placement year available?
Yes
Course summary
- Gain the skills needed to write software for a diverse range of industries
- Develop your understanding of evolving technologies such as artificial intelligence, robotics and machine learning
- Benefit from our connections with employers such as IBM, Intel, Next and HSBC
- Work on live projects for real clients and complete a year-long placement
You’ll develop a deep understanding of practical computation, including key concepts in artificial intelligence. Based in our Home of Digital Technologies, you’ll learn from experts in labs designed to mimic industry. Grow in confidence as we support you to accrue valuable work experience, gradually moving from simulated client projects to real-world briefs.
Immerse yourself in Sheffield’s vibrant digital industry through opportunities to work with local tech start-ups, and showcase your work at events such as The Festival of Computing - frequented by large employers in the industry.
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
92% of our graduates are in work or further study fifteen months after graduating (2022/23 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
You'll be taught by experts in software, artificial intelligence, robotics and engineering, many of whom have extensive experience in industry. Our team are passionate about our research – we have designed new products for organisations such as Guildhawk, the NHS and Raytheon.
During your first year, you will be introduced to programming and the principles of mathematics, before moving on to algorithm design and software engineering.
In your second and final year, you can choose elective modules, tailoring the degree to suit your interests. You’ll also complete a project in your chosen area of computer science in your final year.
One of the main themes of this course is problem solving. You’ll achieve this fundamental skill by working on projects in the software industry using industry-standard tools such as Agile development, GIThub and Visual Studio. 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.
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 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
Applied learning
Industrial placements
You’ll have the chance to complete a year-long work placement in Industry between your second and third year. We have connections with a range of employers including IBM, Intel, Next and Nissan, and we’ll support you to set up work experience that’s right for you.
You can also opt to work with one of Sheffield’s local tech enterprises — many of these companies use placements as a way to scout out future talent.
Lots of students go on to secure a graduate role with their host employer after completing their placement year.
Students from this course have worked with companies such as:
- IBM
- Intel
- Aldi
- Office for National Statistics
- NHS
- Mercedes
- HSBC
- Tech startups
- Skybet
- Jaguar
- Nissan
- Next
- Walt Disney
- 3Squared
- CSE Servelec
- 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.
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 IBM, Autodesk, 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 will be numerous opportunities for you to engage with careers support, fairs, workshops and professional advisers.
Take advantage of our links with companies such as IBM, Next, Autodesk and Elanco to form relationships and build the contacts you need to further your career.
We’ll also encourage you to network with other students across computing disciplines, sharing knowledge and learning from each other. Many of our students are involved in computing societies such as Women in Tech Society and CyberSoc.
We often invite employers on campus to host workshops and lecture on topics such as software development, project management and routes into a career in computing.
Plus, you’ll have the chance to attend regular talks put on by British Computer Society (BCS) Yorkshire – the chartered institute for IT.
Professional development
We want you to have as many chances as possible to hone your skills as a programmer and set yourself up for success. We host student programming clinics where you can receive one-to-one mentorship, as well as weekly coding workshops.
We’re a member of the Turing University Network, allowing us to offer Continuing Professional Development courses across the University. You can also undertake professional accreditations in project management and business analysis.
Study abroad
Keen to study abroad? We are partnered with La Trobe University in Melbourne, Australia, allowing you the chance to study abroad for a semester.
Competitions
Showcase your work at the Festival of Computing, an annual event giving you the opportunity to show your work to peers, academics and representatives from industry.
You'll also have the chance to attend the Festival of Coding which runs two to three times a year, and is similar to a hackathon. Over the course of a weekend, you’ll work to solve a problem as part of a team.
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
Course leaders and tutors
Mick Marriott
Senior Lecturer and Undergraduate Placement Lead for the School of Computing & Digital TechnologiesStaff profile for Mick Marriott Senior Lecturer and Course Leader for BSc Computer Science and BSc Computer Science with AI
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 discrete mathematics and numerical skills related to concepts for application in computer science. The module is designed to give students the skills necessary to evaluate systems and data numerically and to apply rigorous mathematical thinking to the modelling of those systems and data. 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 · Boolean algebra, truth tables, de Morgan’s Law
This module provides an introduction to computer programming. It will provide a foundation and understanding of key programming concepts and their deployment in a mainstream object-oriented programming language. The focus is on the design and implementation of programs and algorithms using the imperative facilities of a programming language, which is widely used for developing modern applications. This will extend into basic concepts of object-oriented programming.
The module offers an opportunity to acquire practical skills that are fundamental to BSc Computer Science and constitutes a levelling experience that acknowledges the fact that learners entering the programme possess a wide variety of programming skills and experience. Teaching materials for this module will include classical Computer Science topics and concepts.
By the end of the module, students should be able to construct simple imperative and object-oriented applications from only basic descriptions using a combination of programming experience and problem-solving.
Indicative Content
-
Problem solving, top-down design and functional decomposition
-
The development process - specification, design, implementation, testing.
-
Variables and Data Structures
-
Algorithms and Control Structures
-
Program Quality
-
Software tools and Program Development Environments
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
Compulsory 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
Machine Learning techniques, such as artificial neural networks, are widely used in modern intelligent systems. The module aims to deliver key concepts, theories and practical skills to implement state-of-the-art neural networks techniques within the artificial intelligence problems domain. This module enhances the knowledge and experiences from corresponding level 5 machine learning modules and focuses on smart system design, development, evaluation and optimisation.
Indicative Content
-
Artificial and Deep Neural Networks
-
Algorithms of training Neural Networks
-
Customising pre-trained models and transfer learning
-
Training large scale neural networks through GPUs, multiple devices and cloud computing
-
Computer vision tasks with convolutional neural networks
-
Natural language processing with recurrent neural networks
-
Reinforcement learning algorithms
-
Generative learning algorithms
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
As hardware becomes more complex and as the problems which computing addresses scale larger we are finding the limits of popular abstractions. In particular object-orientation is being stretched to breaking point when programs are executed on massively concurrent or parallel architectures. Some people are finding that functional languages give them the flexibility to handle scale and concurrency effectively. As a side-effect they often find that their functional programs are simpler and more readable than OO versions.
This module will introduce students to functional programming. They will learn one of the popular languages (probably Scala or Erlang) and see how it can be applied to a variety of data-intensive domains. Along the way you'll explore some of the data manipulation techniques which came out of research into Artificial Intelligence (AI).
INDICATIVE CONTENT
- Introduction to functional ideas - why functional programming
- What are functions?
- Treating program state as a homologue of data
- Lambda expressions
- Provability - how do we know what result our program will produce?
- Using a functional language (Scala/Erlang/Clojure/F#)
- Applying artificial intelligence 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
Future careers
This course will provide you with skills that are in high demand in an increasingly digital society. Average starting salaries in the computing sector begin at around £30,000 per year.
You’ll be prepared 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
- Raspberry Pi Foundation
- SkyBet
- MasterCard
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
You'll study in our Home of Digital Technologies, completing projects in learning labs that simulate industry. Our facilities are world-class, home to seven dedicated cyber security labs – the largest set up in the country. We also have one of the world's largest PlayStation teaching labs.
On this course you’ll work with and have access to:
- modern software IDEs including Visual Studio
- industry-standard software
- state-of-the-art hardware
- Internet of Things 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
- Maths at grade B or 5
GCSE equivalents
- 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.
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'.
Fees and funding
Home students
Tuition fees for 2026/27 are not yet confirmed. 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 2026/27 is £18,000 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, 600.1KB)Legal information
Any offer of a place to study is subject to your acceptance of the University’s Terms and Conditions and Student Regulations.
