High School · 30 classes

Computer Science

Each class is a short animated explainer with narration, plus quick checks, an interactive, and a mastery quiz — at a college-prep level. Your progress saves automatically.

▶ Watch class 1 free — no sign-up
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Not startedStartedCompletedMastered
01
What Is Computer Science — Really?
Not started
Start →
02
Thinking in Binary
Not started
Start →
03
Logic Gates and Boolean Thinking
Not started
Start →
04
From Circuits to CPU
Not started
Start →
05
Your First Program
Not started
Start →
06
Variables, Types, and the Art of Naming Things
Not started
Start →
07
Making Decisions — Conditionals
Not started
Start →
08
Repeating Yourself — Loops
Not started
Start →
09
Functions — The Art of Not Repeating Yourself
Not started
Start →
10
Debugging — Thinking Like a Detective
Not started
Start →
11
Lists and Arrays
Not started
Start →
12
Dictionaries and Key-Value Pairs
Not started
Start →
13
Stacks and Queues
Not started
Start →
14
Trees and Graphs
Not started
Start →
15
What Makes an Algorithm Good?
Not started
Start →
16
Searching — Finding the Needle
Not started
Start →
17
Sorting — Putting Things in Order
Not started
Start →
18
Big-O Notation — Measuring Speed Without a Stopwatch
Not started
Start →
19
Recursion — Functions That Call Themselves
Not started
Start →
20
Operating Systems — The Invisible Manager
Not started
Start →
21
How the Internet Works
Not started
Start →
22
Networking Protocols — The Rules That Make Communication Possible
Not started
Start →
23
How the Web Works — HTML, HTTP, and the Browser
Not started
Start →
24
Databases — Storing the World's Information
Not started
Start →
25
Concurrency and Parallelism — Doing Many Things at Once
Not started
Start →
26
Open Source and Software Licensing — Who Owns the Code?
Not started
Start →
27
Introduction to Artificial Intelligence
Not started
Start →
28
Cybersecurity — Defending the Digital World
Not started
Start →
29
CS Career Paths and the Tech Industry
Not started
Start →
30
Ethics, Responsibility, and Where CS Goes Next
Not started
Start →
See inside a class

Here’s all of Class 1, in full.

Every class is 13 cards · narrated film + illustration · 2 quick checks · an interactive · a 4-question mastery quiz. Nothing hidden — this is the complete text of What Is Computer Science — Really?.

▸ Read the full class — What Is Computer Science — Really?

Welcome to Computer Science. And before we go any further, I want to make you a promise. By the end of this class, you will understand what computer science actually is — and I guarantee it is not what most people think. You will know the difference between CS and programming, you will know what an algorithm really is, and you will see why learning CS makes you better at almost every problem in life — not just tech problems. Here is the big secret we are going to unpack today: computer science is not really about computers. It is about thinking. It is about solving problems so precisely that even a machine — something with zero intuition and zero creativity on its own — can follow your instructions and get the right answer. That is a superpower. And today, class one, is where you start building it.

1. The Confusion Around CS

CS is not coding. Coding is a tool CS uses.

2. The Real Definition

CS = the study of algorithms and data.

3. The Founders of CS

CS has an origin story — and it is a great one. In the 1840s, a mathematician named Ada Lovelace was working with a brilliant but chaotic inventor named Charles Babbage. Babbage was building a mechanical computing machine. Lovelace did something no one else had done: she wrote a detailed set of instructions for the machine to compute a sequence of numbers — the Bernoulli numbers. It is considered the first algorithm ever written for a machine. She also wrote, prophetically, that a machine like this could someday compose music, produce graphics, do anything you could express as a rule. A century later, in 1936, Alan Turing published a paper that invented the theoretical foundation of computer science. He described an imaginary machine — now called a Turing machine — that could simulate any algorithm. He used it to prove that some problems are fundamentally unsolvable by any computer, ever. That is an astonishing result. Turing also broke Nazi encryption codes in World War Two and contributed to the design of the first programmable computers. These two people — one from the 1840s, one from the 1940s — essentially invented the field.

