Computer Science
Learn to program, reason about algorithms and understand the systems that power modern computing—from beginner foundations to advanced software and artificial intelligence.
Learn Computer Science at the right depth.
Start at the level that matches your current experience. You can move between routes as your knowledge and goals develop.
High School
Build confidence earlyClear explanations, exam-ready practice and curriculum-aware learning for GCSE, A-Level, AP, IB and equivalent programmes.
Undergraduate
Master university modulesStructured learning for lectures, problem sheets, assignments, examinations and deeper conceptual understanding at university level.
Postgraduate
Go beyond the textbookAdvanced methods, specialist topics, research workflows and technical support for MSc, MRes, doctoral and professional study.
Learn for Yourself
Skills without the pressureCareer development, curiosity, refreshers and practical projects—learn useful quantitative and computational skills at your own pace.
Start learning Computer Science.
Focused courses combine clear explanation, structured progression and applied practice. Begin with one course or follow a broader pathway.
Python Programming
Learn programming from scratch with clear explanations, coding challenges and small practical projects.
Data Structures & Algorithms
Understand core data structures, algorithm design and computational complexity through visual examples and coding practice.
AI Foundations
Understand what modern artificial intelligence systems do, how they learn and how to use them thoughtfully.
Computer Science Foundations
Understand computation, programming, algorithms, data representation and the core ideas behind computer science.
Web Development Foundations
Learn how websites work and build your first responsive pages using HTML, CSS and JavaScript.
Object-Oriented Programming
Learn classes, objects, abstraction, inheritance, composition and maintainable software design.
Computer Science is more than one course.
Build breadth across the discipline or focus deeply on the topics most relevant to your studies, career or research.
Capability, not just course completion.
Learning Computer Science should change what you can understand, analyse and create—not simply add another course to a list.
Build this capability progressively through explanation, examples, practice and application.
Build this capability progressively through explanation, examples, practice and application.
Build this capability progressively through explanation, examples, practice and application.
Build this capability progressively through explanation, examples, practice and application.
Build this capability progressively through explanation, examples, practice and application.
Build this capability progressively through explanation, examples, practice and application.
Understand it. Practise it. Apply it.
Courses are designed around progression rather than passive content consumption.
Understand
Build intuition firstConcepts are introduced clearly so you understand the reasoning before memorising procedures.
Explore
Make ideas visibleInteractive examples and visual explanations help connect abstract ideas to intuition.
Practise
Turn understanding into skillWork through structured examples, exercises and problems that increase gradually in difficulty.
Apply
Use what you learnedConnect your knowledge to examinations, university work, research, coding and real projects.
Stuck on a difficult computer science problem?
Learn independently when you can, then work with an expert when you need deeper explanation, feedback, exam preparation or help applying your knowledge.
Learning rarely stays inside one discipline.
Move across connected subjects as your interests, studies and career goals develop.
Statistics
Probability, inference, modelling and real-world decision making.
Mathematics
From algebra and calculus to proof, linear algebra and optimisation.
Data Science
Python, R, SQL, visualisation, machine learning and real projects.
Bioinformatics
Genomics, transcriptomics, single-cell, spatial and computational biology.