Computer science: an introduction

Course Pathway

Computer Science

The art of solving problems well, not just solving them

Almost any problem has more than one solution. This pathway is about the difference between them: why one approach is faster, clearer, or smarter than another, and how you can know for sure rather than just guess. It is the study of algorithms — precise, repeatable methods for getting from a problem to an answer — and the data structures that make those methods possible.

Here, getting a program to work is only the start. The real question is the one that comes next: could I do this better, and how would I prove it?

The big idea

A working answer is not the same as a good one. Computer science is the discipline of comparing solutions — measuring them, understanding their tradeoffs, and choosing the right one on purpose instead of by accident.

Is this pathway for you?

Every pathway has a version that looks easy and a version that is genuinely interesting. Here is an honest read on who tends to enjoy this one.

A good fit if you...

  • enjoy precise reasoning and problems with clear right answers
  • are curious about why one method beats another
  • like puzzles built from rules, constraints, and logic
  • find it satisfying to make something efficient, not just working

Think twice if you...

  • want fast visual or interactive feedback as you build
  • prefer designing an experience over analysing how it works
  • dislike measuring, comparing, and optimising
  • lose patience tracing exactly why one approach wins

None of these are permanent. They just tell you where this pathway will feel like a pull rather than a push.

What you would actually work on

You will not do all of these — they are examples of the kind of problem this pathway contains, so you can picture the work. Each one starts simple and can go as deep as you want to take it.

Shrink data without losing any of it Compression algorithms make files smaller by spotting patterns and describing them more briefly. You can build one from scratch, then measure exactly how much space it saves and on what kinds of data it works best.
Race two algorithms and explain the winner There are many ways to sort a list. You can implement two of the classic methods, time them on small and large datasets, and explain why one pulls ahead as the data grows. This is the heart of the pathway: measurable tradeoffs.
Build a matching engine with real rules Given donors and recipients, or students and classes, how do you pair them up fairly when compatibility and priority both matter? Matching problems turn messy real-world rules into logic a program can follow.
Measure how far apart two things are A spell checker works by calculating how many edits turn a misspelled word into a real one, then suggesting the closest match. The same "distance" idea powers autocorrect, search, and DNA comparison.
Build a branching system from a data structure A text adventure with many paths and endings is really a decision tree stored as data. Designing one teaches you how the right data structure makes a complicated system simple to build and extend.
Teach a program to make predictions Using real data, you can train a model to spot patterns and predict an outcome — a course recommendation, a likely grade. A first, honest look at what machine learning actually is, and where it can be wrong.
Take on a genuinely hard problem Scheduling students, teachers, and rooms with no clashes is a famously difficult problem with no perfect answer. Wrestling with it introduces you to optimisation and to problems where "good enough" is the real goal.

The tools you would use

Everything here is done in Python, the same language you are already learning. Some problems stay close to pure logic — loops, conditions, lists, and dictionaries. Others reach for well-known libraries when you work with data or a first machine-learning model. Visualising how an algorithm behaves — watching it run, plotting how its speed changes — is part of the work, not an extra.

Grade 9 and Grade 10 in this pathway

The pathway is the same in both years. What changes is the difficulty of the problems you take on.

Grade 9

You implement and compare small algorithms, watch how they behave, and explain simple tradeoffs — clarity, correctness, and efficiency — one clear method at a time.

Grade 10

You take on harder problems: real optimisation, constraint satisfaction, and larger systems where efficiency genuinely matters — including problems that have no single perfect solution, only better and worse ones.

What makes a strong project here

A good computer science project pairs a real problem with a specific algorithm or data structure, and cares about how well it solves it. As you think about ideas, these questions help:

  • Is there a real problem you could solve with a specific algorithm, such as finding a shortest path or encrypting a message?
  • What data structure — a tree, a hash map, a graph — fits your problem best, and why?
  • Could machine learning enhance or automate part of your solution?
  • What could you optimise to make your solution faster or more efficient?
  • Could you build a tool that helps other people understand a fundamental computing idea?

The question that defines this pathway

In most work, a program that runs is finished. Here it is only the beginning. The computer science question is always the same one: is there a better way — and how do I know? Learning to answer that, with evidence, is the skill this pathway is really teaching.

If you like the idea of not just solving a problem but solving it well — and being able to prove it — this is your pathway.