Computer science fundamentals
Fourteen weeks on how computers actually work, written to sit alongside Matric CS and O/A-Level Computer Science.
- Grades
- 9–12
- Ages
- 14–18
- Length
- 14weeks
- Sessions a week
- 2
- Each session
- 90min
- Class size
- 15max
What this course is
Most students meet this material as a set of facts to memorise for a paper. This course teaches it as a set of things you can prove to yourself, because a student who has written a binary converter does not need to memorise how binary works.
Every theoretical topic is paired with something the student builds. Number bases come with a converter. Sorting comes with an implementation and a timing experiment on ten thousand records. Networking comes with reading real request headers. The written exam questions get easier as a side effect, which is the intent.
The topic list follows the areas that Matric Computer Science and Cambridge O and A Level Computer Science share, and where students most often lose marks: data representation, algorithm tracing, logic, databases and networks. It is not a past-paper class and we do not mark past papers; it is the understanding the papers are testing.
Week by week
Every week ends with something that did not exist at the start of it. That is what is listed under “ends with”.
- Week 01
How a computer represents a number
Binary, denary and hexadecimal, conversion in both directions, and why hex exists at all.
Ends with: A converter the student wrote, checked against worked examples.
- Week 02
Text, images and sound as numbers
ASCII and Unicode, pixels and colour depth, sample rate, and calculating a file size from first principles.
Ends with: A program that reports the true size of a text and an image file and explains the number.
- Week 03
Logic gates and boolean algebra
AND, OR, NOT, XOR, truth tables, and combining gates into something that adds.
Ends with: A half adder built and tested in a gate simulator.
- Week 04
Inside the machine
The CPU, the fetch-decode-execute cycle, registers, RAM versus storage, and where a cache fits.
Ends with: A written trace of one instruction through the cycle, in the student's own words.
- Week 05
Algorithms and pseudocode
Reading and writing pseudocode and flowcharts, and hand-tracing an algorithm with a trace table — the exact skill the written papers test.
Ends with: Completed trace tables for three unseen algorithms.
- Week 06
Searching
Linear and binary search, implemented and then timed against each other on a large list.
Ends with: Both searches implemented, with the student's own timing results.
- Week 07
Sorting
Bubble, insertion and merge sort, implemented, traced by hand, and compared on real data.
Ends with: Three working sorts and a written comparison of them.
- Week 08
Complexity in plain terms
Why one algorithm falls apart at scale and another does not, using the students' own timing results from weeks 6 and 7 as the evidence.
Ends with: A short report explaining the measured results using big-O language.
- Week 09
Data structures
Arrays, stacks, queues and linked lists, implemented rather than described, and what each is genuinely for.
Ends with: A stack and a queue implemented and unit tested.
- Week 10
Databases
Tables, keys, relationships, normalisation to third normal form, and writing SQL against a real database.
Ends with: A normalised schema and a set of working SQL queries.
- Week 11
Networks
Packets, IP addresses, DNS, HTTP, and the layers, examined by watching real requests in DevTools.
Ends with: An annotated capture of what happens when a page is loaded.
- Week 12
Security
Hashing versus encryption, why passwords are hashed and salted, symmetric and asymmetric keys, and common attack types.
Ends with: A password hashing demonstration and a written explanation.
- Week 13
Operating systems and files
Processes, memory management, file systems, and what the operating system is doing while a program runs.
Ends with: A written account of what happens between a click and a running program.
- Week 14
Consolidation and exam-style questions
Working through structured written questions across the whole syllabus, with attention to how answers are marked and where marks are usually lost.
Ends with: A set of worked structured answers reviewed by the instructor.
What they will be able to do
- Convert confidently between binary, denary and hexadecimal
- Hand-trace an algorithm and complete a trace table under exam conditions
- Implement and compare searching and sorting algorithms
- Design a normalised database and query it in SQL
- Explain networking, security and machine architecture topics in their own words
What they build
- A number base converter
- A half adder in a logic simulator
- Implementations of binary search and three sorting algorithms, with timing data
- A normalised database with working SQL queries