CS Thinking Practice

4,118 problems across 79 concepts. Free to try; Family unlocks the full worked solutions.

Computational Thinking

Abstraction

76 Q

Zooming out to see the big picture, hiding complexity you don't need right now.

Algorithm

50 Q

A recipe for solving problems—follow the steps, get the answer.

Algorithm Efficiency

76 Q

Does doubling the data double the time? Or quadruple it? Or barely change it?

Array

50 Q

A numbered list. Item 0, item 1, item 2... Access any by its number.

Audio Representation

50 Q

Digital sound is a long list of measurements of a wave taken again and again over time.

Binary

50 Q

Counting with only two states: on/off, yes/no, 0/1. Each extra digit doubles the count.

Binary Search

50 Q

Looking up a word in a dictionary: open to the middle, then go left or right depending on where your word falls.

Bits and Bytes

50 Q

A bit is the smallest piece of data. A byte is enough to store one character.

Boolean Logic

50 Q

Yes/no thinking. You combine simple true/false conditions into complex decisions with AND, OR, NOT.

Bubble Sort

50 Q

Heavier bubbles sink and lighter bubbles rise — larger values slowly move to the end of the list.

Data Compression

50 Q

Compression is packing information more tightly so files take less space or move faster across a network.

Data Representation

50 Q

Turning real-world things (text, images, sound) into numbers a computer can process.

Data Types

50 Q

Different kinds of data (numbers, text, true/false) work differently.

Debugging

50 Q

Detective work—observe the wrong output, form a hypothesis, test it, then fix what's wrong.

Decomposition

50 Q

Eating an elephant: one bite at a time. Big problems become many small ones.

Divide and Conquer

50 Q

Break a big hard task into smaller versions of the same task, solve each one, then stitch the answers together.

Error Types

50 Q

Some bugs stop the code from running, some crash it later, and some quietly give the wrong answer.

Event

50 Q

Something happens (click, keypress, timer) and the program reacts.

Function (Programming)

50 Q

A mini-program with a name. Call it by name whenever you need that task done.

Generalization

80 Q

Solve one case carefully, notice what stays the same, then write one rule that fits many cases.

Image Representation

50 Q

A digital image is a giant colored spreadsheet: each square has a position and a color value.

Input/Output

50 Q

What goes in and what comes out. Keyboard → program → screen.

Iteration

50 Q

Do this again and again until some condition is met, then move on to the next step.

Linear Search

50 Q

Looking for your keys by checking every pocket and drawer in order.

Logical Operators

50 Q

AND is strict (both must be true), OR is flexible (either works), NOT flips the result.

Merge Sort

50 Q

Split a messy deck of cards in half, sort each half, then interleave them back in order.

Modeling

80 Q

A model is a useful simplification. It is not reality itself, but a focused version of reality.

Modular Design

50 Q

LEGO blocks—each piece does one thing and connects to others in standard ways.

Parameters

50 Q

The blanks you fill in when using a function. Like a form with fields.

Pattern Recognition

50 Q

Spotting what's the same across different examples so you can apply one solution to many.

Random Numbers

50 Q

The computer follows a rule, but the outputs are mixed enough to behave like random choices for many tasks.

Recursion

50 Q

Russian dolls—open one, find a smaller one inside. Repeat until you reach the smallest.

Searching

50 Q

Looking for a book on a shelf, a name in a list, a file on your computer.

Selection

50 Q

If this is true, do that path. If it is false, take a different path instead.

Sequence

76 Q

Do this, then that, then the next thing—order matters and each step must finish before the next.

Simulation

50 Q

A virtual experiment—test ideas without real-world consequences.

Sorting

50 Q

Putting things in order—alphabetical, numerical, by date—so they are easier to find and use.

Testing

50 Q

Try to break it before users do. Test normal cases, edge cases, and error cases.

Truth Tables

50 Q

Map out every possible True/False scenario to be sure you understand what a logical expression does.

