CS Thinking Explorer
Search and explore 64 computational thinking concepts
Explore 64 computational thinking concepts spanning decomposition, pattern recognition, abstraction, algorithm design, systems and networks, and software development principles. Each concept is explained without jargon, with real-world analogies and connections to related ideas — designed for students building problem-solving skills, not just learning syntax.
Algorithm
A recipe for solving problems—follow the steps, get the answer.
Decomposition
Eating an elephant: one bite at a time. Big problems become many small ones.
Pattern Recognition
Spotting what's the same across different examples so you can apply one solution to many.
Abstraction
Zooming out to see the big picture, hiding complexity you don't need right now.
Sequence
Do this, then that, then the next thing—order matters and each step must finish before the next.
Selection
If this is true, do that path. If it is false, take a different path instead.
Iteration
Do this again and again until some condition is met, then move on to the next step.
Variable
A labeled box you can put things in, take things out, or change what's inside.
Data Types
Different kinds of data (numbers, text, true/false) work differently.
Boolean Logic
Yes/no thinking. You combine simple true/false conditions into complex decisions with AND, OR, NOT.
Function (Programming)
A mini-program with a name. Call it by name whenever you need that task done.
Parameters
The blanks you fill in when using a function. Like a form with fields.
Array
A numbered list. Item 0, item 1, item 2... Access any by its number.
Debugging
Detective work—observe the wrong output, form a hypothesis, test it, then fix what's wrong.
Input/Output
What goes in and what comes out. Keyboard → program → screen.
Binary
Counting with only two states: on/off, yes/no, 0/1. Each extra digit doubles the count.
Bits and Bytes
A bit is the smallest piece of data. A byte is enough to store one character.
Recursion
Russian dolls—open one, find a smaller one inside. Repeat until you reach the smallest.
Algorithm Efficiency
Does doubling the data double the time? Or quadruple it? Or barely change it?
Searching
Looking for a book on a shelf, a name in a list, a file on your computer.
Sorting
Putting things in order—alphabetical, numerical, by date—so they are easier to find and use.
Event
Something happens (click, keypress, timer) and the program reacts.
Data Representation
Turning real-world things (text, images, sound) into numbers a computer can process.
Simulation
A virtual experiment—test ideas without real-world consequences.
Testing
Try to break it before users do. Test normal cases, edge cases, and error cases.
Modular Design
LEGO blocks—each piece does one thing and connects to others in standard ways.
Binary Search
Looking up a word in a dictionary: open to the middle, then go left or right depending on where your word falls.
Linear Search
Looking for your keys by checking every pocket and drawer in order.
Merge Sort
Split a messy deck of cards in half, sort each half, then interleave them back in order.
Bubble Sort
Heavier bubbles sink and lighter bubbles rise — larger values slowly move to the end of the list.
Logical Operators
AND is strict (both must be true), OR is flexible (either works), NOT flips the result.
Truth Tables
Map out every possible True/False scenario to be sure you understand what a logical expression does.
Pseudocode
Pseudocode is a rough draft for code — write the logic in plain English first, then translate to real code.
Flowchart
A flowchart is a map of your algorithm — you can trace the path from start to finish and see every decision point along the way.
Design Specification
A spec is a blueprint for software — like an architect's plan before building a house. It answers 'what are we building and why?' before 'how?'
Software Development Life Cycle
Building software is like building a house — you plan, design, build, inspect, and maintain. Skipping steps leads to problems.
Documentation
Documentation is a letter to your future self (and teammates) explaining what the code does and why you made certain decisions.
Code Maintenance
Software is never 'done.' Like a garden, it needs constant tending — fixing bugs, updating dependencies, and adapting to changing needs.
Version Control
Version control is an unlimited undo button for your entire project — plus the ability for multiple people to work on the same files simultaneously.
User Interface
The UI is everything the user sees and touches. A good UI makes the software feel easy and intuitive; a bad UI makes even simple tasks frustrating.
Assignment
Assignment is like putting a label on a box and putting something inside. The label is the variable name; the contents is the value.
Integer
Integers are counting numbers in code — things you can count without fractions: age, score, quantity, index.
String
A string is text in code — anything between quotes. Numbers inside quotes are text too: '42' is a string, not a number.
Boolean
A boolean is a yes/no answer. Is the user logged in? True or false. Is the number positive? True or false.
Return Values
A function is like a vending machine — you put in inputs (arguments) and get back an output (return value). The return value is what comes out.
Scope
Scope is like rooms in a house. A variable created inside a room (function) can only be seen from inside that room. A variable in the hallway (global) can be seen from everywhere.
Nested Conditionals
Nested conditionals are like a decision tree — first you ask one question, and depending on the answer, you ask a follow-up question.
While Loop
A while loop is like 'keep going until...' — keep stirring the soup WHILE it's not boiling. Keep asking for a password WHILE the password is wrong.
For Loop
A for loop is like 'do this for each...' — for each student in the class, print their name. For each number from 1 to 10, add it to the total.
Event Handler
An event handler is like setting a trap — you define what should happen, then wait. When the event fires, your code runs automatically.
File Operations
File operations let your program save and load information — like writing notes in a notebook and reading them later.
Function
Like a recipe: you name it, write it once, and call it whenever you need it.
Hardware & Software
Hardware is the body, software is the mind. One is physical stuff you can touch; the other is instructions that make it useful.
Computing System
A computing system is the whole package — the machine, its programs, and the information flowing through it, all working together.
Operating System
The OS is the manager of your computer — it decides which program gets the processor's attention, handles file storage, and provides the interface you see.
Network
A network is like a postal system for computers — it connects them so they can send and receive information.
Internet
The internet is the world's biggest network — it connects smaller networks together so any device can talk to any other device, anywhere.
Packet
Sending data over a network is like sending a book by mail — you break it into chapters (packets), label each one with the destination, and reassemble at the other end.
Protocol
Protocols are like the rules of a language — both sides must agree on how to communicate, or the message is meaningless.
Cybersecurity
Cybersecurity is like locking your doors and windows — but for your digital life. It's about keeping the bad guys out of your systems and data.
Privacy
Privacy is about deciding who gets to know what about you. In the digital world, your data is collected constantly — privacy is about having a say in that.
Intellectual Property
Just as you own physical property, creators own their ideas and creative works. Copying without permission is like taking someone's belongings.
Accessibility
Accessibility means designing technology so everyone can use it — not just people with perfect vision, hearing, and motor control.
Ethics of Computing
Just because we can build something doesn't mean we should. Ethics asks: Is this fair? Who benefits? Who might be harmed?