
Computer Science BSc
Department of Computer Science
Explore this course:
This course is no longer taking applications for 2023-24 entry. View 2024-25 entry or find another undergraduate course.
Key details
- A Levels AAA; AAB
Other entry requirements - UCAS code G402
- 3 years / Full-time
- September start
- Accredited
- Find out the course fee
- Optional placement year
- Study abroad
Course description

Through the study of computer science, you'll learn how to understand the theoretical issues underlying a problem and how to engineer a solution.
You can experiment with speech recognition, voice synthesis, text summarisation, machine translation, robot learning and control, computational biology or virtual reality.
As well as learning to program and think analytically, you'll be encouraged to work in teams and develop your communication skills.
In the third year, you'll complete a dissertation project, giving you scope for creative and intellectual input.
This course is accredited by the British Computer Society. The courses fully meet the requirements for Chartered Information Technology Professional and partially meet the requirements for Chartered Engineer.
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: G402
Years: 2022, 2023
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 introduces programming concepts through the Java programming language. Program design and the use of testing to drive program creation are also covered. Initial focus is placed on the structured aspects typical of many programming languages: the ideas of a sequence, selection and repetition. The object-oriented approach to building large software systems from components is then presented. Throughout the module, emphasis is placed on the practice of writing well-structured and readable programs to solve problems.
20 credits - Machines and Intelligence
-
This module provides an introduction to Artificial Intelligence, and to key concepts and problems in the field, such as whether a computer is capable of understanding, and whether humans should themselves be viewed as machines. It also provides a brief historical overview of the subject and reviews the state-of-the-art and open questions in some of the major sub-areas of AI, pointing out connections to research work in the Department. As well as providing a first encounter with the main issues that underlie attempts to create Artificial Intelligence, the module also has a more practical component that introduces algorithms and data structures for AI problem solving through practical programming examples, as well as hands-on experience with simple programming of robots. The emphasis here is on identifying the abstract nature of the problem that is to be solved, matching this to an appropriate algorithm or technique and implementing a solution. It also serves as an introduction to programming for research rather than for software engineering.
20 credits - Devices and Networks
-
This module runs throughout the academic year, starting in Autumn and ending in Spring. The module consists of two parts. In the first, important elements of computer architecture are covered including digital logic, computer arithmetic and instruction set architecture. The approach in the module is to show how the basic elements of a computer are constructed and combined to give sophisticated architectures that support accelerated performance via cache memory and pipelining. The second half of the module shows how computing devices can be connected into networks, and covers the principles of layered protocols, error detection/correction and reliable transmission over networks.
20 credits - Web and Internet Technology
-
This module is for students studying Computer Science as a main subject. The Web and the Internet are now pervasive in modern life, providing an information resource, and promoting novel, interactive solutions to computing-related activities. The main focus of the module is on practical use of HTML, CSS and JavaScript in front-end development of interactive websites. As part of this, the module covers responsive web design, accessibility and legal issues when creating websites and an introduction to information security.
10 credits - Introduction to Algorithms and Data Structures
-
Algorithms and algorithmic problem solving are at the heart of computer science. This module introduces students to the design and analysis of efficient algorithms and data structures. Students learn how to quantify the efficiency of an algorithm and what algorithmic solutions are efficient. Techniques for designing efficient algorithms are taught, including efficient data structures for storing and retrieving data. This is done using illustrative and fundamental problems: searching, sorting, graph algorithms, and combinatorial problems such as finding the shortest paths in networks.
10 credits - 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:
- Data Driven Computing
-
This module is intended to serve as an introduction to machine learning and pattern processing, but with a clear emphasis on applications. The module is themed around the notion of data as a resource; how it is acquired, prepared for analysis and finally how we can learn from it. The module will employ a practical Python-based approach to try and help students develop an intuitive grasp of the sophisticated mathematical ideas that underpin this challenging but fascinating subject.
20 credits - Systems Design and Security
-
This module provides a grounding in software systems design, highlighting security issues. Topics include: choice of software lifecycle, customer-developer interaction, requirements capture, information management, database design, functional design, design patterns, software architectures, user interfaces, data validation, software verification and testing. Security topics include: threats, countermeasures, policies and technologies. The lectures are complemented by an integrating team-project. This 20-credit unit prepares students to participate in the Software Hut (COM3420) in the Spring.
20 credits - Robotics
-
This module is concerned with the design and implementation of effective human-machine interaction and the technology underpinning contemporary robotics. These areas intersect in the field of human-robot interaction. The course has a multidisciplinary content spanning psychology, human factors, computer science and robotics.
20 credits - Logic in Computer Science
-
This module introduces the foundations of logic in computer science. The first part introduces the syntax and semantics of propositional and predicate logics, natural deduction, and notions such as soundness, completeness and (un)decidability. The second part covers applications in computer science and beyond, such as automated reasoning and decision procedures, modal and temporal logics for the verification of computing systems, and type systems for programming languages.
10 credits - Functional Programming
-
This module introduces the principles of functional programming, using the Haskell programming language. It introduces types and classes, function definitions, list comprehension, recursive and higher order functions, eager and lazy evaluation, and basic data types.
10 credits - Automata, Computation and Complexity
-
This module introduces the mathematical and logical foundations and tools for modelling and analysing computing systems, including state machines, formal languages, logics, proof systems, and proof search procedures.
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 - 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 - Finance and Law for Engineers
-
The module is designed to introduce engineering students to key areas of financial and legal risk that engineers should be aware of in their working environment. The module will draw directly on practical issues of budgeting, raising finance, 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 an 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. There will be a heavy emphasis on group working, report writing and presentation as part of the assessment supplemented by online exercises and an individual portfolio.
10 credits
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
10 credits
and practical skills for solving real-world applications. - 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
10 credits - Theory of Distributed 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. Students should be aware that there are limited places available on this course.
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, Actor Critic Architectures and 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. - 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 - 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
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.
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:
AAA; AAB
AAA, including Maths; AAB, including A in Maths and B in Computer Science
A Levels + additional qualifications AAB, including A in Maths + B in a relevant EPQ; ABB, including A in Maths and B in Computer Science + B in a relevant EPQ; AAB including A in Maths + A in AS or B in A Level Further Maths; ABB, including A in Maths and B in Computer Science + A in AS or B in A Level Further Maths
International Baccalaureate 36, with 6 in Higher Level Maths; 34, with 6 in Higher Level Maths and 5 in Computer Science
BTEC Extended Diploma DDD in Engineering, Applied Science, IT or Computing + A in A Level Maths
BTEC Diploma DD in Engineering, Applied Science, IT or Computing + A in A Level Maths
T Level Distinction in the T Level in Digital Production Design and Development, including grade A in the core component + A in A Level Maths
Scottish Highers + 1 Advanced Higher AAAAB + A in Maths
Welsh Baccalaureate + 2 A Levels A + AA, including Maths; B + 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 39 at Distinction (to include 18 credits in Maths) and 6 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 + additional qualifications AAB, including A in Maths + B in a relevant EPQ; ABB, including A in Maths and B in Computer Science + B in a relevant EPQ; AAB including A in Maths + A in AS or B in A Level Further Maths; ABB, 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; 33, with 6 in Higher Level Maths and 5 in Computer Science
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 T Level in Digital Production Design and Development, 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 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 36 at Distinction (to include 18 credits in Maths) and 9 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 department.
Department of Computer Science

