Data
Algorithms & Programming
Code Tracing
Internet & Networks
Impact of Computing
100

This base-2 number system uses only two digits — 0 and 1 — and is the foundation of how computers represent all data.

What is binary?

100

A named container that stores a value which can change as a program runs.

What is a variable?

100

x ← 5

y ← 3 

DISPLAY(x + y * 2)

What value is displayed?

What is 11?

100

A globally unique numeric address assigned to every device on the internet, like 192.168.1.1.

What is an IP address?

100

A scam where attackers send fake but legitimate-looking messages — often via email or text — to trick users into revealing passwords or other sensitive information.

What is phishing?

200

A unit of digital information made up of 8 bits — and the standard size for representing one character of text in many encodings.

What is a byte?

200

Every algorithm is built from these three fundamental control constructs: doing one thing after another, choosing between paths, and repeating.

What are sequencing, selection, and iteration?

200

score ← 75

IF (score ≥ 90) { 

   DISPLAY("A") 

ELSE IF (score ≥ 80) { 

   DISPLAY("B") 

ELSE IF (score ≥ 70) {

  DISPLAY("C")

ELSE { 

   DISPLAY("F") 

What is displayed?

What is "C"?

200

Large internet messages are split into these smaller chunks before being sent. Each one can travel a different path and is reassembled at the destination.

What are packets?

200

The gap between groups of people who do and do not have reliable access to computing devices and the internet.

What is the digital divide?

300

Data that describes other data — like the timestamp, location, or file size attached to a photo.

What is metadata?

300

In a procedure definition like PROCEDURE add(a, b), the names a and b are these — placeholder names for the values that will be passed in. (The actual values supplied at the call site are called something different.)

What are parameters?

300

nums ← [3, 7, 2, 8, 4, 9] 

count ← 0 

FOR EACH n IN nums {

   IF (n MOD 2 = 1) {

     count ← count + 1 

   } 

}  

DISPLAY(count)

What is displayed?

What is 3?

300

The system that translates human-readable names like "khanacademy.org" into the numeric IP addresses computers actually use to route traffic.

What is DNS (the Domain Name System)?

300

A cybersecurity practice that requires users to provide two or more pieces of evidence — such as a password plus a code sent to their phone — before being granted access.

What is multi-factor authentication?

400

This kind of compression permanently discards some data to make a file smaller — used in JPG images and MP3 audio files.

What is lossy compression?

400

When a problem can't be solved efficiently — for instance, when the only known approach is checking every possible combination — programmers often use one of these "good enough" rules instead of guaranteeing the optimal answer.

What is a heuristic?

400

PROCEDURE doubleEvens(list) { 

result ← [] 

   FOR EACH n IN list { 

      IF (n MOD 2 = 0) { 

         APPEND(result, n * 2)

      } 

   } 

   RETURN(result)

}

nums ← [1, 4, 7, 8, 3, 6] DISPLAY(doubleEvens(nums))

What is displayed?

What is [8, 16, 12]?

400

The internet's ability to keep working even when individual devices, cables, or paths fail — built in through redundancy and multiple possible routes between any two points.

What is fault tolerance?

400

This type of encryption uses a pair of mathematically related keys — one publicly shared, one kept private — so that data encrypted with one key can only be decrypted with the other.

What is asymmetric (or public-key) encryption?

500

When the result of a calculation exceeds the number of bits allotted to store it, this error occurs — for example, when you add 1 to the largest number a fixed-size integer can hold.

What is overflow?

500

A problem of this type is one for which no algorithm can ever exist that produces a correct yes-or-no answer for every possible input.

What is an undecidable problem?

500

total ← 0

i ← 1

REPEAT 3 TIMES {

   j ← 1

   REPEAT 2 TIMES {

      total ← total + (i * j)

      j ← j + 1

   }

i ← i + 1

DISPLAY(total)

What is displayed?

What is 18?

500

A program has a sequential portion that takes 30 seconds and a parallelizable portion that takes 60 seconds when run sequentially. With 6 processors running the parallel portion fully in parallel, this is the total runtime.

What is 40 seconds? (30 + 60/6 = 30 + 10 = 40)

500

When training data over-represents some groups and under-represents others, an algorithm built on that data can systematically produce unfair outcomes — even if the algorithm's code itself appears neutral. This phenomenon is called this.

What is (algorithmic) bias?