4. How Computers Think

Sequence + selection + repetition = all of computation.

5. Your First Algorithm

Let us look at a real algorithm — one of the most classic in CS — finding the largest number in a list. I want you to notice something as we go through this: at no point does the algorithm do anything magical. Every step is obvious in isolation. The power comes from the fact that it is precise, it always terminates, and it always produces the correct answer. This is what algorithmic thinking looks like. You will also notice that you could give these instructions to a ten-year-old, and they could follow them without understanding what they are doing or why. That is exactly the point. A good algorithm is self-contained. The machine does not need to understand — it just needs to follow. The skill of CS is writing instructions clear enough that even a perfectly literal machine gets it right.

6. The Core Skills of CS

Computer science develops four core thinking skills that transfer to almost every field. First: decomposition. Breaking a big, messy problem into smaller pieces that are actually solvable. The best CS thinkers are obsessive about this. They never try to solve the whole problem at once. Second: pattern recognition. Noticing when you have seen something like this before. Most new problems are variations on solved problems if you know where to look. Third: abstraction. Focusing on what matters and ignoring what does not — building mental models that are useful without being complete. And fourth: algorithm design. Turning a vague goal into a precise, step-by-step process that works every time. Here is the exciting thing: these four skills are not just useful in coding. Doctors use decomposition to diagnose diseases. Lawyers use abstraction to apply legal principles to new cases. Scientists use pattern recognition to generate hypotheses. When you study CS, you are not just learning to write programs — you are training your brain.

  • Decomposition: break big problems into small solvable pieces
  • Pattern recognition: spot when you have seen this before
  • Abstraction: focus on what matters, ignore what does not
  • Algorithm design: turn a goal into precise, repeatable steps

7. A Real Problem, Solved

Let us make this concrete with a real-world problem. Imagine you have a pile of 1,000 student names and you need to put them in alphabetical order. A human doing this by hand might take an hour. A computer can do it in milliseconds. But here is the question CS asks: how? Just telling a computer to alphabetize is not good enough — you have to tell it exactly what steps to take. One approach is to compare pairs of names and swap them when they are out of order, repeating until nothing needs swapping. That is called Bubble Sort. It works, but it is slow. Another approach splits the list in half, sorts each half, then merges the two sorted halves together — called Merge Sort. It is much faster on large lists. The CS question is: which algorithm is better, and by how much? That is not a question about coding. It is a question about the structure of the problem itself — and the answer matters enormously when your list has a billion names instead of a thousand.

8. What CS Cannot Do

Some problems are provably unsolvable by any algorithm — that is a profound insight, not a failure.

9. CS vs Programming vs IT

People mix up three related but different things: computer science, programming, and IT — information technology. Here is the clearest way I know to separate them. Computer science is the theory. It asks: what can be computed, and how efficiently? It is the science of algorithms, data structures, computability, and complexity. Programming is the craft. It is writing code in specific languages to build specific things. You can be an excellent programmer without knowing much CS theory — and some great CS researchers write very little code. Information technology is the infrastructure. IT professionals keep systems running: setting up networks, managing servers, troubleshooting hardware, deploying software. They are the people who fix the Wi-Fi. All three are valuable. All three require real skill. But they are genuinely different activities. This course focuses on computer science — the ideas that make the other two possible — because understanding the theory makes you dramatically better at the practice.

  • CS: the theory — what can be computed and how efficiently
  • Programming: the craft — writing code to build things
  • IT: the infrastructure — keeping systems running

10. Common Misconceptions

