Two students looking at a laptop, smiling.

Computer Science BSc(Hons)

Key facts

Start date:
September

Duration:
3 years full-time, or 4 years including Placement Year

Find out more about the entry requirementscourse fees and term dates.

About the Computer Science BSc(Hons)

Automation, algorithms and programming of computers are vital to a progressive society, making us more efficient and helping us meet the challenges of ongoing advances in technology. A STEM course like this doesn't just lead to a career, it's a gateway to improved prospects, increased earning potential, and the ability to shape your own path in the ever-evolving landscape of a digital society.

Our course follows a core computing programme in the first year, giving you the fundamental skills and knowledge to prepare you for more advanced topics. In your second year and final year, you'll have the chance to take option modules, enabling you to tailor your studies to meet your specific interests.

Professional links and accreditations

University of Huddersfield’s Computer Science BSc(Hons) is accredited by the British Computer Society (BCS) - the Chartered Institute for IT. In London, we will be delivering BCS-accredited computer science programme. This course will see you explore subjects including software engineering, object-orientated programming, and Artificial Intelligence (AI).

BCS accreditation is awarded to courses that provide a solid foundation in computing. It provides an indicator of quality to you and potential employers. Accreditation is independent recognition that this course meets the high standards set by the IT industry and meets industry needs.

Why study Computer Science BSc(Hons) at the University of Huddersfield – London?

  • Using problem-based learning, your lecturers will encourage you to identify problems, before you work out how to solve them using software. You might get involved in developing solutions that benefit society, for example using artificial intelligence (AI), or computing applications in engineering or scientific experiments to combat environmental problems.
  • Complete Global Professional Award (GPA) alongside your undergraduate degree so that you gain valuable qualities and experiences in Employability and Enterprise, Wellbeing, and Global and Social Awareness – which will set you apart from other graduates and help you to get the career you want.
  • After the second year of the course, you’ll get a chance to undertake an optional Placement Year to put your knowledge and skills to the real fast-paced industry, utilising our links with local, national, and international companies.
  • Study in the 3rd best student city in the world (QS Best Student Cities 2026) with many global career opportunities and connections.

Optional Placement Year available

You can choose to take the course Computer Science with Placement BSc(Hons), which offers an optional one-year work placement after the second year. This opportunity helps you to build on the knowledge and skills developed on the course. The placement year is a valuable tool that can enhance your employability and help you to develop as an individual. It is acknowledged that graduates with industry experience are generally much more attractive to employers.

Career opportunities

With a degree in computer science, your specialist skills such as programming languages, software systems, and data modelling will be in high demand from many businesses. You have the option to go into many different careers, including:

  • Applications Developer
  • Cyber Security Analyst
  • Forensic Computer Analyst
  • Games Designer or Developer
  • IT Consultant
  • Network Engineer
  • Programmer
  • Software Engineer
  • Software Product Manager
  • Web Designer or Developer

University of Huddersfield’s previous graduates from courses in this subject area have gone on to work in a variety of roles such as software engineer, server and storage analyst, senior developer, research software development engineer, systems security engineer, IT Analyst and business analyst in organisations including BBC, West Yorkshire Police, Hermes, Microsoft, LLoyds, BT and Amazon UK (Source: LinkedIn).

Teaching and assessment

Successful completion of this programme requires 360 credits over 3* years, with each credit equivalent to 10 hours of learning (3,600 hours in total). An average approximately** 19% (543 hours) of the study time on this course is spent with your tutors face to face or online in lectures, seminars, tutorials and workshops.

An integrated and experiential approach to teaching, learning and assessment will be used to achieve the outcomes. These will include, for example, lectures, seminars, tutorials, workshops, computer aided learning packages, directed study and project work making use of the latest technology where appropriate, such as VLE, podcasts, interactive learning, social media or video conferencing. The teaching and learning strategy adopted will reflect the distinctive characteristics of different subjects and the appropriate learning styles and strategies. The remainder of the time will be spent on independent study. Assessments takes place through a variety of exams, presentations, projects, reflection journals and group and individual coursework.

*Subject to mode of study.

**Based on current core modules at the University of Huddersfield. Calculated using data from the academic year 2024/25, as of November 2024.

Course details

Core modules

You will study the following modules:

Year 1

This module introduces the core fundamental principles of computer networking. You will gain knowledge of the theoretical concepts of networking, such as addressing, switching and routing. Furthermore, you will be exposed to key issues, such as network security, along with typical techniques used to address these issues. In addition to the theoretical aspects of networking, you will plan, design and implement practical solutions using live or simulation tools.