We're the first computer science department in the UK to launch its own student-run software company, Genesys. Choose Sheffield and you'll develop skills in programming, teamwork, communication, systems design, problem solving, and learn about current software engineering industry practices.
Our courses are designed to challenge you and prepare you for a career in industry, commerce, research, teaching or management. Our inspirational staff are experts in their fields of research and we are ranked 5th out of 89 computer science departments in the UK for research excellence. What we teach you is relevant today and tomorrow.
During your degree you'll work on real projects for real clients as part of core and optional modules.
As well as lots of practical experience, we'll give you the first-rate scientific grounding you'd expect from a leading Russell Group research university. You can specialise in areas including computer security, web development and mobile apps, robotics and machine learning, speech and language technology, or 3D graphics and virtual reality.
Take one of our four-year MComp degrees and you can participate in Genesys as part of your course. Genesys was the first student-led software development organisation in the UK and will give you the opportunity to gain real industrial experience with a great deal of personal responsibility.
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
You will have access to cutting edge facilities in The Diamond including virtual reality facilities, high-spec graphics PCs and a robot arena. Our computer suites are equipped with the latest hardware, software and operating systems.
Department of Computer ScienceWhy choose Sheffield?
The University of Sheffield
Number one in the Russell Group
National Student Survey 2023 (based on aggregate responses)
92 per cent of our research is rated as world-leading or internationally excellent
Research Excellence Framework 2021
Top 50 in the most international universities rankings
Times Higher Education World University Rankings 2022
Number one Students' Union in the UK
Whatuni Student Choice Awards 2022, 2020, 2019, 2018, 2017
Number one for teaching quality, Students' Union and clubs/societies
StudentCrowd 2023 University Awards
A top 20 university targeted by employers
The Graduate Market in 2023, High Fliers report
Department of Computer Science
National Student Survey 2022
Research Excellence Framework 2021
Graduate careers
Department 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.
Placements and study abroad
Placement
Study abroad
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 us
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 department 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
Contact us
Telephone: +44 114 222 1800
Email: ug-compsci@sheffield.ac.uk
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.