Let me warn you about the three misconceptions that trip up most beginners. Misconception one: you have to be great at math to do CS. You do need some math — particularly logic, discrete math, and eventually some statistics or linear algebra — but the most important mental skill is structured thinking, not calculation. Plenty of excellent computer scientists were not math prodigies. Misconception two: once you learn one programming language, you have learned CS. Languages are tools. CS is the thinking. A carpenter who only knows one type of hammer has not mastered carpentry. Learning to think algorithmically transfers across any language you will ever use. Misconception three: CS is only for people who want to work at tech companies. CS skills are used in medicine, law, film, music, journalism, government, and every field that generates data — which is all of them. The students who study CS and go into non-tech fields often have the largest impact, because they bring thinking tools that their colleagues do not have.

  • You do not need to be a math genius — you need to think structurally
  • Learning a language is not learning CS — algorithms transfer everywhere
  • CS is not just for tech jobs — it is a thinking toolkit for every field

11. Your First Tools

You do not need much to start doing computer science. Here are the tools that actually matter. First: Python. It is the most widely taught introductory language in the world, it is used professionally in data science and AI, and its syntax is clean enough that you can focus on ideas instead of fighting the language. Download it free at python.org. Second: a code editor — VS Code is the standard, also free, and there are extensions for every language you will ever use. Third: the Python Tutor website at pythontutor.com — it lets you run code step by step and watch every variable change in real time, which is incredible for understanding what your programs are actually doing. Fourth: CS50 on edX — Harvard's intro CS course is free, world-class, and covers the foundations in depth. Beyond tools, the most important resource is practice. The concepts in CS only become real when you wrestle with them yourself. Reading about algorithms is useful. Writing them is transformative.

  • Python — python.org (free, industry-standard for learning)
  • VS Code — code editor (free, excellent extensions)
  • Python Tutor — pythontutor.com (visualize code execution)
  • CS50 on edX — Harvard intro CS, free and world-class

12. Try This: Your First Algorithm

Write an algorithm to find your lost phone. Check it for edge cases. Fix them. That is computer science.

13. Recap

Let us pull together what you learned today. Computer science is the study of algorithms and data — not coding, not computers. An algorithm is a precise, step-by-step solution to a problem — and precision is the key word, because machines are perfectly literal. CS was founded by Ada Lovelace and Alan Turing, who proved not just that computers can solve problems but that some problems can never be solved by any algorithm. The four core skills CS builds — decomposition, pattern recognition, abstraction, and algorithm design — transfer to every field, not just tech. And CS, programming, and IT are three different things: theory, craft, and infrastructure. Your job this module is to start thinking like a computer scientist: break problems down, define them precisely, and always ask whether there is a better approach. See you in class two.

  • CS = the study of algorithms and data, not just coding
  • An algorithm is a precise, finite, always-correct set of steps
  • Turing proved some problems are permanently unsolvable
  • The four CS skills (decompose, recognize, abstract, design) apply everywhere
  • CS ≠ programming ≠ IT — know the difference

Mastery quiz

  1. How does the class distinguish computer science from programming?
    • They are two words for the same activity
    • Programming is the discipline; CS is just one tool within it
    • CS is the underlying discipline of what problems can be solved and how efficiently; programming is the skill of writing code
    • CS only matters at tech companies, while programming is universal
  2. What did Alan Turing prove with the Halting Problem in 1936?
    • That computers will eventually be powerful enough to solve any problem
    • That no general program can reliably tell whether any other program will finish or loop forever
    • That Merge Sort is always faster than Bubble Sort
    • That Ada Lovelace wrote the first algorithm
  3. Which pairing of the three fields matches how the class describes them?
    • CS = infrastructure, Programming = theory, IT = craft
    • CS = theory, Programming = craft, IT = infrastructure
    • CS = craft, Programming = infrastructure, IT = theory
    • All three are the same activity with different names
  4. In the sorting example, why does the class say comparing the two algorithms is a CS question rather than a coding question?
    • Because only Bubble Sort can be written in Python
    • Because it concerns the structure of the problem itself and how the methods scale as the list grows huge
    • Because IT professionals are the ones who alphabetize lists
    • Because Merge Sort cannot be programmed by a human
HomePracticeFeedBlogMe