Think computationally

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.

13 courses4 learning routesExpert tutoring available
Computer Science courses

Start learning Computer Science.

Focused courses combine clear explanation, structured progression and applied practice. Begin with one course or follow a broader pathway.

Browse all courses
Explore the discipline

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.

ProgrammingPythonObject-oriented programmingData structuresAlgorithmsDiscrete mathematicsDatabasesOperating systemsComputer networksSoftware engineeringWeb developmentGit & GitHubArtificial intelligenceMachine learningDistributed systems
What you will build

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.

01
Write reliable programs

Build this capability progressively through explanation, examples, practice and application.

02
Think computationally

Build this capability progressively through explanation, examples, practice and application.

03
Reason about algorithmic efficiency

Build this capability progressively through explanation, examples, practice and application.

04
Understand core computer systems

Build this capability progressively through explanation, examples, practice and application.

05
Design maintainable software

Build this capability progressively through explanation, examples, practice and application.

06
Build practical programming projects

Build this capability progressively through explanation, examples, practice and application.

How you learn

Understand it. Practise it. Apply it.

Courses are designed around progression rather than passive content consumption.

01

Understand

Build intuition first

Concepts are introduced clearly so you understand the reasoning before memorising procedures.

02

Explore

Make ideas visible

Interactive examples and visual explanations help connect abstract ideas to intuition.

03

Practise

Turn understanding into skill

Work through structured examples, exercises and problems that increase gradually in difficulty.

04

Apply

Use what you learned

Connect your knowledge to examinations, university work, research, coding and real projects.

Expert support

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.