Variable

50 Q

A labeled box you can put things in, take things out, or change what's inside.

Programming Fundamentals

Assignment

50 Q

Assignment is like putting a label on a box and putting something inside. The label is the variable name; the contents is the value.

Boolean

50 Q

A boolean is a yes/no answer. Is the user logged in? True or false. Is the number positive? True or false.

Event Handler

50 Q

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

50 Q

File operations let your program save and load information — like writing notes in a notebook and reading them later.

For Loop

50 Q

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.

Function

50 Q

Like a recipe: you name it, write it once, and call it whenever you need it.

Integer

50 Q

Integers are counting numbers in code — things you can count without fractions: age, score, quantity, index.

Nested Conditionals

50 Q

Nested conditionals are like a decision tree — first you ask one question, and depending on the answer, you ask a follow-up question.

Return Values

50 Q

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

50 Q

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.

String

50 Q

A string is text in code — anything between quotes. Numbers inside quotes are text too: '42' is a string, not a number.

While Loop

50 Q

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.

Software Design Development

Code Maintenance

50 Q

Software is never 'done.' Like a garden, it needs constant tending — fixing bugs, updating dependencies, and adapting to changing needs.

Design Specification

50 Q

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?'

Documentation

50 Q

Documentation is a letter to your future self (and teammates) explaining what the code does and why you made certain decisions.

Edge Cases

80 Q

If normal inputs show whether the code works, edge cases show whether it is truly robust.

Flowchart

50 Q

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.

Interface

50 Q

An interface is like a menu: it tells you what you can ask for without showing the kitchen.

Pseudocode

50 Q

Pseudocode is a rough draft for code — write the logic in plain English first, then translate to real code.

Software Development Life Cycle

50 Q

Building software is like building a house — you plan, design, build, inspect, and maintain. Skipping steps leads to problems.

Unit Testing

50 Q

Instead of testing the whole machine at once, test each small part separately so failures are easier to find.

User Interface

50 Q

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.

Version Control

50 Q

Version control is an unlimited undo button for your entire project — plus the ability for multiple people to work on the same files simultaneously.

Systems Networks Impact

Accessibility

50 Q

Accessibility means designing technology so everyone can use it — not just people with perfect vision, hearing, and motor control.

Artificial Intelligence

50 Q

AI systems learn patterns from examples so they can make useful predictions or decisions on new inputs.

Computing System

50 Q

A computing system is the whole package — the machine, its programs, and the information flowing through it, all working together.

Cybersecurity

50 Q

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.

Encryption

50 Q

Encryption is like locking a message in a box. Anyone can see the box, but only someone with the key can open it.

Ethics of Computing

50 Q

Just because we can build something doesn't mean we should. Ethics asks: Is this fair? Who benefits? Who might be harmed?

Hardware & Software

50 Q

Hardware is the body, software is the mind. One is physical stuff you can touch; the other is instructions that make it useful.

Intellectual Property

50 Q

Just as you own physical property, creators own their ideas and creative works. Copying without permission is like taking someone's belongings.

Internet

50 Q

The internet is the world's biggest network — it connects smaller networks together so any device can talk to any other device, anywhere.

Network

50 Q

A network is like a postal system for computers — it connects them so they can send and receive information.

Operating System

50 Q

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.

Packet

50 Q

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.

Parallel Computing

50 Q

Instead of one person doing every part of a job in order, several people work on different pieces at the same time.

Privacy

50 Q

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.

Protocol

50 Q

Protocols are like the rules of a language — both sides must agree on how to communicate, or the message is meaningless.

Storage

50 Q

Memory is the desk you are working on right now. Storage is the filing cabinet that keeps your work after you leave.

Every problem ships with a self-check answer. The full worked solution, plus our 5-part recognition coaching (Setup ▸ Key insight ▸ Why it works ▸ Common pitfall ▸ Connection), is part of Family. See pricing →