This module will provide you with fundamental knowledge of computer hardware and systems software. You will gain knowledge in the fundamentals of computer hardware ranging from basic digital logic to instruction sets and microarchitecture. The practical elements of this module will equip you with an ability to work with basic system software at a machine instruction-level.

In this module, we introduce you to basic computing science and mathematical concepts related to software development. Topics covered include set theory, graphs and trees, finite state machines, grammars and languages, propositional logic and searching and sorting algorithms. You’ll put the theory into practice using a programming language and software that lets you directly implement finite state machines.

This module aims to introduce you to fundamental programming concepts using an object-oriented programming approach. Additionally, you will gain knowledge of high-level notions of algorithms, data structures, and program testing and evaluation.

This module aims to introduce you to the core programming concepts using procedural programming fundamentals. In addition, you will gain knowledge of variables, operators, and control flow including loops and branches, functions and data types.

Working as part of a team, this module aims to provide you with an understanding of hardware, software and industry best practices used by businesses. In your teams you’ll be supported in planning, designing and developing a prototype product. This experience has been designed to introduce you to the product development cycle, technology limitations and possible future developments.

Year 2

In this module, you will be supported in expanding your programming skills to cover a range of standard data structures (e.g. lists, trees and graphs) and algorithms (e.g. searching, sorting and traversals) for both sequential and concurrent systems. You will also study how to analyse systems in order to determine their complexity, correctness and safety, and to calculate their efficiency.

Can machines (in particular computers) be intelligent? And what does that mean precisely? These are the main questions that we try to answer in this module. We will explore how machines can achieve intelligent tasks in a variety of settings. In the first half of the module we consider settings with full observability and determinism, these are like laboratory conditions or puzzle games. In this setting, we will look at knowledge representation, problem solving, and planning. In the second half of the module the settings are relaxed, and we will study how to deal with the uncertainties that arise from this. In particular, we will see how to deal with opponents, with incomplete and/or uncertain information, and how intelligent agents can learn.

In this module, you will study the architectures of computer operating systems, including how they deal with resource allocation, management and security, in both single processor systems and multiple distributed processor systems (networks).

This module aims to equip you with the knowledge and skills needed to design, implement and query a relational database. You’ll be supported in gaining an understanding of the functionality necessary to enable web pages to interact with a database. You’ll be given the opportunity to become familiar with web architectures and the design considerations necessary for implementing a database driven web application.

Working as a part of a team, you’ll have the opportunity to design and develop a software application, or explore some aspect of information systems. You’ll be encouraged to explore theories and principles of team working and project management through the development of your chosen application. Alongside your team work you will also explore important legal and professional issues for people working in the IT industry.

Year 3

The course offers an optional one-year work placement after the second year to build vital experience, apply your knowledge to a real-world business environment, grow your professional network and learn new skills. The Placement Year is a valuable tool that can enhance your employability and help you to develop as an individual. It is acknowledged that graduates with industry experience are generally much more attractive to employers.

London is a world-leading tech hub, home to a dynamic mix of start-ups and global firms. From the AI pioneers at Kings Cross to the world-leading fintech towers of Canary Wharf, there are opportunities relating to your areas of specialism. Many of these businesses recruit students to their formal placement programmes through competitive processes. Through our personalised careers support, you’ll learn how to showcase your skills and achievements effectively - from CVs and applications to assessment centres, interviews, and even emerging AI-driven processes. We partner with leading platforms such as CareerSet and Student Circus to provide you with access to digital tools and 24/7 guidance, as well as the latest placement opportunities in London and beyond.

Our specialist industry engagement team builds relationships with individual businesses and business networks to provide access to unique opportunities and a wider range of placement opportunities with start-ups, small and medium sized businesses, or other types of organisations in which you can apply and develop your skills.

Final year

This module provides a detailed analysis of a range of techniques for the development of distributed and client-server systems architectures. You will indicatively explore remote method invocation, CORBA (Common Object Request Broker: Architecture and Specifications), web and cloud services. You will also examine some typical distributed systems, including distributed file systems, distributed databases, and other common architectures.

This module is driven by you. You are asked to select a problem to solve which is relevant to your degree, and of appropriate scope and depth to be tackled within a timeframe of 30 weeks. Carrying out the project enables you to develop and demonstrate your ability to undertake research, manage time, use your initiative, learn independently, discuss and write convincingly on a subject requiring independent learning. A supervisor will support you throughout your project. You’ll use your existing knowledge and be encouraged to acquire additional skills as you carry out your project. The aim of the project is to suggest a solution to an identified problem. Your final report should describe the aims, scope and motivation of the project, the research you have undertaken, and the technical solution provided, including justification for design and development decisions.

Option modules (in Year 2)

Choose one, which may include:

This module allows you to explore the programming language that underpins major operating systems, applications, the Internet and the World Wide Web. Throughout this module you’ll be supported in expanding on the procedural and object-based coding skills that you have developed so far. You’ll be given an introduction to 'C' programming leading into C++ programming with a push toward Objective-C. You’ll then be supported in building a client-server system where the client could be a smartphone, tablet or a desktop PC.

This module introduces fundamental concepts in computer and network security, enabling the identification of vulnerabilities and the selection and implementation of suitable mitigation technologies. Throughout this module you’ll learn about securing data through the use of cryptography, operating system security and multi-user environments, creating secure programs, state-of-the-art methods for identifying potential threats, and legal and ethical issues surrounding computer security. This module teaches a broad range of subjects and you will learn both essential theoretical and practical aspects of computer security. This knowledge is in demand by employees and the module will empower you to start to specialise in security. The module covers issues pertinent to industry such as how to maintain data security through using strong encryption, detecting complex security threats, and also in maintain compliance with the General Data Protection Regulation (GDPR).

This module covers the mathematical foundations required for scientific computing. You’ll be introduced to fundamental concepts in algebra and be supported in developing an understanding of both analytical and numerical methods for solving equations in one variable. You'll also be introduced to error analysis and proof.

Option modules (in the final year)

Choose two, which may include:

The module covers some of the more advanced approaches to developing web applications, examining both client and server-side technologies. You will explore and compare structured approaches to web development and multiple modern web frameworks, together with a range of contemporary development tools. As your understanding of the technologies and approaches develops, you will aim to critically evaluate them and assess the benefits and risks of using a given approach or framework for a given task.

This module aims to provide you with an understanding of computational perspectives of mathematics, with an emphasis on matrix methods and data modelling. You’ll be supported in developing the ability to use both analytical and numerical techniques for solving large systems of linear equations and in analysing the resulting algorithms in terms of robustness, performance, stability and accuracy. You’ll be encouraged to broaden your mathematical understanding by applying your knowledge to real-world problems in developing solutions to a range of computational challenges using industry standard software (such as Matlab).

Recent advances in information technology have facilitated massive collection of data in numerous areas, leading to major developments in data-driven Artificial Intelligence (AI) approaches. This module allows you to obtain a fundamental understanding of such approaches, particularly advanced machine learning techniques to construct intelligent systems capable to recognise, classify, or decide, among others. We will consider several widely known approaches, including deep learning, and investigate typical applications and potential limitations. You will learn which techniques are appropriate for which learning problem and their advantages and disadvantages. You will have the opportunity to apply this knowledge using industry standard tools and delve into high profile data-driven applications such as medical imaging and natural language processing.

Modern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which are challenging to maintain, and evolve in response to changes in stakeholder requirements. The continual increase in the size and complexity of software systems has made software systems some of the most complex human-made systems ever created. As a result, a structured and systematic approach to design is essential for the success of software-based systems. Software architectures are fundamental to the development of technically sustainable, i.e., long-living, software systems, as they are the primary carrier of architecturally significant requirements (ASRs), such as performance, extensibility, maintainability, and influence how developers are able to understand, analyse, test, and evolve a software system. This module will introduce you to the fundamental concepts, core principles and practical skills of modern software architectures as a key activity within successful software engineering.

And choose one, which may include:

Modern software engineering projects have become increasingly larger, in terms of hardware, source code, numbers of users or data volume. This module provides an analysis of the problems associated with large-scale software engineering projects and the practices, procedures, techniques and tools designed to address these issues. You will investigate all stages of a large-scale project: choosing a process model, scheduling, cost estimation, requirements engineering, risk management, security, modelling and design, quality assurance, testing and maintenance and overall management of the project. You will consider issues within these stages arising due to large scales, along with optimal solutions that can guarantee successful and timely delivery of a large-scale software project.

In this module, you will be introduced to Computer Cluster, Cloud and Grid technologies and applications. We will focus on the fundamental components of Cluster environments, such as Commodity Components for Clusters, Network Services/Communication software, Cluster Middleware, Resource management, and Parallel Programming Environments. You will study the components of Grid environments, such as Authentication, Authorization, Resource access, and Resource discovery. The hands-on laboratory exercises will provide the necessary practical experience with Cluster and Grid middleware software required to construct Cluster and Grid applications.

Join us today

Our Student Enrolment Advisors are available to answer your questions and help you with your application. We can't wait to meet you.