From bc96aa7f6037370abd2ed72917943b9ea659207d Mon Sep 17 00:00:00 2001 From: Foster Date: Wed, 5 Nov 2025 10:15:00 -0800 Subject: [PATCH 1/4] Added a bobby student page and edited the Stephen R. Foster page --- frontend/package-lock.json | 9 +++++++++ frontend/public/textbook/students/f25/bobby-student.md | 9 +++++++++ .../public/textbook/students/f25/stephen-r-foster.md | 6 ++---- 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 frontend/public/textbook/students/f25/bobby-student.md diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 4f426a9..1f20703 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -77,6 +77,7 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -1434,6 +1435,7 @@ "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -1475,6 +1477,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1600,6 +1603,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001737", "electron-to-chromium": "^1.5.211", @@ -1866,6 +1870,7 @@ "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2790,6 +2795,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -2941,6 +2947,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -2950,6 +2957,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -3340,6 +3348,7 @@ "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", diff --git a/frontend/public/textbook/students/f25/bobby-student.md b/frontend/public/textbook/students/f25/bobby-student.md new file mode 100644 index 0000000..62c2b0f --- /dev/null +++ b/frontend/public/textbook/students/f25/bobby-student.md @@ -0,0 +1,9 @@ +Hi! I'm Bobby! + +As required, I'm posting my midterm here!!!!!! + +{{YouTube:https://youtu.be/M-cTHtTI1bo timestamps:["0:00", "1:25", "1:58", "3:21", "5:42", "9:37", "11:00"]}} + +## Experiment?? + +How does markdown work? \ No newline at end of file diff --git a/frontend/public/textbook/students/f25/stephen-r-foster.md b/frontend/public/textbook/students/f25/stephen-r-foster.md index 57e7785..a6b31bd 100644 --- a/frontend/public/textbook/students/f25/stephen-r-foster.md +++ b/frontend/public/textbook/students/f25/stephen-r-foster.md @@ -1,7 +1,5 @@ Hi! I'm Stephen. I am taking this course in Fall 2025. -As required, I'm posting my midterm here!!!! +As required, I'm posting my midterm here!!!!!! -{{YouTube:https://youtu.be/M-cTHtTI1bo timestamps:["0:00", "1:25", "1:58", "3:21", "5:42", "9:37"]}} - -I WAS HERE HEHEHEHEHEHE :3c +{{YouTube:https://youtu.be/M-cTHtTI1bo timestamps:["0:00", "1:25", "1:58", "3:21", "5:42", "9:37", "11:00"]}} From c6bb4fb167052f5659c136b5654a744fd8dbf310 Mon Sep 17 00:00:00 2001 From: Teddy Shaw Date: Sun, 22 Feb 2026 16:54:21 -0800 Subject: [PATCH 2/4] Added Theodore Student Page. --- frontend/package-lock.json | 9 - .../textbook/students/f25/theodore-h-shaw.md | 5 + frontend/src/compiled/index.js | 16696 ++++++++++++++++ 3 files changed, 16701 insertions(+), 9 deletions(-) create mode 100644 frontend/public/textbook/students/f25/theodore-h-shaw.md create mode 100644 frontend/src/compiled/index.js diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 1f20703..4f426a9 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -77,7 +77,6 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -1435,7 +1434,6 @@ "integrity": "sha512-cMoR+FoAf/Jyq6+Df2/Z41jISvGZZ2eTlnsaJRptmZ76Caldwy1odD4xTr/gNV9VLj0AWgg/nmkevIyUfIIq5w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -1477,7 +1475,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1603,7 +1600,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001737", "electron-to-chromium": "^1.5.211", @@ -1870,7 +1866,6 @@ "integrity": "sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -2795,7 +2790,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -2947,7 +2941,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -2957,7 +2950,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -3348,7 +3340,6 @@ "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", diff --git a/frontend/public/textbook/students/f25/theodore-h-shaw.md b/frontend/public/textbook/students/f25/theodore-h-shaw.md new file mode 100644 index 0000000..fcce5d8 --- /dev/null +++ b/frontend/public/textbook/students/f25/theodore-h-shaw.md @@ -0,0 +1,5 @@ +Hi! I'm Theodore. I am taking this course in Fall 2026. + +As required, I'm posting my midterm here! + +{{YouTube:https://youtu.be/SAWjqDF2JuY timestamps:["0:00", "5:30", "14:23", "18:21", "22:52", "29:07", "41:00"]}} \ No newline at end of file diff --git a/frontend/src/compiled/index.js b/frontend/src/compiled/index.js new file mode 100644 index 0000000..46bceb7 --- /dev/null +++ b/frontend/src/compiled/index.js @@ -0,0 +1,16696 @@ +// Auto-generated compilation index +// This file provides access to all compiled YAML and Markdown content (inlined) + +export const compiledFiles = { + 'content/overviews/00-zero-computers/concept-map.yml': { + module: { + "concept_map": [ + { + "category": "Zero Computers", + "concepts": [ + { + "name": "Information ↔ Numbers", + "exam_questions": [ + "questions/data_information/explain-coordinate-encoding.yml", + "questions/data_information/explain-color-encoding.yml", + "questions/data_information/explain-image-encoding.yml", + "questions/data_information/explain-video-encoding.yml", + "questions/data_information/explain-audio-encoding.yml", + "questions/data_information/explain-text-encoding-binary.yml" + ] + }, + { + "name": "Numbers ↔ Binary", + "exam_questions": [ + "questions/binary/explain-what-is-binary.yml", + "questions/binary/convert-decimal-to-binary.yml", + "questions/binary/convert-binary-to-decimal.yml" + ] + }, + { + "name": "Binary ↔ Electromagnetism", + "exam_questions": [ + "questions/electricity/explain-electricity-binary-relationship.yml", + "questions/electricity/explain-magnetic-storage.yml", + "questions/electricity/explain-transistors.yml" + ] + } + ] + } + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/concept-map.yml", + compiledAt: "2026-02-23T00:32:17.146Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/binary/convert-binary-to-decimal.yml': { + module: { + "id": 3, + "question": "Randomly generate a 4-bit binary number, and convert it to decimal", + "answer": "Example: To convert binary 1010 to decimal, we use place values. From right to left, the positions represent: 1s place, 2s place, 4s place, and 8s place. So: 1×8 + 0×4 + 1×2 + 0×1 = 8 + 0 + 2 + 0 = 10. Therefore, binary 1010 equals decimal 10.", + "vocab_answer": [ + { + "word": "place value", + "definition": "The value represented by a digit's position in a number" + }, + { + "word": "powers of two", + "definition": "Binary place values: 1, 2, 4, 8, 16, 32, etc." + }, + { + "word": "binary to decimal", + "definition": "Converting from base-2 to base-10 number system" + } + ], + "answer_kindergarten": "Let's turn the computer number 1010 into our regular number! Binary is like having magic boxes worth different amounts. From right to left, we have: a 1-box, a 2-box, a 4-box, and an 8-box. If there's a 1 in a box, we count that box. If there's a 0, we skip it. For 1010: We have 1 in the 8-box (count 8), 0 in the 4-box (skip), 1 in the 2-box (count 2), 0 in the 1-box (skip). Add them up: 8 + 2 = 10! So 1010 in computer language means 10 in our language!", + "vocab_kindergarten": [ + { + "word": "magic boxes", + "definition": "Each position in binary is like a box worth 1, 2, 4, 8, etc." + }, + { + "word": "count the box", + "definition": "When there's a 1, we add that box's value to our total" + }, + { + "word": "skip the box", + "definition": "When there's a 0, we don't add anything for that position" + }, + { + "word": "computer language", + "definition": "Binary numbers using only 0s and 1s" + } + ], + "answer_3rd_grade": "Converting binary 1010 to decimal means finding out what value each position holds. Binary positions have values based on powers of 2. From right to left: 1st position = 1, 2nd position = 2, 3rd position = 4, 4th position = 8. For binary 1010: Look at each digit and multiply by its position value. 1×8 = 8 (leftmost 1), 0×4 = 0 (first 0), 1×2 = 2 (second 1), 0×1 = 0 (rightmost 0). Add all non-zero results: 8 + 0 + 2 + 0 = 10. So binary 1010 = decimal 10!", + "vocab_3rd_grade": [ + { + "word": "powers of 2", + "definition": "Special numbers: 1, 2, 4, 8, 16... Each is double the previous" + }, + { + "word": "position values", + "definition": "How much each place in a binary number is worth" + }, + { + "word": "multiply by position", + "definition": "Take each binary digit times its place value" + }, + { + "word": "add non-zero results", + "definition": "Sum up all the position values where there's a 1" + } + ], + "answer_7th_grade": "Binary-to-decimal conversion uses positional notation with base 2. Each digit position represents a power of 2, starting from 2⁰ on the right. For binary 1010₂: Position analysis from right to left: 0×2⁰ = 0×1 = 0, 1×2¹ = 1×2 = 2, 0×2² = 0×4 = 0, 1×2³ = 1×8 = 8. Sum the results: 0 + 2 + 0 + 8 = 10₁₀. This method works because any integer can be uniquely represented as a sum of distinct powers of 2, which is the fundamental principle behind binary representation.", + "vocab_7th_grade": [ + { + "word": "positional notation", + "definition": "Number system where digit value depends on position" + }, + { + "word": "base 2", + "definition": "Number system using powers of 2 for place values" + }, + { + "word": "powers of 2", + "definition": "Exponential values: 2⁰=1, 2¹=2, 2²=4, 2³=8, etc." + }, + { + "word": "position analysis", + "definition": "Examining each digit's contribution to the total value" + }, + { + "word": "sum of distinct powers", + "definition": "How any number can be built from unique powers of 2" + }, + { + "word": "fundamental principle", + "definition": "The mathematical basis for why binary representation works" + } + ], + "answer_high_school": "Binary-to-decimal conversion implements polynomial evaluation using Horner's method or direct summation. For 1010₂: Apply the formula ∑(dᵢ × 2ⁱ) where dᵢ represents the binary digit at position i. Calculation: d₃×2³ + d₂×2² + d₁×2¹ + d₀×2⁰ = 1×8 + 0×4 + 1×2 + 0×1 = 10₁₀. This exploits the unique binary representation theorem: every positive integer has exactly one representation as a sum of distinct powers of 2. Alternative implementation uses bit manipulation: result = (b₃<<3) + (b₂<<2) + (b₁<<1) + b₀.", + "vocab_high_school": [ + { + "word": "polynomial evaluation", + "definition": "Mathematical process of calculating polynomial expressions" + }, + { + "word": "Horner's method", + "definition": "Efficient algorithm for evaluating polynomials" + }, + { + "word": "direct summation", + "definition": "Adding up all position values multiplied by their digits" + }, + { + "word": "unique binary representation", + "definition": "Mathematical theorem that every integer has one binary form" + }, + { + "word": "bit manipulation", + "definition": "Direct operations on binary digits using computer operations" + }, + { + "word": "left shift operation", + "definition": "Moving binary digits left (<<) equivalent to multiplying by powers of 2" + } + ], + "answer_undergraduate": "Binary-to-decimal conversion represents polynomial evaluation over the field F₂ extended to integers. The transformation implements the isomorphism between binary strings and natural numbers via the mapping f(b) = ∑ᵢ₌₀ⁿ⁻¹ bᵢ × 2ⁱ. For 1010₂: f(1010) = b₃×2³ + b₂×2² + b₁×2¹ + b₀×2⁰ = 8+0+2+0 = 10. This process exhibits O(n) time complexity for n-bit numbers. Hardware implementations utilize carry-propagate adders or parallel prefix algorithms for logarithmic depth computation. The conversion exploits the fundamental theorem of arithmetic and unique factorization in binary representation, enabling efficient radix transformation through weighted positional encoding.", + "vocab_undergraduate": [ + { + "word": "polynomial evaluation over F₂", + "definition": "Mathematical operations on binary polynomials extended to integers" + }, + { + "word": "isomorphism", + "definition": "One-to-one mathematical correspondence preserving structure" + }, + { + "word": "natural numbers mapping", + "definition": "Function that connects binary strings to positive integers" + }, + { + "word": "carry-propagate adders", + "definition": "Hardware circuits that perform binary addition with carry bits" + }, + { + "word": "parallel prefix algorithms", + "definition": "Computation methods that reduce sequential operations to logarithmic depth" + }, + { + "word": "fundamental theorem of arithmetic", + "definition": "Every integer has unique prime factorization" + }, + { + "word": "weighted positional encoding", + "definition": "Representation where position determines multiplicative weight" + }, + { + "word": "radix transformation", + "definition": "Mathematical conversion between different number base systems" + } + ], + "topics": [ + "binary conversion", + "place value", + "number systems" + ], + "type": "problem_solving", + "points": 3, + "difficulty": "beginner", + "learning_objectives": [ + "Apply binary to decimal conversion", + "Understand powers of two", + "Practice place value calculations" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/binary/convert-binary-to-decimal.yml", + compiledAt: "2026-02-23T00:32:17.148Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/binary/convert-decimal-to-binary.yml': { + module: { + "id": 2, + "question": "Randomly generate a 2-digit decimal number, and convert it to binary", + "answer": "Example: To convert 13 to binary, we repeatedly divide by 2 and track the remainders: 13 ÷ 2 = 6 remainder 1, 6 ÷ 2 = 3 remainder 0, 3 ÷ 2 = 1 remainder 1, 1 ÷ 2 = 0 remainder 1. Reading the remainders from bottom to top gives us 1101. We can verify: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13. Therefore, 13 in decimal equals 1101 in binary.", + "vocab_answer": [ + { + "word": "decimal", + "definition": "Base-10 number system using digits 0-9" + }, + { + "word": "binary conversion", + "definition": "Process of changing numbers from decimal to binary or vice versa" + }, + { + "word": "remainder", + "definition": "What's left over after division" + }, + { + "word": "place value", + "definition": "The value of a digit based on its position in a number" + } + ], + "answer_kindergarten": "Let's turn the number 13 into computer language (binary)! It's like breaking a number into groups of 2. First, I'll ask: can 13 be split into 2 equal groups? 13 ÷ 2 = 6 with 1 leftover. Write down that 1! Now can 6 be split? 6 ÷ 2 = 3 with 0 leftover. Write down that 0! Can 3 be split? 3 ÷ 2 = 1 with 1 leftover. Write that 1! Finally, 1 ÷ 2 = 0 with 1 leftover. Write that 1! Now read the leftovers backwards: 1101. That's 13 in computer language!", + "vocab_kindergarten": [ + { + "word": "computer language", + "definition": "Binary numbers that computers understand (0s and 1s)" + }, + { + "word": "split into groups", + "definition": "Dividing a number to see how many groups of 2 we can make" + }, + { + "word": "leftover", + "definition": "What remains when we can't make another complete group" + }, + { + "word": "reading backwards", + "definition": "Looking at our leftovers from bottom to top to get the binary answer" + } + ], + "answer_3rd_grade": "Converting 13 to binary is like finding out how many groups of powers of 2 fit into 13. We use division by 2 repeatedly. Step 1: 13 ÷ 2 = 6 remainder 1 (write down 1). Step 2: 6 ÷ 2 = 3 remainder 0 (write down 0). Step 3: 3 ÷ 2 = 1 remainder 1 (write down 1). Step 4: 1 ÷ 2 = 0 remainder 1 (write down 1). Reading our remainders from bottom to top: 1101. Check: In binary, this means 1×8 + 1×4 + 0×2 + 1×1 = 8+4+0+1 = 13 ✓", + "vocab_3rd_grade": [ + { + "word": "powers of 2", + "definition": "Numbers you get by multiplying 2 by itself: 1, 2, 4, 8, 16, etc." + }, + { + "word": "division by 2", + "definition": "Splitting a number into two equal parts to find groups" + }, + { + "word": "remainders", + "definition": "The parts left over that can't make complete groups" + }, + { + "word": "bottom to top", + "definition": "Reading our remainders in reverse order to get the binary result" + }, + { + "word": "checking our work", + "definition": "Converting back to decimal to make sure we got the right answer" + } + ], + "answer_7th_grade": "Converting decimal 13 to binary uses the division-by-2 algorithm. This method exploits the fact that binary place values are powers of 2 (1, 2, 4, 8, 16...). Algorithm: Divide by 2, record remainder, repeat with quotient until quotient = 0. For 13: 13÷2=6 r1, 6÷2=3 r0, 3÷2=1 r1, 1÷2=0 r1. Binary result: 1101₂. Verification using positional notation: 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 8+4+0+1 = 13₁₀. This algorithm works because each division extracts the least significant bit.", + "vocab_7th_grade": [ + { + "word": "division-by-2 algorithm", + "definition": "Systematic method for converting decimal numbers to binary" + }, + { + "word": "binary place values", + "definition": "Position-based values in binary: 1, 2, 4, 8, 16, etc." + }, + { + "word": "quotient", + "definition": "The result of division (not including the remainder)" + }, + { + "word": "positional notation", + "definition": "Number system where digit value depends on position" + }, + { + "word": "least significant bit", + "definition": "The rightmost binary digit, representing the 1s place" + }, + { + "word": "powers of 2", + "definition": "Exponential values: 2⁰=1, 2¹=2, 2²=4, 2³=8, etc." + } + ], + "answer_high_school": "Decimal-to-binary conversion implements the division-remainder algorithm, which systematically decomposes a decimal integer into its binary representation. For n=13: apply floor division and modulo operations iteratively. 13 mod 2 = 1 (LSB), 13÷2=6; 6 mod 2 = 0, 6÷2=3; 3 mod 2 = 1, 3÷2=1; 1 mod 2 = 1 (MSB), 1÷2=0. Result: 1101₂. This algorithm extracts coefficients for the polynomial expansion 13 = ∑(aᵢ × 2ⁱ) where aᵢ ∈ {0,1}. Alternative methods include successive subtraction of largest powers of 2, or direct polynomial coefficient determination.", + "vocab_high_school": [ + { + "word": "division-remainder algorithm", + "definition": "Mathematical procedure using division and modulo operations" + }, + { + "word": "floor division", + "definition": "Division operation that returns only the integer quotient" + }, + { + "word": "modulo operations", + "definition": "Mathematical operation that returns the remainder after division" + }, + { + "word": "LSB/MSB", + "definition": "Least/Most Significant Bit - rightmost/leftmost binary digits" + }, + { + "word": "polynomial expansion", + "definition": "Expressing numbers as sums of powers with coefficients" + }, + { + "word": "coefficients", + "definition": "The binary digits (0 or 1) that multiply each power of 2" + }, + { + "word": "successive subtraction", + "definition": "Alternative conversion method removing largest powers of 2" + } + ], + "answer_undergraduate": "Decimal-to-binary conversion represents a fundamental radix transformation implementing Horner's method in reverse. The algorithm performs repeated Euclidean division by the target base (2), extracting digits through modular arithmetic. For n=13: applying the iterative relation aᵢ = n mod 2, n ← ⌊n/2⌋ yields the binary representation through coefficient extraction in the polynomial form ∑(aᵢ × 2ⁱ). This process has O(log₂ n) complexity and can be optimized using bitwise operations (n & 1 for LSB, n >> 1 for right shift). Hardware implementations utilize shift registers and parallel processing for simultaneous multi-bit conversion in logarithmic time complexity.", + "vocab_undergraduate": [ + { + "word": "radix transformation", + "definition": "Mathematical conversion between different number base systems" + }, + { + "word": "Horner's method", + "definition": "Efficient algorithm for polynomial evaluation and base conversion" + }, + { + "word": "Euclidean division", + "definition": "Division algorithm yielding quotient and remainder simultaneously" + }, + { + "word": "modular arithmetic", + "definition": "Mathematical system using remainders after division" + }, + { + "word": "coefficient extraction", + "definition": "Process of determining polynomial coefficients through systematic division" + }, + { + "word": "bitwise operations", + "definition": "Computer operations that manipulate individual bits directly" + }, + { + "word": "shift registers", + "definition": "Hardware circuits that move binary data left or right" + }, + { + "word": "logarithmic time complexity", + "definition": "Algorithm efficiency proportional to log of input size" + } + ], + "topics": [ + "binary conversion", + "number systems", + "algorithms" + ], + "type": "problem_solving", + "points": 3, + "difficulty": "beginner", + "learning_objectives": [ + "Apply binary conversion techniques", + "Understand place value in binary", + "Practice computational thinking" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/binary/convert-decimal-to-binary.yml", + compiledAt: "2026-02-23T00:32:17.150Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/binary/explain-what-is-binary.yml': { + module: { + "id": 1, + "question": "What is binary and why do computers use it?", + "answer": "Binary is a number system that uses only two digits: 0 and 1. Computers use binary because their fundamental components (transistors) can exist in two stable states - on or off, representing 1 or 0 respectively. This makes binary perfect for digital electronics because it's reliable and easy to distinguish between the two states. Each binary digit (bit) can store one piece of information, and by combining many bits, computers can represent any type of data including numbers, text, images, and sounds.", + "vocab_answer": [ + { + "word": "binary", + "definition": "A number system using only two digits: 0 and 1" + }, + { + "word": "bit", + "definition": "Short for 'binary digit'; the smallest unit of data in computing, representing either 0 or 1" + }, + { + "word": "transistor", + "definition": "Electronic component that can be switched on or off to represent binary states" + }, + { + "word": "digital electronics", + "definition": "Electronic systems that use discrete values (like 0 and 1) rather than continuous values" + } + ], + "answer_kindergarten": "Binary is like a special counting system that only uses two numbers: 0 and 1! Imagine you could only count using your thumbs - thumbs up means 1, and thumbs down means 0. Computers love binary because they're made of millions of tiny switches that can only be ON or OFF. When a switch is ON, that's like a 1. When it's OFF, that's like a 0. It's much easier for the computer to tell if a switch is completely on or completely off than to measure lots of different amounts. Binary is like the computer's favorite simple language!", + "vocab_kindergarten": [ + { + "word": "binary counting", + "definition": "Counting using only two numbers: 0 and 1" + }, + { + "word": "thumbs up/down", + "definition": "Easy way to remember 1 and 0 - up is 1, down is 0" + }, + { + "word": "tiny switches", + "definition": "Little parts inside computers that can turn on and off" + }, + { + "word": "computer language", + "definition": "How computers talk to themselves using 0s and 1s" + } + ], + "answer_3rd_grade": "Binary is a number system that only uses 0 and 1, while our regular numbers use 0 through 9. Think of it like having only two fingers to count with instead of ten! Computers use binary because they're built from millions of electronic switches called transistors. Each switch can be either ON (representing 1) or OFF (representing 0). It's much more reliable for a computer to tell if something is completely on or completely off than to measure ten different levels. By combining lots of these 0s and 1s together, computers can represent any information - numbers, letters, pictures, or sounds. Binary is the perfect language for machines made of simple on/off switches!", + "vocab_3rd_grade": [ + { + "word": "number system", + "definition": "Different ways to write and count with numbers (like regular numbers or binary)" + }, + { + "word": "electronic switches", + "definition": "Tiny parts in computers that can turn electricity on or off" + }, + { + "word": "transistors", + "definition": "The electronic switches that make up computer chips" + }, + { + "word": "reliable", + "definition": "Working correctly and consistently without mistakes" + }, + { + "word": "combining 0s and 1s", + "definition": "Putting many binary digits together to represent complex information" + } + ], + "answer_7th_grade": "Binary is a base-2 numeral system using only digits 0 and 1, contrasting with our decimal (base-10) system. Computers utilize binary because digital circuits operate with discrete voltage levels representing logical states: high voltage (1) and low voltage (0). This binary representation provides superior noise immunity and simplified circuit design compared to analog systems with continuous values. Transistors, the fundamental building blocks of microprocessors, function as voltage-controlled switches that can reliably distinguish between these two states. Complex data types are encoded through binary sequences - for example, 8-bit combinations can represent 256 different values, sufficient for ASCII characters or color intensities.", + "vocab_7th_grade": [ + { + "word": "base-2 numeral system", + "definition": "Counting system that uses powers of 2 instead of powers of 10" + }, + { + "word": "discrete voltage levels", + "definition": "Specific electrical levels that represent different binary states" + }, + { + "word": "logical states", + "definition": "The two possible conditions in binary logic: true (1) or false (0)" + }, + { + "word": "noise immunity", + "definition": "Resistance to electrical interference that could cause errors" + }, + { + "word": "voltage-controlled switches", + "definition": "Electronic components that change their conducting state based on input voltage" + }, + { + "word": "8-bit combinations", + "definition": "Groups of 8 binary digits that can represent 256 different patterns" + }, + { + "word": "ASCII characters", + "definition": "Standard way to represent letters and symbols using 8-bit binary codes" + } + ], + "answer_high_school": "Binary represents a fundamental mathematical and engineering solution for digital computation. As a positional base-2 system, binary enables unambiguous representation of any integer through combinations of powers of 2. Digital systems utilize binary because bipolar transistor states (saturation/cutoff) provide maximum noise margins and switching speeds. Boolean algebra operations (AND, OR, NOT) map directly onto binary arithmetic, enabling logical computation through electronic circuits. Modern processors employ complementary metal-oxide-semiconductor (CMOS) technology where transistors act as voltage-controlled switches, maintaining binary states with minimal power consumption. Error detection and correction algorithms leverage binary properties for reliable data transmission and storage.", + "vocab_high_school": [ + { + "word": "positional base-2 system", + "definition": "Number system where each digit position represents a power of 2" + }, + { + "word": "bipolar transistor states", + "definition": "Two distinct operating modes: conducting (saturation) and non-conducting (cutoff)" + }, + { + "word": "noise margins", + "definition": "Amount of electrical interference a system can tolerate without errors" + }, + { + "word": "Boolean algebra", + "definition": "Mathematical system for logical operations using binary values" + }, + { + "word": "CMOS technology", + "definition": "Semiconductor technology using complementary transistor pairs for low power consumption" + }, + { + "word": "voltage-controlled switches", + "definition": "Electronic devices whose conducting state depends on applied voltage" + }, + { + "word": "error detection algorithms", + "definition": "Mathematical methods to identify and correct data transmission errors" + } + ], + "answer_undergraduate": "Binary representation provides the theoretical foundation for digital computation through its isomorphic relationship with Boolean algebra and two-valued logic systems. The choice of binary encoding optimizes signal-to-noise ratios in electronic implementations while minimizing circuit complexity according to Shannon's information theory. Modern digital systems leverage field-effect transistors operating in strong inversion and accumulation regimes to implement binary states with femtojoule-level energy efficiency. Advanced error-correcting codes (Reed-Solomon, LDPC) exploit binary field arithmetic for robust information transmission. Quantum computing extends binary concepts through superposition states, while emerging technologies like memristors and spintronics explore alternative physical implementations of binary information storage with non-volatile characteristics.", + "vocab_undergraduate": [ + { + "word": "isomorphic relationship", + "definition": "One-to-one mathematical correspondence between binary numbers and logical operations" + }, + { + "word": "Shannon's information theory", + "definition": "Mathematical framework quantifying information content and transmission efficiency" + }, + { + "word": "field-effect transistors", + "definition": "Semiconductor devices controlling current flow through electric field modulation" + }, + { + "word": "strong inversion/accumulation", + "definition": "Operating regimes in MOSFETs providing distinct binary switching characteristics" + }, + { + "word": "femtojoule-level energy", + "definition": "Extremely low power consumption measured in quadrillionths of joules" + }, + { + "word": "Reed-Solomon codes", + "definition": "Error correction algorithms using polynomial arithmetic over finite fields" + }, + { + "word": "superposition states", + "definition": "Quantum mechanical states representing combinations of 0 and 1 simultaneously" + }, + { + "word": "memristors", + "definition": "Memory resistors that change resistance based on historical current flow" + }, + { + "word": "spintronics", + "definition": "Technology using electron spin rather than charge for information storage" + } + ], + "topics": [ + "binary system", + "digital electronics", + "computer fundamentals" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the binary number system", + "Explain why computers use binary", + "Connect binary to computer hardware" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/binary/explain-what-is-binary.yml", + compiledAt: "2026-02-23T00:32:17.151Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-audio-encoding.yml': { + module: { + "id": 12, + "question": "How might audio be represented numerically?", + "answer": "Audio can be represented numerically by measuring and storing sound wave amplitudes at regular time intervals. This process, called sampling, captures thousands of numeric measurements per second - typically 44,100 samples per second for CD quality audio. Each sample records how far the sound wave has moved from its resting position at that precise moment, storing this as a number (often between -32,768 and +32,767). To recreate the sound, the computer reads these numbers in sequence and moves a speaker cone to match each stored amplitude value. For stereo sound, the computer stores separate numeric sequences for left and right audio channels, synchronized to play simultaneously.", + "vocab_answer": [ + { + "word": "audio sampling", + "definition": "Process of measuring sound wave positions at regular time intervals" + }, + { + "word": "sample rate", + "definition": "Number of audio measurements taken per second (like 44,100 Hz)" + }, + { + "word": "amplitude", + "definition": "Numeric measure of how far a sound wave moves from its resting position" + }, + { + "word": "digital audio", + "definition": "Sound represented as sequences of numeric amplitude measurements" + }, + { + "word": "audio channels", + "definition": "Separate numeric sequences for different speakers (left/right stereo)" + } + ], + "answer_kindergarten": "Sound is like invisible waves bouncing around in the air - just like when you throw a stone in a pond and see the water ripples! The computer catches these sound waves and measures how big each wave is, thousands of times every second. It's like taking a picture of each wave and writing down a number for how tall it is. When you want to hear the sound again, the computer reads all those numbers and tells the speakers to make the exact same waves. It's like the computer learned to copy any sound perfectly using just numbers!", + "vocab_kindergarten": [ + { + "word": "sound waves", + "definition": "Invisible bumps in the air that make sounds when they reach your ears" + }, + { + "word": "measuring waves", + "definition": "The computer checking how big each sound wave is and writing it down" + }, + { + "word": "copying sound", + "definition": "Making the exact same sound again using the numbers the computer saved" + }, + { + "word": "invisible ripples", + "definition": "Sound moving through air like water ripples you can't see" + } + ], + "answer_3rd_grade": "Audio encoding works by capturing sound waves as thousands of number measurements every second. Think of sound as invisible waves moving through the air - the computer measures how high or low each wave is at tiny time slices (like 44,100 times per second!). Each measurement becomes a number that the computer stores. When you play the audio back, the computer reads these numbers in order and tells the speakers to create the exact same wave pattern. For music with left and right speakers, the computer stores two separate lists of numbers - one for each ear. It's like taking a super-detailed recipe for recreating any sound perfectly!", + "vocab_3rd_grade": [ + { + "word": "sound waves", + "definition": "Invisible vibrations in air that create all the sounds we hear" + }, + { + "word": "measurements", + "definition": "Numbers that tell the computer exactly how big each sound wave is" + }, + { + "word": "time slices", + "definition": "Tiny moments when the computer takes a measurement of the sound" + }, + { + "word": "wave pattern", + "definition": "The shape that sound waves make as they move through air" + }, + { + "word": "stereo channels", + "definition": "Separate sound information for left and right speakers" + } + ], + "answer_7th_grade": "Digital audio representation converts continuous analog sound waves into discrete numeric sequences through sampling and quantization. Sampling captures instantaneous amplitude values at regular intervals (typically 44.1 kHz for CD quality), while bit depth determines numeric precision (16-bit allows 65,536 different amplitude levels). The Nyquist theorem requires sampling rates at least twice the highest frequency to accurately reproduce sound. Audio compression reduces file sizes using techniques like psychoacoustic modeling, which removes frequencies human ears cannot perceive. Multi-channel formats store synchronized amplitude sequences for surround sound configurations.", + "vocab_7th_grade": [ + { + "word": "analog sound waves", + "definition": "Continuous vibrations in air that represent natural sound" + }, + { + "word": "discrete numeric sequences", + "definition": "Separate number lists that represent digital audio data" + }, + { + "word": "sampling and quantization", + "definition": "Converting continuous sound into specific numbered measurements" + }, + { + "word": "bit depth", + "definition": "How many different volume levels can be represented numerically" + }, + { + "word": "Nyquist theorem", + "definition": "Mathematical rule for minimum sampling rate needed for accurate sound reproduction" + }, + { + "word": "psychoacoustic modeling", + "definition": "Compression technique based on how human hearing works" + }, + { + "word": "multi-channel formats", + "definition": "Audio systems with more than two speakers for surround sound" + } + ], + "answer_high_school": "Audio digitization implements analog-to-digital conversion through temporal sampling and amplitude quantization, governed by signal processing principles. Sample rates (e.g., 44.1 kHz, 48 kHz) must satisfy Nyquist criteria to prevent aliasing artifacts, while bit depth (16/24-bit) determines dynamic range and signal-to-noise ratio. Lossy compression algorithms (MP3, AAC) exploit psychoacoustic masking phenomena, removing perceptually irrelevant spectral components. Advanced encoding utilizes frequency domain transformation (FFT/DCT), temporal masking, and joint stereo techniques. Lossless formats (FLAC, ALAC) employ entropy coding and linear prediction for bit-perfect reconstruction.", + "vocab_high_school": [ + { + "word": "analog-to-digital conversion", + "definition": "Process of converting continuous sound waves into digital number sequences" + }, + { + "word": "temporal sampling", + "definition": "Taking measurements of sound waves at specific time intervals" + }, + { + "word": "amplitude quantization", + "definition": "Converting continuous volume levels into discrete numeric values" + }, + { + "word": "aliasing artifacts", + "definition": "Distortion caused by insufficient sampling rate creating false frequencies" + }, + { + "word": "dynamic range", + "definition": "Difference between the quietest and loudest sounds that can be represented" + }, + { + "word": "psychoacoustic masking", + "definition": "How loud sounds hide quieter sounds from human perception" + }, + { + "word": "spectral components", + "definition": "Individual frequency parts that make up complex sounds" + }, + { + "word": "frequency domain transformation", + "definition": "Mathematical conversion from time-based to frequency-based audio representation" + }, + { + "word": "joint stereo techniques", + "definition": "Compression methods that share information between left and right audio channels" + }, + { + "word": "entropy coding", + "definition": "Lossless compression that assigns shorter codes to more common audio patterns" + } + ], + "answer_undergraduate": "Audio encoding implements sophisticated digital signal processing through multi-rate sampling, adaptive quantization, and perceptual coding frameworks. Advanced techniques include sub-band coding with filter banks, temporal noise shaping, and adaptive bit allocation across frequency bands. Modern codecs utilize psychoacoustic models incorporating simultaneous masking, temporal masking, and critical band analysis for optimal rate-distortion performance. Spatial audio encoding (Dolby Atmos, Ambisonics) represents three-dimensional soundfields through spherical harmonic decomposition. Machine learning approaches increasingly optimize audio compression through neural audio codecs and AI-enhanced perceptual models for real-time applications.", + "vocab_undergraduate": [ + { + "word": "multi-rate sampling", + "definition": "Audio processing using different sampling rates for different frequency components" + }, + { + "word": "adaptive quantization", + "definition": "Dynamic adjustment of bit allocation based on signal characteristics" + }, + { + "word": "perceptual coding frameworks", + "definition": "Compression systems designed around human auditory perception models" + }, + { + "word": "sub-band coding", + "definition": "Splitting audio into frequency ranges for independent processing" + }, + { + "word": "temporal noise shaping", + "definition": "Moving quantization noise to times when it's less audible" + }, + { + "word": "critical band analysis", + "definition": "Audio processing based on frequency resolution of human hearing" + }, + { + "word": "spherical harmonic decomposition", + "definition": "Mathematical representation of 3D audio using spherical coordinates" + }, + { + "word": "neural audio codecs", + "definition": "AI-based compression systems that learn optimal encoding strategies" + }, + { + "word": "psychoacoustic models", + "definition": "Mathematical descriptions of how humans perceive and process sound" + } + ], + "topics": [ + "audio encoding", + "digital signal processing", + "sound representation" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand digital audio representation", + "Learn about sampling and quantization", + "Connect sound waves to numeric sequences" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-audio-encoding.yml", + compiledAt: "2026-02-23T00:32:17.152Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-color-encoding.yml': { + module: { + "id": 8, + "question": "How might colors be encoded numerically?", + "answer": "Colors can be encoded numerically using the RGB (Red, Green, Blue) system, where each color component is represented by a number from 0-255. For example, pure red is encoded as Red=255, Green=0, Blue=0. Black is represented as (0,0,0) and white as (255,255,255). By varying the intensity values for each primary color component, computers can represent millions of different colors. Each pixel on your screen displays the color specified by its three numeric RGB values. This numerical approach allows precise color specification and consistent color reproduction across different devices.", + "vocab_answer": [ + { + "word": "RGB", + "definition": "Color system using Red, Green, and Blue numerical components" + }, + { + "word": "color component", + "definition": "Individual red, green, or blue intensity value (0-255)" + }, + { + "word": "intensity value", + "definition": "Numerical measure of how bright a color component should be" + }, + { + "word": "pixel", + "definition": "Smallest unit of a digital image that displays color" + }, + { + "word": "color mixing", + "definition": "Combining different intensities of primary colors to create new colors" + } + ], + "answer_kindergarten": "Colors on a computer are made with three magic numbers! Think of it like having three crayons: a red one, a green one, and a blue one. Each crayon can color from 0 (no color at all) to 255 (super bright!). To make purple, you might use red=100, green=0, blue=200. To make yellow, you use red=255, green=255, blue=0. It's like mixing paint, but with numbers instead of messy paints!", + "vocab_kindergarten": [ + { + "word": "RGB", + "definition": "The three magic color numbers: Red, Green, and Blue" + }, + { + "word": "color mixing", + "definition": "Putting different amounts of red, green, and blue together to make new colors" + }, + { + "word": "brightness", + "definition": "How much of each color to use, from 0 (none) to 255 (lots!)" + }, + { + "word": "pixel", + "definition": "A tiny colored dot on the computer screen" + } + ], + "answer_3rd_grade": "Every color you see on a computer screen is made by mixing three basic colors: red, green, and blue. Each color gets a number from 0 to 255 that tells the computer how bright to make it. For example, bright red is (255,0,0) - lots of red, no green, no blue. Purple is (128,0,128) - some red and some blue mixed together. White is (255,255,255) because it uses the brightest amount of all three colors. The computer can make over 16 million different colors by changing these three numbers!", + "vocab_3rd_grade": [ + { + "word": "RGB values", + "definition": "Three numbers that tell the computer how much red, green, and blue to mix" + }, + { + "word": "basic colors", + "definition": "Red, green, and blue - the three colors computers use to make all other colors" + }, + { + "word": "brightness level", + "definition": "A number from 0 to 255 that shows how bright each color should be" + }, + { + "word": "color mixing", + "definition": "Combining different amounts of red, green, and blue to create new colors" + }, + { + "word": "screen", + "definition": "The part of the computer that shows you pictures and colors" + } + ], + "answer_7th_grade": "Digital color encoding uses the RGB color model where each color is represented by three numerical values (0-255) corresponding to red, green, and blue light intensities. This additive color system works because computer screens emit light rather than reflect it. Each RGB triplet uniquely identifies one of 16,777,216 possible colors (256³). For instance, cyan is (0,255,255), yellow is (255,255,0), and gray tones use equal values like (128,128,128). This system allows precise color reproduction and standardized color communication between devices.", + "vocab_7th_grade": [ + { + "word": "RGB color model", + "definition": "A system that represents colors using red, green, and blue light intensity values" + }, + { + "word": "additive color system", + "definition": "A color mixing method where colors get brighter when combined (like colored lights)" + }, + { + "word": "light intensities", + "definition": "Numerical measurements of how bright each color component should be" + }, + { + "word": "RGB triplet", + "definition": "A set of three numbers (red, green, blue) that defines one specific color" + }, + { + "word": "color reproduction", + "definition": "The ability to create the same color consistently on different devices" + }, + { + "word": "cyan", + "definition": "A blue-green color made by combining blue and green light" + } + ], + "answer_high_school": "RGB color encoding represents colors as vectors in a three-dimensional color space where each axis corresponds to red, green, and blue light wavelength intensities. The 8-bit per channel encoding (0-255) provides 2^24 = 16,777,216 distinct colors within the sRGB color gamut. This additive synthesis mimics human trichromatic vision, where cone cells respond to different wavelength ranges. Other color spaces like HSV (Hue, Saturation, Value) and CMYK (Cyan, Magenta, Yellow, Key/Black) serve different applications - HSV for intuitive color selection, CMYK for subtractive printing processes.", + "vocab_high_school": [ + { + "word": "three-dimensional color space", + "definition": "A mathematical model where colors are points defined by three coordinate values" + }, + { + "word": "8-bit per channel", + "definition": "Using 8 binary digits to represent each color component, allowing 256 levels" + }, + { + "word": "color gamut", + "definition": "The complete range of colors that can be represented in a specific color system" + }, + { + "word": "additive synthesis", + "definition": "Creating colors by adding together different colored lights" + }, + { + "word": "trichromatic vision", + "definition": "Human color perception based on three types of color-detecting cells in the eye" + }, + { + "word": "cone cells", + "definition": "Specialized eye cells that detect different wavelengths of light for color vision" + }, + { + "word": "HSV color space", + "definition": "An alternative color model using Hue, Saturation, and Value parameters" + }, + { + "word": "CMYK", + "definition": "A subtractive color model used in printing with Cyan, Magenta, Yellow, and Black" + }, + { + "word": "subtractive printing", + "definition": "Color reproduction method where pigments absorb specific light wavelengths" + } + ], + "answer_undergraduate": "RGB color encoding implements a linear transformation from continuous electromagnetic spectra to discrete three-dimensional vectors within the sRGB color space, standardized by IEC 61966-2-1. The encoding utilizes gamma correction (γ ≈ 2.2) to compensate for nonlinear human luminance perception and CRT display characteristics. Each 8-bit channel provides quantization of continuous light intensities, with potential banding artifacts mitigated through dithering algorithms. Advanced applications employ wider gamuts (Adobe RGB, ProPhoto RGB) with 10-16 bit channels for professional workflows. Color management systems use ICC profiles to handle device-dependent color reproduction across heterogeneous display and printing technologies, implementing chromatic adaptation transforms and perceptual rendering intents.", + "vocab_undergraduate": [ + { + "word": "linear transformation", + "definition": "Mathematical mapping that preserves vector operations between color spaces" + }, + { + "word": "electromagnetic spectra", + "definition": "The continuous range of light wavelengths that create visible color" + }, + { + "word": "sRGB color space", + "definition": "Standardized RGB color space designed for typical computer monitors and web content" + }, + { + "word": "gamma correction", + "definition": "Nonlinear encoding that matches human brightness perception and display characteristics" + }, + { + "word": "luminance perception", + "definition": "How the human visual system interprets brightness levels nonlinearly" + }, + { + "word": "quantization", + "definition": "Process of converting continuous values into discrete digital representations" + }, + { + "word": "banding artifacts", + "definition": "Visible color transitions caused by insufficient bit depth in color encoding" + }, + { + "word": "dithering algorithms", + "definition": "Techniques that simulate higher color depth by spatially distributing color errors" + }, + { + "word": "color gamut", + "definition": "The range of colors that can be represented or reproduced by a color system" + }, + { + "word": "ICC profiles", + "definition": "Standardized data that describes color characteristics of specific devices" + }, + { + "word": "chromatic adaptation", + "definition": "Mathematical transforms that adjust colors for different lighting conditions" + }, + { + "word": "perceptual rendering", + "definition": "Color reproduction method that maintains visual relationships between colors" + } + ], + "topics": [ + "color encoding", + "RGB color model", + "digital color representation" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand digital color representation", + "Learn RGB color encoding", + "Connect visual displays to binary data" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-color-encoding.yml", + compiledAt: "2026-02-23T00:32:17.154Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-coordinate-encoding.yml': { + module: { + "id": 9, + "question": "How might a pair of numbers, like a 2D-coordinate, be encoded as a single number?", + "answer": "A coordinate pair like (7,2) can be encoded as a single number using mathematical techniques. One common method is to use a formula like: single_number = x + (y × max_x_value). For example, if we know x-coordinates go from 0-99, we could encode (7,2) as: 7 + (2 × 100) = 207. To decode, we reverse the process: x = 207 % 100 = 7, and y = 207 ÷ 100 = 2.", + "vocab_answer": [ + { + "word": "coordinate pair", + "definition": "Two numbers that specify a position, typically (x,y)" + }, + { + "word": "mathematical mapping", + "definition": "Using formulas to convert between different number representations" + }, + { + "word": "encoding formula", + "definition": "Mathematical expression that combines multiple values into one" + }, + { + "word": "modulo operation", + "definition": "Mathematical operation that finds the remainder after division" + } + ], + "answer_kindergarten": "Sometimes we need to turn two numbers into one number! It's like putting two toys in one box. If you have a point at (3,1) - that's 3 steps to the right and 1 step up - we can make it into just one number like 13. We use a special trick: take the first number (3), then add it to the second number (1) times 10, so 3 + (1 × 10) = 13. When we want our two numbers back, we can split 13 apart again!", + "vocab_kindergarten": [ + { + "word": "coordinate", + "definition": "A pair of numbers that tells you where something is, like (3,1)" + }, + { + "word": "encoding", + "definition": "Turning two numbers into one number using a special trick" + }, + { + "word": "steps", + "definition": "How many spaces you move right and up to find a spot" + }, + { + "word": "splitting apart", + "definition": "Taking one big number and getting the two smaller numbers back" + } + ], + "answer_3rd_grade": "A coordinate like (7,2) is two numbers that tell you where something is - 7 steps right and 2 steps up. We can combine these into one number using math! One way is: take the first number (7) and add it to the second number (2) multiplied by a big enough number like 100. So (7,2) becomes 7 + (2 × 100) = 207. To get our coordinates back, we divide 207 by 100 to get 2 for the up direction, and find the remainder (7) for the right direction.", + "vocab_3rd_grade": [ + { + "word": "coordinate pair", + "definition": "Two numbers in parentheses like (7,2) that show where something is located" + }, + { + "word": "combine", + "definition": "To put two separate numbers together to make one bigger number" + }, + { + "word": "multiply", + "definition": "To make a number bigger by adding it to itself many times" + }, + { + "word": "remainder", + "definition": "The number left over when you divide and can't divide evenly anymore" + }, + { + "word": "decode", + "definition": "To get the original two numbers back from the combined single number" + } + ], + "answer_7th_grade": "Coordinate encoding converts a pair of numbers into a single number while preserving the ability to recover the original values. The most common method uses positional encoding: single_number = x + (y × range). For coordinates (7,2) with x-values from 0-99, we calculate 7 + (2 × 100) = 207. This works because each y-value gets its own 'slot' of 100 numbers. To decode 207: y = 207 ÷ 100 = 2 (integer division), and x = 207 % 100 = 7 (remainder).", + "vocab_7th_grade": [ + { + "word": "positional encoding", + "definition": "A method that assigns each coordinate component a specific numerical position or range" + }, + { + "word": "range", + "definition": "The span of possible values, like 0-99 contains 100 different numbers" + }, + { + "word": "integer division", + "definition": "Division that gives you only the whole number part, ignoring any remainder" + }, + { + "word": "non-negative integers", + "definition": "Whole numbers that are zero or positive (0, 1, 2, 3, ...)" + }, + { + "word": "slot", + "definition": "A reserved section of numbers designated for a specific coordinate value" + } + ], + "answer_high_school": "Coordinate pair encoding transforms two-dimensional spatial information into one-dimensional numerical representation using bijective mathematical functions. Linear encoding allocates fixed ranges: f(x,y) = x + y×(max_x + 1), ensuring unique mapping when x ∈ [0, max_x].", + "vocab_high_school": [ + { + "word": "bijective function", + "definition": "A mathematical function that creates a one-to-one correspondence between two sets" + }, + { + "word": "one-dimensional representation", + "definition": "Expressing information using a single number line or sequence" + }, + { + "word": "linear encoding", + "definition": "A straightforward method that assigns consecutive number ranges to coordinate values" + }, + { + "word": "unbounded coordinates", + "definition": "Coordinate values that can be any size without predetermined limits" + }, + { + "word": "bijection", + "definition": "A perfect one-to-one matching between elements of two mathematical sets" + }, + { + "word": "floor function ⌊⌋", + "definition": "Mathematical operation that rounds down to the nearest integer" + }, + { + "word": "pixel addressing", + "definition": "Using single numbers to identify specific points in digital images" + }, + { + "word": "spatial databases", + "definition": "Computer systems that store and index location-based information" + }, + { + "word": "algorithm optimization", + "definition": "Improving computational efficiency by reducing problem complexity" + } + ], + "topics": [ + "coordinate encoding", + "mathematical mapping", + "spatial data structures" + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand encoding of multiple related values", + "Recognize structured data storage", + "Connect coordinates to binary representation" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-coordinate-encoding.yml", + compiledAt: "2026-02-23T00:32:17.155Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-image-encoding.yml': { + module: { + "id": 10, + "question": "How might an image be represented numerically?", + "answer": "An image can be represented numerically as a grid of pixels, where each pixel contains numeric color values. For a digital photo, the computer stores the width and height of the image (like 800×600 pixels), then stores the RGB color values for each pixel position. For example, a simple 3×3 image might store: Row 1: (255,0,0), (0,255,0), (0,0,255); Row 2: (255,255,255), (0,0,0), (128,128,128); Row 3: (255,255,0), (255,0,255), (0,255,255). The computer reads these numbers sequentially, recreating the image by setting each pixel to its stored color values. Additional metadata like image format, compression settings, and color space information are also stored as numbers.", + "vocab_answer": [ + { + "word": "pixel grid", + "definition": "Two-dimensional array of picture elements that form an image" + }, + { + "word": "image dimensions", + "definition": "Width and height measurements of an image in pixels" + }, + { + "word": "pixel data", + "definition": "Numeric color values stored for each point in an image" + }, + { + "word": "image metadata", + "definition": "Additional numeric information about image format and properties" + }, + { + "word": "raster graphics", + "definition": "Images represented as grids of colored pixels" + } + ], + "answer_kindergarten": "A picture on a computer is like a giant coloring book made of tiny squares called pixels! Each little square has three numbers that tell it what color to be - just like our color numbers from before. If you have a picture that's 10 squares wide and 10 squares tall, the computer stores 100 sets of color numbers. It's like having a box with 100 crayons, and each crayon knows exactly what color it should be and where it goes in the picture!", + "vocab_kindergarten": [ + { + "word": "pixel", + "definition": "A tiny colored square that makes up a picture on the computer" + }, + { + "word": "picture grid", + "definition": "Rows and columns of colored squares that make a complete image" + }, + { + "word": "color numbers", + "definition": "Three numbers that tell each square what color to be" + }, + { + "word": "squares wide and tall", + "definition": "How many pixel squares fit across and up and down in a picture" + } + ], + "answer_3rd_grade": "A digital image is made up of thousands of tiny colored dots called pixels arranged in rows and columns, like a huge checkerboard. Each pixel has three numbers (red, green, blue) that determine its color. For a photo that's 800 pixels wide and 600 pixels tall, the computer stores 480,000 sets of color numbers! The computer reads these numbers row by row, left to right, painting each pixel the right color to rebuild the complete picture. Bigger images need more pixels and more numbers to store.", + "vocab_3rd_grade": [ + { + "word": "digital image", + "definition": "A picture made up of many tiny colored dots that computers can display" + }, + { + "word": "pixels", + "definition": "The tiny colored dots that make up digital pictures" + }, + { + "word": "rows and columns", + "definition": "Horizontal lines and vertical lines that organize pixels in a grid" + }, + { + "word": "checkerboard pattern", + "definition": "A grid arrangement where pixels are organized in neat rows and columns" + }, + { + "word": "rebuild", + "definition": "Using stored numbers to recreate the original picture on screen" + } + ], + "answer_7th_grade": "Digital images are represented as two-dimensional arrays of pixels, where each pixel contains numerical color data. The image dimensions (width × height) determine the total number of pixels, and each pixel stores RGB values. For example, a 1920×1080 HD image contains 2,073,600 pixels, with each pixel requiring 3 bytes (24 bits) for color information. This results in approximately 6.2 MB of raw image data. Images also include header information with metadata like file format, compression type, color depth, and creation timestamp - all stored as numerical values.", + "vocab_7th_grade": [ + { + "word": "two-dimensional array", + "definition": "A grid structure that organizes data in rows and columns" + }, + { + "word": "image dimensions", + "definition": "The width and height of an image measured in pixels" + }, + { + "word": "color depth", + "definition": "The number of bits used to represent the color of each pixel" + }, + { + "word": "raw image data", + "definition": "Uncompressed pixel color information before any file format processing" + }, + { + "word": "header information", + "definition": "Metadata stored at the beginning of image files describing their properties" + }, + { + "word": "compression type", + "definition": "The method used to reduce file size by encoding pixel data more efficiently" + } + ], + "answer_high_school": "Digital image representation utilizes raster graphics encoding where images are discretized into rectangular pixel matrices. Each pixel contains quantized color information, typically 8 bits per channel (24-bit color) or 10-16 bits for professional applications. Spatial resolution determines image quality through pixel density, while color resolution affects the number of distinguishable colors. Lossless compression algorithms (PNG, TIFF) preserve original pixel values, while lossy compression (JPEG) uses discrete cosine transforms and quantization to achieve smaller file sizes. Vector graphics provide an alternative representation using mathematical descriptions of shapes and curves rather than pixel arrays.", + "vocab_high_school": [ + { + "word": "raster graphics encoding", + "definition": "Digital image representation using a grid of individual colored pixels" + }, + { + "word": "discretized", + "definition": "Converted from continuous visual information into separate digital units" + }, + { + "word": "pixel matrices", + "definition": "Mathematical arrays that store image data in rows and columns" + }, + { + "word": "quantized color information", + "definition": "Color data converted into specific numerical ranges for digital storage" + }, + { + "word": "spatial resolution", + "definition": "The amount of detail an image holds, determined by pixel count and size" + }, + { + "word": "color resolution", + "definition": "The number of distinct colors that can be represented in an image" + }, + { + "word": "lossless compression", + "definition": "Data reduction techniques that preserve all original image information" + }, + { + "word": "lossy compression", + "definition": "Data reduction that discards some information to achieve smaller file sizes" + }, + { + "word": "discrete cosine transforms", + "definition": "Mathematical operations used to convert image data for efficient compression" + }, + { + "word": "vector graphics", + "definition": "Image representation using mathematical descriptions rather than pixel grids" + } + ], + "answer_undergraduate": "Digital image representation implements sampling and quantization of continuous visual fields into discrete numerical matrices. Spatial sampling determines pixel density according to Nyquist-Shannon theorem constraints, while amplitude quantization maps continuous luminance values to finite bit representations. Color space transformations (RGB to YCbCr) enable perceptual optimization and efficient compression. Advanced encoding utilizes wavelets (JPEG2000), prediction algorithms (PNG), and psychovisual models for rate-distortion optimization. High dynamic range (HDR) imaging employs floating-point representations or tone mapping to capture extended luminance ranges. Multi-spectral and hyperspectral imaging extends beyond visible spectrum, storing additional spectral bands as numerical channels for scientific and remote sensing applications.", + "vocab_undergraduate": [ + { + "word": "sampling and quantization", + "definition": "Converting continuous signals into discrete digital representations" + }, + { + "word": "continuous visual fields", + "definition": "Real-world scenes with infinite detail and color gradations" + }, + { + "word": "Nyquist-Shannon theorem", + "definition": "Mathematical principle governing minimum sampling rates for signal reconstruction" + }, + { + "word": "amplitude quantization", + "definition": "Process of mapping continuous intensity values to discrete numerical levels" + }, + { + "word": "color space transformations", + "definition": "Mathematical conversions between different color representation systems" + }, + { + "word": "psychovisual models", + "definition": "Algorithms that account for human visual perception in compression optimization" + }, + { + "word": "rate-distortion optimization", + "definition": "Balancing file size reduction against image quality preservation" + }, + { + "word": "high dynamic range (HDR)", + "definition": "Image representation capturing extended luminance ranges beyond standard displays" + }, + { + "word": "tone mapping", + "definition": "Techniques for displaying HDR content on standard dynamic range devices" + }, + { + "word": "multi-spectral imaging", + "definition": "Capturing image data across multiple specific wavelength bands" + }, + { + "word": "hyperspectral imaging", + "definition": "Recording hundreds of contiguous spectral bands for detailed material analysis" + }, + { + "word": "spectral bands", + "definition": "Specific wavelength ranges of electromagnetic radiation captured as image channels" + } + ], + "topics": [ + "image encoding", + "pixel representation", + "digital image processing" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand digital image representation", + "Connect visual content to numeric data structures", + "Recognize pixel-based image encoding" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-image-encoding.yml", + compiledAt: "2026-02-23T00:32:17.156Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-text-encoding-binary.yml': { + module: { + "id": 6, + "question": "How might letters and words be encoded numerically?", + "answer": "Letters and words are encoded numerically using standardized systems like ASCII (American Standard Code for Information Interchange). Each letter is assigned a unique number - for example, the letter 'A' is represented by the number 65, and 'a' is represented by 97. To spell a word like 'Hi', the computer stores the numeric codes for 'H' (72) followed by 'i' (105). By agreeing on these standard number assignments, all computers can understand and display the same text when they read the numeric patterns. This system allows any written character to be represented as a simple number.", + "vocab_answer": [ + { + "word": "ASCII", + "definition": "Standard system for encoding letters, numbers, and symbols as numbers" + }, + { + "word": "character encoding", + "definition": "Method of representing text characters as numeric values" + }, + { + "word": "standardized system", + "definition": "Agreed-upon method that all computers use" + }, + { + "word": "numeric code", + "definition": "Specific number representing a character" + }, + { + "word": "text representation", + "definition": "How written language is stored digitally as numbers" + } + ], + "answer_kindergarten": "Every letter and number has its own special secret number! Just like how you might have a number in line at school, each letter has a number too. The letter 'A' is always number 65, and 'B' is always number 66. When you type 'MOM' on a computer, it secretly writes down three numbers: the number for M, then the number for O, then the number for M again! All computers know this secret code, so when they see those numbers, they know to show you the letters. It's like a magic decoder ring that turns numbers into letters!", + "vocab_kindergarten": [ + { + "word": "secret number", + "definition": "The special number that each letter uses to hide inside the computer" + }, + { + "word": "letter number", + "definition": "The number that stands for each letter like A, B, or C" + }, + { + "word": "magic decoder", + "definition": "How the computer knows which numbers mean which letters" + }, + { + "word": "computer code", + "definition": "The secret way computers talk to each other using numbers" + } + ], + "answer_3rd_grade": "Text encoding is like having a secret codebook where every letter, number, and symbol has its own special number. The most common code is called ASCII, where 'A' = 65, 'B' = 66, 'C' = 67, and so on. When you type 'CAT' on your computer, it actually stores the numbers 67, 65, 84. All computers around the world use the same codebook, so when your friend's computer sees those numbers, it knows to display 'CAT' too! This number system lets computers store and share any written message - from your homework to text messages to books - all using just numbers.", + "vocab_3rd_grade": [ + { + "word": "text encoding", + "definition": "The system of turning letters into numbers so computers can store them" + }, + { + "word": "ASCII codebook", + "definition": "The standard list that shows which number represents each letter" + }, + { + "word": "symbol numbers", + "definition": "Numbers that represent punctuation marks like periods and question marks" + }, + { + "word": "universal code", + "definition": "The same number system that all computers understand" + }, + { + "word": "digital messages", + "definition": "Text stored as numbers that computers can send and receive" + } + ], + "answer_7th_grade": "Character encoding systems map textual symbols to numeric representations for digital storage and transmission. ASCII (American Standard Code for Information Interchange) uses 7-bit encoding, representing 128 characters including letters, digits, punctuation, and control characters. Extended ASCII utilizes 8 bits for 256 characters, accommodating additional symbols. Unicode (UTF-8, UTF-16) provides comprehensive international character support through variable-length encoding schemes, representing over one million possible characters including emoji, mathematical symbols, and scripts from world languages. Text files store character sequences as byte arrays, with encoding metadata ensuring proper interpretation across different systems.", + "vocab_7th_grade": [ + { + "word": "character encoding systems", + "definition": "Standardized methods for converting text characters into numeric codes" + }, + { + "word": "7-bit encoding", + "definition": "Using 7 binary digits to represent each character (128 possibilities)" + }, + { + "word": "control characters", + "definition": "Special codes that control text formatting rather than displaying symbols" + }, + { + "word": "variable-length encoding", + "definition": "System where different characters can use different numbers of bytes" + }, + { + "word": "Unicode standards", + "definition": "International encoding systems supporting characters from all world languages" + }, + { + "word": "byte arrays", + "definition": "Sequences of 8-bit numbers used to store encoded text data" + }, + { + "word": "encoding metadata", + "definition": "Information that tells computers which character set is being used" + } + ], + "answer_high_school": "Text encoding involves mapping character sets to binary representations through standardized protocols. ASCII provides 7-bit encoding for basic Latin characters, while extended character sets utilize multi-byte encoding schemes. Unicode implementation through UTF-8 employs variable-length encoding with backward ASCII compatibility, using 1-4 bytes per character. UTF-16 and UTF-32 offer fixed-width alternatives optimizing for different languages. Character normalization addresses equivalent representations (combining vs. precomposed characters), while collation algorithms handle culture-specific sorting. Modern encoding systems accommodate right-to-left scripts, complex ligatures, and grapheme clusters requiring sophisticated text processing algorithms.", + "vocab_high_school": [ + { + "word": "binary representations", + "definition": "How characters are stored as patterns of 1s and 0s in computer memory" + }, + { + "word": "multi-byte encoding", + "definition": "Character systems that use more than one byte per character" + }, + { + "word": "variable-length encoding", + "definition": "Encoding where common characters use fewer bytes than rare characters" + }, + { + "word": "backward compatibility", + "definition": "Ensuring newer encoding systems can still read older text formats" + }, + { + "word": "character normalization", + "definition": "Converting different representations of the same character to standard form" + }, + { + "word": "collation algorithms", + "definition": "Rules for sorting text in culturally appropriate ways" + }, + { + "word": "right-to-left scripts", + "definition": "Writing systems like Arabic and Hebrew that read from right to left" + }, + { + "word": "grapheme clusters", + "definition": "Groups of characters that form single visual units in text" + }, + { + "word": "complex ligatures", + "definition": "Multiple characters that combine into single display units" + } + ], + "answer_undergraduate": "Text encoding implements computational linguistics through hierarchical character representation systems spanning multiple abstraction layers. Unicode provides comprehensive character coverage through code point assignment, while encoding forms (UTF-8, UTF-16, UTF-32) optimize storage and processing for specific use cases. Advanced text processing requires normalization forms (NFC, NFD, NFKC, NFKD) for canonical equivalence handling, bidirectional algorithm implementation for mixed-script text rendering, and complex shaping engines for contextual character variants. Modern systems incorporate machine learning for automatic encoding detection, language identification, and script segmentation in multilingual documents with statistical and neural approaches.", + "vocab_undergraduate": [ + { + "word": "computational linguistics", + "definition": "Interdisciplinary field combining computer science and language analysis" + }, + { + "word": "hierarchical character representation", + "definition": "Multi-level system organizing characters from bytes to semantic meaning" + }, + { + "word": "code point assignment", + "definition": "Unicode system for assigning unique numbers to every possible character" + }, + { + "word": "encoding forms", + "definition": "Different methods for storing Unicode characters as binary data" + }, + { + "word": "normalization forms", + "definition": "Standard ways to represent characters with multiple possible encodings" + }, + { + "word": "canonical equivalence", + "definition": "Different byte sequences that represent identical character meanings" + }, + { + "word": "bidirectional algorithm", + "definition": "System for properly displaying mixed left-to-right and right-to-left text" + }, + { + "word": "contextual character variants", + "definition": "Characters that change appearance based on surrounding letters" + }, + { + "word": "automatic encoding detection", + "definition": "AI systems that determine which character encoding a file uses" + }, + { + "word": "script segmentation", + "definition": "Identifying which writing system each part of multilingual text uses" + } + ], + "topics": [ + "text encoding", + "character representation", + "digital typography" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand text encoding in binary", + "Learn about ASCII standard", + "Connect human language to computer storage" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-text-encoding-binary.yml", + compiledAt: "2026-02-23T00:32:17.157Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/data_information/explain-video-encoding.yml': { + module: { + "id": 11, + "question": "How might a video be represented numerically?", + "answer": "A video can be represented numerically as a sequence of images (frames) combined with timing information. Each frame is stored as numeric pixel data just like a still image, but the computer also stores the frame rate (like 30 frames per second) and the total duration. For example, a 10-second video at 30 fps would contain 300 individual image frames, each with its own pixel color data. The computer plays the video by displaying each frame in sequence at the specified timing intervals. Additional numeric data includes audio tracks (stored as sound wave measurements), subtitle timing, and compression parameters that reduce file size while maintaining visual quality.", + "vocab_answer": [ + { + "word": "video frame", + "definition": "Individual still image that is part of a video sequence" + }, + { + "word": "frame rate", + "definition": "Number of images displayed per second in a video (measured in fps)" + }, + { + "word": "frame sequence", + "definition": "Ordered series of images that create motion when played rapidly" + }, + { + "word": "temporal data", + "definition": "Time-based information that controls when frames are displayed" + }, + { + "word": "video compression", + "definition": "Mathematical techniques to reduce video file size using numeric algorithms" + } + ], + "answer_kindergarten": "A video is like a flipbook made of many pictures! You know how when you flip through pages really fast, the pictures look like they're moving? That's exactly how videos work! The computer stores hundreds of pictures and shows them to you super fast - maybe 30 pictures every second. Each picture has all those color numbers we learned about, plus the computer remembers how fast to flip through them. It's like having a magical flipbook that never gets torn!", + "vocab_kindergarten": [ + { + "word": "flipbook", + "definition": "A book of pictures that seem to move when you flip the pages quickly" + }, + { + "word": "moving pictures", + "definition": "What happens when you show lots of pictures very fast one after another" + }, + { + "word": "fast flipping", + "definition": "Showing pictures so quickly that they look like they're moving" + }, + { + "word": "video pictures", + "definition": "All the individual pictures that make up a moving video" + } + ], + "answer_3rd_grade": "A video is made from lots of individual pictures called frames, just like a flipbook or comic strip. For a 1-minute video playing at 30 frames per second, the computer stores 1,800 separate pictures! Each picture has all the pixel color information we learned about earlier. The computer also stores a number that tells it how fast to show the pictures - this is called the frame rate. When you watch the video, the computer quickly displays each picture in order, creating the illusion of movement. It also stores audio as thousands of sound measurements that play at the same time.", + "vocab_3rd_grade": [ + { + "word": "frames", + "definition": "Individual pictures that make up a video when shown in sequence" + }, + { + "word": "frame rate", + "definition": "How many pictures the computer shows each second to create smooth motion" + }, + { + "word": "illusion of movement", + "definition": "How still pictures shown quickly trick your brain into seeing motion" + }, + { + "word": "sequence", + "definition": "The specific order that frames must be shown to create the right motion" + }, + { + "word": "audio measurements", + "definition": "Numbers that represent sounds to play along with the video" + } + ], + "answer_7th_grade": "Video encoding represents motion as temporal sequences of spatial image data. Each video frame contains complete pixel information (width × height × color channels), and the frame rate determines temporal resolution. A 1080p video at 30fps generates approximately 62MB of raw data per second (1920×1080×3×30). Videos also include audio tracks encoded as digital waveforms, synchronized timing data, and metadata like codecs and compression settings. Motion compensation algorithms reduce file sizes by storing only pixel differences between consecutive frames rather than complete frame data.", + "vocab_7th_grade": [ + { + "word": "temporal sequences", + "definition": "Data organized by time, showing how images change over periods" + }, + { + "word": "spatial image data", + "definition": "The pixel color information that makes up each individual frame" + }, + { + "word": "temporal resolution", + "definition": "How frequently frames are captured, affecting motion smoothness" + }, + { + "word": "raw data", + "definition": "Uncompressed video information before any size reduction techniques" + }, + { + "word": "digital waveforms", + "definition": "Numerical representations of sound waves for audio playback" + }, + { + "word": "motion compensation", + "definition": "Compression technique that stores frame differences instead of complete frames" + }, + { + "word": "codecs", + "definition": "Computer programs that compress and decompress video data" + } + ], + "answer_high_school": "Video representation combines spatial and temporal encoding of visual information through sequential frame storage and inter-frame compression algorithms. Container formats (MP4, AVI) multiplex video streams, audio tracks, and metadata synchronization. Lossy compression utilizes discrete cosine transforms (DCT) for spatial redundancy reduction and motion vector prediction for temporal redundancy elimination. Quality metrics like PSNR (Peak Signal-to-Noise Ratio) quantify compression artifacts. Modern codecs (H.264, H.265) employ advanced techniques including intra-prediction, variable block sizes, and entropy coding to achieve optimal rate-distortion performance for streaming applications.", + "vocab_high_school": [ + { + "word": "spatial and temporal encoding", + "definition": "Representing both the visual content and time-based changes in video" + }, + { + "word": "container formats", + "definition": "File structures that organize multiple data streams into single video files" + }, + { + "word": "multiplex", + "definition": "Combining separate audio and video streams into synchronized playback" + }, + { + "word": "inter-frame compression", + "definition": "Size reduction by comparing and storing differences between video frames" + }, + { + "word": "motion vector prediction", + "definition": "Tracking object movement between frames to improve compression efficiency" + }, + { + "word": "temporal redundancy", + "definition": "Similar information repeated across consecutive video frames" + }, + { + "word": "PSNR", + "definition": "Mathematical measure comparing original and compressed video quality" + }, + { + "word": "intra-prediction", + "definition": "Compression technique that predicts pixel values within individual frames" + }, + { + "word": "entropy coding", + "definition": "Advanced compression that assigns shorter codes to more frequent data patterns" + } + ], + "answer_undergraduate": "Video encoding implements multidimensional signal processing across spatial, temporal, and chromatic domains using hierarchical compression architectures. Advanced codecs utilize wavelet transforms, motion-compensated prediction with sub-pixel accuracy, and rate-distortion optimization across temporal group-of-pictures (GOP) structures. Perceptual coding exploits human visual system limitations through psychovisual models, applying different quantization strategies to spatial frequency components and temporal motion characteristics. Scalable video coding (SVC) enables adaptive streaming through temporal, spatial, and quality scalability layers. Machine learning approaches increasingly optimize compression through neural network-based prediction and post-processing enhancement algorithms.", + "vocab_undergraduate": [ + { + "word": "multidimensional signal processing", + "definition": "Analyzing and manipulating data across space, time, and color dimensions simultaneously" + }, + { + "word": "hierarchical compression", + "definition": "Multi-level encoding that processes different video aspects at various scales" + }, + { + "word": "sub-pixel accuracy", + "definition": "Motion estimation precision beyond individual pixel boundaries" + }, + { + "word": "group-of-pictures (GOP)", + "definition": "Structured sequences of frames optimized for compression and random access" + }, + { + "word": "psychovisual models", + "definition": "Algorithms incorporating human visual perception for optimal compression" + }, + { + "word": "spatial frequency components", + "definition": "Different levels of detail and texture information within image regions" + }, + { + "word": "scalable video coding", + "definition": "Encoding that supports multiple quality levels from single compressed stream" + }, + { + "word": "adaptive streaming", + "definition": "Dynamic quality adjustment based on network conditions and device capabilities" + }, + { + "word": "neural network-based prediction", + "definition": "Machine learning algorithms that improve compression efficiency and quality" + }, + { + "word": "post-processing enhancement", + "definition": "AI techniques that improve video quality after decompression" + } + ], + "topics": [ + "video encoding", + "temporal compression", + "motion representation" + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand video as sequences of numeric image data", + "Learn about temporal encoding in digital media", + "Connect motion pictures to numeric representation" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/data_information/explain-video-encoding.yml", + compiledAt: "2026-02-23T00:32:17.158Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/electricity/explain-electricity-binary-relationship.yml': { + module: { + "id": 4, + "question": "How does electricity enable computers to represent binary digits?", + "answer": "Electricity enables binary representation through voltage levels in electronic circuits. A high voltage (typically around 3-5 volts) represents binary 1, while low or no voltage (0 volts) represents binary 0. Transistors act as electrical switches that can be turned on (allowing current to flow) or off (blocking current). When billions of these switches are combined in computer chips, they can store and process binary information. The on/off states are stable and easy to detect, making electrical signals perfect for representing the two states of binary.", + "vocab_answer": [ + { + "word": "voltage", + "definition": "Electrical potential difference that can represent binary states" + }, + { + "word": "high voltage", + "definition": "Electrical state representing binary 1" + }, + { + "word": "low voltage", + "definition": "Electrical state representing binary 0" + }, + { + "word": "electrical switch", + "definition": "Device that can start or stop the flow of electricity" + }, + { + "word": "current", + "definition": "Flow of electrical charge through a circuit" + } + ], + "answer_kindergarten": "Computers use electricity like light switches! When you flip a light switch ON, electricity flows and the light turns on - that's like the number 1. When you flip it OFF, no electricity flows and the light stays dark - that's like the number 0. Inside computers, there are millions of tiny electrical switches tinier than ants! Each little switch can be ON (1) or OFF (0). By having lots of these tiny switches working together, the computer can remember and work with all the 0s and 1s it needs. It's like having a huge wall of light switches that can store information!", + "vocab_kindergarten": [ + { + "word": "light switches", + "definition": "Things you flip to turn lights on and off, like computer switches" + }, + { + "word": "electricity flows", + "definition": "When electrical power moves through wires to make things work" + }, + { + "word": "tiny switches", + "definition": "Super small electrical switches inside computers" + }, + { + "word": "wall of switches", + "definition": "Lots of switches working together to store computer information" + } + ], + "answer_3rd_grade": "Computers use electricity to create two different states: ON and OFF. When electricity is flowing (high voltage), that represents the binary digit 1. When electricity is not flowing (low voltage), that represents the binary digit 0. Think of it like a flashlight - when the battery makes electricity flow, the light is ON (that's a 1). When no electricity flows, the light is OFF (that's a 0). Computer chips have millions of tiny electrical switches called transistors. Each transistor can be switched ON or OFF incredibly fast, and computers use these switches to store and process all their binary information.", + "vocab_3rd_grade": [ + { + "word": "electrical states", + "definition": "The two conditions electricity can be in: flowing (ON) or not flowing (OFF)" + }, + { + "word": "high voltage", + "definition": "When electricity is flowing strongly, representing binary 1" + }, + { + "word": "low voltage", + "definition": "When electricity is flowing weakly or not at all, representing binary 0" + }, + { + "word": "transistors", + "definition": "Tiny electrical switches inside computer chips" + }, + { + "word": "switching speed", + "definition": "How fast transistors can change between ON and OFF states" + } + ], + "answer_7th_grade": "Electrical circuits represent binary information through distinct voltage states corresponding to logical 0 and 1. Standard logic families use voltage thresholds: TTL (Transistor-Transistor Logic) defines >2.4V as logical 1 and <0.8V as logical 0. CMOS technology uses rail-to-rail switching between supply voltage (VDD) and ground (0V). Transistors function as voltage-controlled switches, with MOSFET devices exhibiting high impedance when off and low impedance when conducting. Signal integrity depends on noise margins - the voltage difference between valid logic levels and switching thresholds. This electrical foundation enables reliable digital state representation and rapid switching for computational operations.", + "vocab_7th_grade": [ + { + "word": "voltage thresholds", + "definition": "Specific voltage levels that separate binary 0 from binary 1" + }, + { + "word": "logic families", + "definition": "Different electrical standards for representing digital signals" + }, + { + "word": "rail-to-rail switching", + "definition": "Switching between maximum supply voltage and ground voltage" + }, + { + "word": "MOSFET devices", + "definition": "Type of transistor that controls current flow with voltage" + }, + { + "word": "impedance", + "definition": "Electrical resistance to current flow in AC circuits" + }, + { + "word": "noise margins", + "definition": "Safety buffer between valid signal levels and switching points" + }, + { + "word": "signal integrity", + "definition": "Quality and reliability of electrical signals in digital systems" + } + ], + "answer_high_school": "Digital systems implement binary representation through complementary voltage rails defining logical states. CMOS technology utilizes p-type and n-type MOSFETs in complementary pairs, ensuring one transistor conducts while the other remains off. Logic levels are defined by threshold voltages (VTH) where VDD represents logical 1 and VSS (ground) represents logical 0. Dynamic switching involves capacitive charging/discharging through transistor channels, with propagation delays determined by RC time constants. Power consumption includes static leakage current and dynamic switching power (CV²f). Advanced techniques like differential signaling and current-mode logic improve noise immunity and switching speeds in high-performance applications.", + "vocab_high_school": [ + { + "word": "complementary voltage rails", + "definition": "Two voltage levels used to represent binary states in digital circuits" + }, + { + "word": "p-type and n-type MOSFETs", + "definition": "Two types of transistors with opposite electrical characteristics" + }, + { + "word": "threshold voltages", + "definition": "Voltage levels at which transistors switch between conducting and non-conducting" + }, + { + "word": "capacitive charging/discharging", + "definition": "Process of storing and releasing electrical energy in transistor circuits" + }, + { + "word": "propagation delays", + "definition": "Time required for electrical signals to travel through circuits" + }, + { + "word": "RC time constants", + "definition": "Electrical timing determined by resistance and capacitance values" + }, + { + "word": "dynamic switching power", + "definition": "Power consumed when transistors change states in digital circuits" + }, + { + "word": "differential signaling", + "definition": "Using two complementary signals to improve noise resistance" + } + ], + "answer_undergraduate": "Binary representation in digital systems exploits the bistable nature of electronic switching devices operating in well-defined conduction regimes. CMOS technology implements logical states through complementary p-channel and n-channel MOSFETs with threshold voltages engineered for optimal switching characteristics. The relationship I = μCox(W/L)[(VGS-VTH)VDS - VDS²/2] governs transistor behavior in linear and saturation regions. Quantum mechanical tunneling effects in nanoscale devices introduce variability addressed through statistical design methodologies. Advanced implementations include FinFET architectures with superior electrostatic control, and emerging technologies like carbon nanotube FETs and two-dimensional materials (graphene, MoS₂) for next-generation binary computation with reduced power consumption and enhanced performance metrics.", + "vocab_undergraduate": [ + { + "word": "bistable switching devices", + "definition": "Electronic components with two stable operating states" + }, + { + "word": "conduction regimes", + "definition": "Different modes of electrical conduction in semiconductor devices" + }, + { + "word": "complementary p-channel/n-channel", + "definition": "Opposite-type transistors that work together in CMOS circuits" + }, + { + "word": "quantum mechanical tunneling", + "definition": "Quantum effect where electrons pass through energy barriers" + }, + { + "word": "statistical design methodologies", + "definition": "Design approaches accounting for manufacturing variations" + }, + { + "word": "FinFET architectures", + "definition": "3D transistor structures with improved electrical control" + }, + { + "word": "electrostatic control", + "definition": "Managing electrical fields to control transistor behavior" + }, + { + "word": "two-dimensional materials", + "definition": "Atomically thin materials like graphene used in advanced electronics" + } + ], + "topics": [ + "electricity", + "binary representation", + "digital circuits" + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Connect electricity to binary representation", + "Understand voltage as information storage", + "Relate hardware to data representation" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/electricity/explain-electricity-binary-relationship.yml", + compiledAt: "2026-02-23T00:32:17.159Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/electricity/explain-magnetic-storage.yml': { + module: { + "id": 5, + "question": "How do magnetic fields store binary information?", + "answer": "Magnetic fields store binary information by magnetizing tiny regions of material in different directions. In traditional hard drives, microscopic areas can be magnetized either north-up (representing binary 1) or north-down (representing binary 0). A magnetic read/write head can detect these different magnetic orientations and interpret them as binary data. The magnetic field is stable and persists even when power is turned off, making it useful for long-term data storage. This is why hard drives can store your files permanently, unlike RAM which loses data when power is removed.", + "vocab_answer": [ + { + "word": "magnetization", + "definition": "Process of giving magnetic properties to a material" + }, + { + "word": "magnetic orientation", + "definition": "Direction of magnetic field representing binary states" + }, + { + "word": "north-up", + "definition": "Magnetic field direction typically representing binary 1" + }, + { + "word": "north-down", + "definition": "Magnetic field direction typically representing binary 0" + }, + { + "word": "read/write head", + "definition": "Device that can detect and change magnetic orientations" + }, + { + "word": "persistent storage", + "definition": "Data storage that retains information without power" + } + ], + "answer_kindergarten": "Imagine you have a million tiny magnets, each one like a compass needle! Each tiny magnet can point UP (like pointing to the sky) or DOWN (like pointing to the ground). When a magnet points UP, that's like the number 1. When it points DOWN, that's like the number 0. Computers can set these tiny magnets to point the way they want, creating patterns of 1s and 0s. The best part is that magnets remember which way they're pointing even when you turn the computer off! That's how your pictures and games stay saved on the computer - they're stored as millions of tiny magnet directions!", + "vocab_kindergarten": [ + { + "word": "tiny magnets", + "definition": "Super small magnetic pieces that can point up or down" + }, + { + "word": "compass needle", + "definition": "Pointer that shows direction, like the tiny magnets in computers" + }, + { + "word": "pointing UP/DOWN", + "definition": "Which direction the tiny magnets face to store 1s and 0s" + }, + { + "word": "magnet memory", + "definition": "How magnets remember their direction even when power is off" + } + ], + "answer_3rd_grade": "Magnetic storage works like having millions of tiny compass needles that can be set to point in different directions. Each tiny magnetic area can be set to point north (representing binary 1) or south (representing binary 0). A special device called a read/write head can both change these magnetic directions and detect which way they're pointing. The amazing thing about magnets is they keep their direction even when electricity is turned off! This makes magnetic storage perfect for keeping your photos, documents, and programs safe permanently. That's why you don't lose your files when you turn off your computer.", + "vocab_3rd_grade": [ + { + "word": "compass needles", + "definition": "Magnetic pointers that always point to magnetic north or south" + }, + { + "word": "magnetic directions", + "definition": "Which way the tiny magnets point to represent 1s and 0s" + }, + { + "word": "read/write head", + "definition": "Special tool that can change and detect magnetic directions" + }, + { + "word": "permanent storage", + "definition": "Keeping information saved even when the power is off" + }, + { + "word": "magnetic memory", + "definition": "How magnets remember their direction without needing electricity" + } + ], + "answer_7th_grade": "Magnetic storage exploits ferromagnetic materials with bistable magnetization states. Hard disk drives utilize magnetic domains where iron particles can be oriented in opposing directions representing binary values. The read/write head contains electromagnetic coils that generate magnetic fields strong enough to flip domain orientations during write operations. During read operations, the head detects magnetic flux changes as domains pass underneath, inducing electrical signals proportional to magnetization direction. Magnetic storage exhibits non-volatility because domain orientations persist without external energy, unlike electronic RAM. Storage density depends on domain size limitations governed by superparamagnetic effects and thermal stability considerations.", + "vocab_7th_grade": [ + { + "word": "ferromagnetic materials", + "definition": "Materials that can be strongly magnetized and retain magnetization" + }, + { + "word": "bistable magnetization", + "definition": "Materials that can exist in two stable magnetic states" + }, + { + "word": "magnetic domains", + "definition": "Microscopic regions where magnetic particles align in the same direction" + }, + { + "word": "electromagnetic coils", + "definition": "Wire coils that create magnetic fields when electricity flows through them" + }, + { + "word": "magnetic flux changes", + "definition": "Variations in magnetic field strength detected during reading" + }, + { + "word": "non-volatility", + "definition": "Ability to retain information without continuous power supply" + }, + { + "word": "superparamagnetic effects", + "definition": "Quantum effects that limit how small magnetic storage areas can be" + } + ], + "answer_high_school": "Magnetic data storage implements binary encoding through controlled manipulation of magnetic anisotropy in ferromagnetic thin films. Perpendicular magnetic recording (PMR) utilizes high coercivity materials with uniaxial anisotropy, enabling smaller bit cells and higher areal densities. The read/write process involves magnetoresistive sensors exploiting giant magnetoresistance (GMR) or tunneling magnetoresistance (TMR) effects for signal detection. Write operations require magnetic fields exceeding the coercivity threshold (Hc) to reverse magnetization orientation. Advanced techniques include heat-assisted magnetic recording (HAMR) using laser heating to temporarily reduce coercivity, and microwave-assisted magnetic recording (MAMR) employing spin-torque oscillators for selective domain switching.", + "vocab_high_school": [ + { + "word": "magnetic anisotropy", + "definition": "Preferred magnetization directions in magnetic materials" + }, + { + "word": "perpendicular magnetic recording", + "definition": "Storage technique with magnetic fields pointing up or down" + }, + { + "word": "coercivity", + "definition": "Magnetic field strength needed to change magnetization direction" + }, + { + "word": "areal densities", + "definition": "Amount of data stored per unit area on storage media" + }, + { + "word": "magnetoresistive sensors", + "definition": "Devices whose electrical resistance changes with magnetic fields" + }, + { + "word": "giant magnetoresistance", + "definition": "Large resistance changes in layered magnetic structures" + }, + { + "word": "heat-assisted recording", + "definition": "Using heat to temporarily make magnetic materials easier to write" + }, + { + "word": "spin-torque oscillators", + "definition": "Devices that use electron spin for magnetic field generation" + } + ], + "answer_undergraduate": "Magnetic storage systems leverage quantum mechanical exchange interactions and magnetocrystalline anisotropy for stable binary state encoding. Modern implementations utilize perpendicular magnetic recording with L10-ordered alloys (FePt, CoPt) exhibiting high magnetocrystalline anisotropy energy. The Stoner-Wohlfarth model describes single-domain switching behavior, while micromagnetic simulations account for domain wall dynamics in complex geometries. Read sensors exploit spin-dependent transport phenomena including tunnel magnetoresistance in magnetic tunnel junctions (MTJs) with >200% MR ratios. Emerging technologies include antiferromagnetic spintronics for ultrafast switching, and three-dimensional magnetic recording using skyrmions as topologically protected information carriers with potential for atomic-scale storage densities.", + "vocab_undergraduate": [ + { + "word": "exchange interactions", + "definition": "Quantum mechanical forces that align electron spins in magnetic materials" + }, + { + "word": "magnetocrystalline anisotropy", + "definition": "Preferred magnetization directions due to crystal structure" + }, + { + "word": "L10-ordered alloys", + "definition": "Specific crystal structures with high magnetic anisotropy" + }, + { + "word": "Stoner-Wohlfarth model", + "definition": "Mathematical model describing single magnetic domain switching" + }, + { + "word": "micromagnetic simulations", + "definition": "Computer modeling of magnetic domain behavior" + }, + { + "word": "magnetic tunnel junctions", + "definition": "Devices with insulating barriers between magnetic layers" + }, + { + "word": "antiferromagnetic spintronics", + "definition": "Technology using materials with opposing magnetic moments" + }, + { + "word": "skyrmions", + "definition": "Topological magnetic structures that could store data at atomic scale" + } + ], + "topics": [ + "magnetic storage", + "hard drives", + "non-volatile memory" + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand magnetic data storage", + "Connect magnetism to binary representation", + "Distinguish between temporary and permanent storage" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/electricity/explain-magnetic-storage.yml", + compiledAt: "2026-02-23T00:32:17.160Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/00-zero-computers/questions/electricity/explain-transistors.yml': { + module: { + "id": 6, + "question": "What is a transistor and how does it work in computers?", + "answer": "A transistor is a tiny electronic switch that can be turned on or off to control the flow of electricity. It's made from semiconductor materials like silicon and has three parts: a source (where electricity enters), a drain (where electricity exits), and a gate (which controls whether electricity can flow). When voltage is applied to the gate, it allows electricity to flow from source to drain (representing binary 1). When no voltage is applied to the gate, electricity cannot flow (representing binary 0). Modern computer chips contain billions of these microscopic transistors working together to process information. Transistors are the fundamental building blocks that make all digital computing possible.", + "vocab_answer": [ + { + "word": "transistor", + "definition": "Electronic switch that controls electrical flow, fundamental building block of computers" + }, + { + "word": "semiconductor", + "definition": "Material like silicon that can conduct or block electricity depending on conditions" + }, + { + "word": "gate", + "definition": "Part of a transistor that controls whether electricity can flow through it" + }, + { + "word": "source", + "definition": "Part of a transistor where electrical current enters" + }, + { + "word": "drain", + "definition": "Part of a transistor where electrical current exits" + }, + { + "word": "electronic switch", + "definition": "Device that can turn electrical flow on or off electronically" + } + ], + "answer_kindergarten": "A transistor is like a magic gate for electricity! Imagine you have a water faucet - when you turn the handle one way, water flows out (that's like binary 1). When you turn it the other way, no water comes out (that's like binary 0). A transistor works the same way, but with electricity instead of water! It has a special control that can turn the electricity flow ON or OFF. Inside your computer, there are billions of these tiny magic gates working together super fast. Each gate can be ON (1) or OFF (0), and by using millions of them, the computer can think and remember things!", + "vocab_kindergarten": [ + { + "word": "magic gate", + "definition": "Simple way to think of transistors as gates that control electricity" + }, + { + "word": "water faucet", + "definition": "Everyday example of controlling flow, like transistors control electricity" + }, + { + "word": "electricity flow", + "definition": "How electrical power moves through circuits" + }, + { + "word": "billions of gates", + "definition": "The huge number of transistors working together in computers" + } + ], + "answer_3rd_grade": "A transistor is like an electrical switch that doesn't need your fingers to flip it - it can be controlled by electricity itself! It's made from special materials called semiconductors that can either let electricity flow through them or block it completely. Every transistor has three main parts: the source (where electricity comes in), the drain (where electricity goes out), and the gate (the controller). When the gate gets electrical power, it opens the switch and electricity flows from source to drain - that's a 1. When the gate has no power, the switch stays closed and no electricity flows - that's a 0. Computer chips have billions of these tiny switches working together!", + "vocab_3rd_grade": [ + { + "word": "electrical switch", + "definition": "Device that can turn electricity on or off" + }, + { + "word": "semiconductors", + "definition": "Special materials that can control whether electricity flows through them" + }, + { + "word": "source and drain", + "definition": "The two ends of a transistor where electricity enters and exits" + }, + { + "word": "gate controller", + "definition": "The part of a transistor that decides if electricity can flow" + }, + { + "word": "billions of switches", + "definition": "The enormous number of transistors in modern computer chips" + } + ], + "answer_7th_grade": "Transistors are voltage-controlled semiconductor devices that regulate current flow between two terminals based on a control signal. MOSFETs (Metal-Oxide-Semiconductor Field-Effect Transistors) are the dominant type in modern computers. They consist of source and drain regions connected by a channel, with a gate electrode controlling conductivity. When gate voltage exceeds the threshold voltage (VTH), it creates a conductive channel allowing current flow (logic 1). Below threshold, the channel is pinched off preventing current flow (logic 0). This switching behavior enables digital logic operations. Modern processors contain billions of transistors with feature sizes below 10 nanometers, allowing complex computational functions through transistor combinations in logic gates.", + "vocab_7th_grade": [ + { + "word": "voltage-controlled devices", + "definition": "Electronic components whose behavior changes based on applied voltage" + }, + { + "word": "MOSFETs", + "definition": "Type of transistor using metal-oxide-semiconductor structure" + }, + { + "word": "conductive channel", + "definition": "Path through semiconductor material that allows current flow" + }, + { + "word": "threshold voltage", + "definition": "Minimum voltage needed to turn a transistor on" + }, + { + "word": "channel pinch-off", + "definition": "When insufficient voltage prevents current flow through transistor" + }, + { + "word": "feature sizes", + "definition": "Physical dimensions of transistor components" + }, + { + "word": "logic gates", + "definition": "Circuits built from transistors that perform logical operations" + } + ], + "answer_high_school": "Transistors function as voltage-controlled current sources utilizing semiconductor physics and field-effect principles. In n-channel MOSFETs, applying positive gate voltage above threshold creates an inversion layer of mobile electrons, forming a conductive channel. The drain current follows the relationship ID = μnCox(W/L)[(VGS-VTH)VDS - VDS²/2] in the linear region and ID = ½μnCox(W/L)(VGS-VTH)² in saturation. CMOS logic utilizes complementary pairs of n-type and p-type transistors to minimize static power consumption. Scaling effects include short-channel phenomena, leakage currents, and quantum mechanical tunneling. Advanced architectures like FinFETs provide better electrostatic control for continued Moore's Law progression.", + "vocab_high_school": [ + { + "word": "field-effect principles", + "definition": "Physical mechanism where electric fields control semiconductor conductivity" + }, + { + "word": "inversion layer", + "definition": "Region in semiconductor where electron concentration is artificially increased" + }, + { + "word": "drain current equations", + "definition": "Mathematical relationships describing transistor electrical behavior" + }, + { + "word": "linear and saturation regions", + "definition": "Two different operating modes of transistor behavior" + }, + { + "word": "CMOS logic", + "definition": "Circuit design using both n-type and p-type transistors" + }, + { + "word": "short-channel effects", + "definition": "Unwanted behaviors in very small transistors" + }, + { + "word": "FinFET architecture", + "definition": "3D transistor design with improved electrical control" + } + ], + "answer_undergraduate": "Transistors exploit quantum mechanical band structure engineering in semiconductor heterostructures to achieve controllable conductance modulation. Modern devices utilize strained silicon channels, high-k dielectrics (HfO₂), and metal gates to optimize electrostatic control while mitigating short-channel effects. The fundamental operation relies on modulating carrier density through field-induced band bending, described by Poisson's equation and drift-diffusion transport. Advanced devices include tunnel FETs exploiting band-to-band tunneling for steep subthreshold slopes, and spin FETs utilizing spin-dependent transport. Emerging paradigms explore neuromorphic computing with memristive devices, and quantum computing applications using charge qubits in silicon quantum dots with single-electron control for quantum information processing.", + "vocab_undergraduate": [ + { + "word": "band structure engineering", + "definition": "Designing electronic energy levels in semiconductor materials" + }, + { + "word": "semiconductor heterostructures", + "definition": "Layered materials with different semiconductor properties" + }, + { + "word": "high-k dielectrics", + "definition": "Insulating materials with high dielectric constants" + }, + { + "word": "band-to-band tunneling", + "definition": "Quantum mechanical current flow between energy bands" + }, + { + "word": "subthreshold slopes", + "definition": "How abruptly transistors switch between on and off states" + }, + { + "word": "memristive devices", + "definition": "Memory devices that change resistance based on history" + }, + { + "word": "charge qubits", + "definition": "Quantum bits implemented using electron charge states" + }, + { + "word": "quantum dots", + "definition": "Nanoscale structures that confine electrons in all three dimensions" + } + ], + "topics": [ + "transistors", + "semiconductors", + "digital logic" + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand basic transistor functionality", + "Connect transistors to binary representation", + "Recognize transistors as computing foundations" + ] +}, + metadata: { + sourceFile: "content/overviews/00-zero-computers/questions/electricity/explain-transistors.yml", + compiledAt: "2026-02-23T00:32:17.161Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/concept-map.yml': { + module: { + "concept_map": [ + { + "category": "", + "concepts": [ + { + "name": "Hardware", + "exam_questions": [ + "questions/hardware/explain-ipo-model.yml", + "questions/hardware/explain-how-processor-works.yml", + "questions/hardware/explain-ram-vs-rom.yml", + "questions/hardware/explain-io-devices.yml", + "questions/hardware/explain-cpu-vs-gpu.yml", + "questions/hardware/trace-data-flow-through-system.yml", + "questions/hardware/discuss-storage-technology-strengths.yml" + ] + }, + { + "name": "Operating System", + "exam_questions": [ + "questions/os/explain-device-drivers.yml", + "questions/os/explain-role-of-operating-system.yml", + "questions/os/explain-multitasking-vs-multiprocessing.yml", + "questions/os/explain-os-hardware-software-integration.yml" + ] + }, + { + "name": "Files", + "exam_questions": [ + "questions/files/discuss-file-naming-conventions.yml", + "questions/files/explain-absolute-vs-relative-paths.yml", + "questions/files/explain-logical-vs-physical-storage.yml", + "questions/files/design-efficient-file-organization.yml" + ] + }, + { + "name": "Programs", + "exam_questions": [ + "questions/programs/describe-stored-program-concept.yml", + "questions/programs/analyze-computer-system-execution.yml", + "questions/programs/explain-what-is-compiler.yml", + "questions/programs/compare-compiler-interpreter.yml", + "questions/programs/trace-machine-code-execution.yml", + "questions/programs/explain-programming-process.yml", + "questions/programs/explain-assembly-language.yml" + ] + } + ] + } + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/concept-map.yml", + compiledAt: "2026-02-23T00:32:17.162Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/files/design-efficient-file-organization.yml': { + module: { + "id": 6, + "question": "Design an efficient file organization system for a specific use case (academic, professional, creative)", + "answer": "For academic use case: Implement a hierarchical structure like /Course/Week#/Topic/ with consistent ISO date prefixes (YYYY-MM-DD), separate directories for /Resources, /Drafts, /Final, and /Archive. Use semantic version suffixes (v1, v2) for iterative work, maintain a /Templates directory for reusable formats, and establish periodic archival procedures. Include metadata-rich filenames incorporating course codes, assignment types, and version indicators. This system supports collaboration through shared conventions, enables efficient retrieval through predictable organization, and scales across multiple semesters while maintaining academic workflow requirements.", + "vocab_answer": [ + { + "word": "hierarchical structure", + "definition": "Multi-level organizational system with main categories and subcategories arranged in a tree-like pattern" + }, + { + "word": "ISO date prefixes", + "definition": "International standard date format (YYYY-MM-DD) added to the beginning of filenames" + }, + { + "word": "semantic version suffixes", + "definition": "Meaningful version indicators (like v1, v2) added to filenames to track iterations" + }, + { + "word": "archival procedures", + "definition": "Systematic processes for storing and organizing old or completed files" + }, + { + "word": "metadata-rich filenames", + "definition": "File names that include descriptive information like dates, types, and categories" + }, + { + "word": "course codes", + "definition": "Standardized abbreviations identifying specific academic courses or subjects" + }, + { + "word": "predictable organization", + "definition": "File arrangement system that follows consistent, logical patterns" + }, + { + "word": "workflow requirements", + "definition": "Specific organizational needs dictated by how work is actually performed" + } + ], + "answer_kindergarten": "Let's organize your school files like organizing your toy room! First, make BIG FOLDERS for each subject - one for Math, one for Reading, one for Art. Inside each subject folder, make smaller folders for each week or month. Give your files good names that tell you what they are - like 'Math-Counting-Week1' instead of just 'homework.' Keep a special FINISHED folder for work you're done with, and a WORKING folder for things you're still doing. This way, when your teacher asks for your Week 2 math work, you know exactly where to find it - just like knowing your crayons are in the art box and your blocks are in the block box!", + "vocab_kindergarten": [ + { + "word": "organize", + "definition": "Put things in their proper places so you can find them easily" + }, + { + "word": "big folders", + "definition": "Main containers that hold lots of related files, like big toy boxes" + }, + { + "word": "subject", + "definition": "Different types of school work like math, reading, or science" + }, + { + "word": "smaller folders", + "definition": "Containers inside the big folders for more specific organization" + }, + { + "word": "good names", + "definition": "File names that clearly tell you what's inside" + }, + { + "word": "finished folder", + "definition": "Special place to keep work that's completely done" + }, + { + "word": "working folder", + "definition": "Place to keep assignments you're still working on" + } + ], + "answer_3rd_grade": "A good school file system is like organizing your desk and backpack! Start with MAIN FOLDERS for each class (Math, Science, English, History), then create WEEKLY SUBFOLDERS inside each class folder. Use a naming system like '2024-03-15-Math-Fractions-Homework' so your files are automatically sorted by date. Create special folders like 'RESOURCES' for handouts and reference materials, 'DRAFTS' for work in progress, and 'FINISHED' for completed assignments. Keep a TEMPLATE folder with blank formats you use often (like essay outlines or lab report forms). At the end of each semester, move old work to an ARCHIVE folder so your current folders don't get cluttered. This system helps you find any assignment quickly and keeps your work organized for the whole school year!", + "vocab_3rd_grade": [ + { + "word": "file system", + "definition": "Organized way of storing and arranging files on a computer" + }, + { + "word": "main folders", + "definition": "Primary containers that organize files by major categories like school subjects" + }, + { + "word": "weekly subfolders", + "definition": "Smaller folders inside main folders organized by time periods" + }, + { + "word": "naming system", + "definition": "Consistent way of giving names to files so they're easy to identify and sort" + }, + { + "word": "automatically sorted", + "definition": "Computer arranges files in order without you having to do it manually" + }, + { + "word": "reference materials", + "definition": "Documents you look at for information but don't change or turn in" + }, + { + "word": "template folder", + "definition": "Collection of blank forms and formats you can copy and reuse" + }, + { + "word": "archive folder", + "definition": "Storage place for old, finished work that you want to keep but don't use regularly" + }, + { + "word": "cluttered", + "definition": "Messy and disorganized with too many things mixed together" + } + ], + "answer_7th_grade": "Effective academic file organization requires SYSTEMATIC ARCHITECTURE balancing accessibility with scalability. Implement a three-tier hierarchy: /Semester/Course/Category/ where categories include Lectures, Assignments, Projects, Resources, and Archive. Utilize STANDARDIZED NAMING CONVENTIONS with ISO date format (YYYY-MM-DD), course prefixes (CHEM101, HIST204), and descriptive content indicators (Lab-Report, Essay-Draft). Establish WORKFLOW-SPECIFIC DIRECTORIES including /Active (current work), /Review (pending feedback), /Complete (finished assignments), and /Templates (reusable formats). Implement VERSION CONTROL through numeric suffixes (v1, v2) and maintain METADATA CONSISTENCY through structured filename components. Create automated ARCHIVAL PROCEDURES moving completed work to semester-specific archives, enabling efficient space management while preserving academic records. This system supports collaborative sharing through predictable organization and enables rapid content retrieval during study sessions and assignment preparation.", + "vocab_7th_grade": [ + { + "word": "systematic architecture", + "definition": "Well-planned organizational structure with consistent rules and patterns" + }, + { + "word": "scalability", + "definition": "Ability for a system to handle increasing amounts of work or content" + }, + { + "word": "three-tier hierarchy", + "definition": "Organizational system with three levels of categories from general to specific" + }, + { + "word": "standardized naming conventions", + "definition": "Consistent rules everyone follows for naming files and folders" + }, + { + "word": "course prefixes", + "definition": "Standard abbreviations added to file names to identify which class they belong to" + }, + { + "word": "descriptive content indicators", + "definition": "Keywords in file names that explain what type of work the file contains" + }, + { + "word": "workflow-specific directories", + "definition": "Folders organized around different stages of completing school work" + }, + { + "word": "version control", + "definition": "System for tracking different versions of the same document as it's revised" + }, + { + "word": "metadata consistency", + "definition": "Keeping file information (like names and organization) uniform and standardized" + }, + { + "word": "automated archival procedures", + "definition": "Systematic processes for moving old files to storage without manual work" + }, + { + "word": "academic records", + "definition": "Historical collection of school work and achievements for future reference" + } + ], + "answer_high_school": "Academic file organization systems must integrate INFORMATION ARCHITECTURE principles with collaborative workflow requirements and long-term knowledge management objectives. Design a MULTI-DIMENSIONAL TAXONOMY using /Year/Semester/Course/Type/Status/ hierarchies with CROSS-REFERENCING through symbolic links for interdisciplinary projects. Implement SEMANTIC VERSIONING (major.minor.patch) for iterative assignments and utilize CONTENT-BASED ORGANIZATION with tagged metadata for enhanced searchability. Establish AUTOMATED WORKFLOWS through naming conventions that enable script-based processing, backup automation, and grade tracking integration. Create COLLABORATIVE SPACES with shared directories using access control for group projects while maintaining individual accountability through personal workspace isolation. Implement LIFECYCLE MANAGEMENT with staged progression (Draft → Review → Final → Archive) and establish REDUNDANCY STRATEGIES through cloud synchronization and periodic local backups. Advanced features include citation management integration, plagiarism detection compatibility, and academic integrity audit trails that support scholarly research workflows.", + "vocab_high_school": [ + { + "word": "information architecture", + "definition": "Systematic design of how information is organized, labeled, and interconnected" + }, + { + "word": "multi-dimensional taxonomy", + "definition": "Classification system using multiple organizational criteria simultaneously" + }, + { + "word": "cross-referencing", + "definition": "Creating connections between related files in different locations" + }, + { + "word": "symbolic links", + "definition": "File system shortcuts that point to files stored in other locations" + }, + { + "word": "interdisciplinary projects", + "definition": "Academic work that combines knowledge and methods from multiple subjects" + }, + { + "word": "semantic versioning", + "definition": "Systematic numbering scheme that conveys meaning about version changes" + }, + { + "word": "content-based organization", + "definition": "File arrangement based on actual content rather than just location or date" + }, + { + "word": "tagged metadata", + "definition": "Descriptive labels attached to files for improved searching and categorization" + }, + { + "word": "script-based processing", + "definition": "Automated file management using computer programs rather than manual work" + }, + { + "word": "access control", + "definition": "Security system determining who can read, modify, or share specific files" + }, + { + "word": "workspace isolation", + "definition": "Keeping individual work areas separate while allowing controlled sharing" + }, + { + "word": "lifecycle management", + "definition": "Systematic approach to handling files through different stages of completion" + }, + { + "word": "redundancy strategies", + "definition": "Multiple backup methods to ensure important files aren't lost" + }, + { + "word": "audit trails", + "definition": "Detailed records of who accessed or modified files and when" + } + ], + "answer_undergraduate": "Academic file organization requires ENTERPRISE-CLASS INFORMATION GOVERNANCE implementing hierarchical namespace management with semantic enrichment and collaborative workflow optimization. Design ONTOLOGICAL CLASSIFICATION schemes incorporating domain-specific vocabularies, temporal versioning through GIT-BASED version control with branching strategies for parallel development, and CONTENT-ADDRESSABLE STORAGE enabling deduplication and integrity verification through cryptographic hashing. Implement AUTOMATED METADATA EXTRACTION using natural language processing for content classification, bibliographic parsing for citation management, and FEDERATED SEARCH capabilities across distributed academic repositories. Establish POLICY-DRIVEN ARCHIVAL with retention scheduling based on academic requirements, GDPR compliance for personal data management, and PROVENANCE TRACKING for research integrity documentation. Advanced features include MACHINE-READABLE ANNOTATIONS using RDF/OWL ontologies, integration with institutional repositories through OAI-PMH protocols, and BLOCKCHAIN-BASED authenticity verification for academic credentials and research outputs, creating comprehensive digital scholarship infrastructures supporting reproducible research and open science initiatives.", + "vocab_undergraduate": [ + { + "word": "enterprise-class information governance", + "definition": "Professional-level systems for managing organizational data with policies and controls" + }, + { + "word": "ontological classification", + "definition": "Systematic categorization based on formal knowledge representation and concept relationships" + }, + { + "word": "semantic enrichment", + "definition": "Adding meaning and context to data beyond basic organizational structure" + }, + { + "word": "git-based version control", + "definition": "Sophisticated system for tracking and managing changes to files over time" + }, + { + "word": "branching strategies", + "definition": "Methods for creating parallel development paths that can be merged later" + }, + { + "word": "content-addressable storage", + "definition": "System where files are located by their content rather than their name or location" + }, + { + "word": "deduplication", + "definition": "Process of eliminating duplicate data to save storage space and ensure consistency" + }, + { + "word": "cryptographic hashing", + "definition": "Mathematical functions that create unique fingerprints for data verification" + }, + { + "word": "natural language processing", + "definition": "Computer techniques for understanding and analyzing human language in documents" + }, + { + "word": "bibliographic parsing", + "definition": "Automated extraction and organization of citation information from academic texts" + }, + { + "word": "federated search", + "definition": "Ability to search across multiple databases and repositories simultaneously" + }, + { + "word": "policy-driven archival", + "definition": "Automated file management based on predefined rules and institutional requirements" + }, + { + "word": "GDPR compliance", + "definition": "Adherence to European data protection regulations for personal information handling" + }, + { + "word": "provenance tracking", + "definition": "Recording the complete history and origin of data including all modifications" + }, + { + "word": "machine-readable annotations", + "definition": "Structured metadata that computers can automatically process and understand" + }, + { + "word": "OAI-PMH protocols", + "definition": "Open Archives Initiative standards for sharing academic metadata across institutions" + }, + { + "word": "blockchain-based verification", + "definition": "Using distributed ledger technology to ensure document authenticity and integrity" + } + ], + "topics": [ + "file organization", + "academic workflows", + "information architecture", + "data management", + "version control" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/files/design-efficient-file-organization.yml", + compiledAt: "2026-02-23T00:32:17.163Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/files/discuss-file-naming-conventions.yml': { + module: { + "id": 3, + "question": "Discuss file naming conventions and the role of the file extension", + "answer": "File naming conventions establish consistent, descriptive practices including meaningful names, version tokens, and avoiding problematic characters like spaces or special symbols. Good conventions use clear descriptive terms, standardized date formats (YYYY-MM-DD), and version suffixes (v1, v2) for clarity. File extensions serve as critical format indicators that signal to operating systems and applications how to associate, parse, and process files - they determine which program opens a file and how data is interpreted, making them essential for proper file handling across different systems and platforms.", + "vocab_answer": [ + { + "word": "file naming conventions", + "definition": "Standardized rules and practices for naming files to ensure consistency and clarity" + }, + { + "word": "version tokens", + "definition": "Standardized markers (like v1, v2, or dates) added to filenames to track different versions" + }, + { + "word": "file extension", + "definition": "Suffix at the end of a filename (like .txt or .jpg) that indicates the file format" + }, + { + "word": "format indicators", + "definition": "Signals that tell systems what type of data a file contains and how to process it" + }, + { + "word": "file association", + "definition": "System that links file extensions to specific applications that can open them" + }, + { + "word": "parse", + "definition": "Process of analyzing and interpreting the structure and content of a file" + }, + { + "word": "problematic characters", + "definition": "Special symbols that can cause errors in file systems, like spaces, slashes, or asterisks" + } + ], + "answer_kindergarten": "Naming files is like putting labels on your toy boxes! You want to use names that tell you exactly what's inside - like 'LEGO blocks' instead of just 'stuff.' The FILE EXTENSION is like a special sticker at the end that tells your computer what kind of file it is. For example, '.jpg' means it's a picture, '.mp3' means it's a song, and '.doc' means it's a document with words. Just like you wouldn't put your crayons in a box labeled 'blocks,' you want to name your files so everyone knows what they are!", + "vocab_kindergarten": [ + { + "word": "naming files", + "definition": "Giving files good names so you know what's inside them, like labeling toy boxes" + }, + { + "word": "file extension", + "definition": "Special letters at the end of a file name that tell the computer what type of file it is" + }, + { + "word": "labels", + "definition": "Names or stickers that tell you what something is or what's inside" + }, + { + "word": "pictures", + "definition": "Files that show photos, drawings, or images on the computer" + }, + { + "word": "songs", + "definition": "Files that play music or sounds when you open them" + }, + { + "word": "documents", + "definition": "Files with words and text that you can read and edit" + } + ], + "answer_3rd_grade": "File naming is like creating a good filing system for your school papers - you need consistent rules so anyone can find what they're looking for! Good naming conventions include using DESCRIPTIVE WORDS (like 'Math-Homework-Chapter5' instead of 'homework'), adding DATES in a standard format (2024-03-15), avoiding spaces and weird symbols that confuse computers, and using VERSION NUMBERS (like v1, v2) when you make changes. The FILE EXTENSION is super important - it's like a tag that tells the computer 'this is a Word document (.docx)' or 'this is a picture (.png)' so it knows which program to use to open it. Without the right extension, your computer might not know how to open your file!", + "vocab_3rd_grade": [ + { + "word": "filing system", + "definition": "Organized way of storing and arranging papers or files so they're easy to find" + }, + { + "word": "descriptive words", + "definition": "Names that clearly explain what something is or what it contains" + }, + { + "word": "standard format", + "definition": "Consistent way of writing something (like dates) so everyone understands it the same way" + }, + { + "word": "version numbers", + "definition": "Numbers or codes that show which copy of a file is the newest or most recent" + }, + { + "word": "file extension", + "definition": "Letters after the dot in a filename that tell the computer what type of file it is" + }, + { + "word": "program", + "definition": "Software application that can open and work with specific types of files" + } + ], + "answer_7th_grade": "Effective file naming conventions create systematic approaches to digital organization that enhance productivity and collaboration. Best practices include SEMANTIC NAMING using descriptive terminology that conveys content and purpose, TEMPORAL ORGANIZATION through standardized date formats (ISO 8601: YYYY-MM-DD) enabling chronological sorting, CHARACTER RESTRICTIONS avoiding reserved symbols and spaces that cause pathname parsing errors, and VERSIONING SCHEMAS using consistent suffixes (v1.0, v2.1) or semantic versioning for change tracking. File extensions function as MIME type indicators, providing metadata about file format and content structure that enables automatic application association, data interpretation, and cross-platform compatibility. Extensions like .pdf, .docx, and .mp4 contain implicit instructions about required codecs, rendering engines, and processing workflows, making them essential for seamless digital document exchange.", + "vocab_7th_grade": [ + { + "word": "semantic naming", + "definition": "Using meaningful words in filenames that clearly describe the content or purpose" + }, + { + "word": "temporal organization", + "definition": "Arranging files based on time relationships using dates and chronological order" + }, + { + "word": "ISO 8601", + "definition": "International standard for writing dates as YYYY-MM-DD for consistent global understanding" + }, + { + "word": "pathname parsing", + "definition": "Process by which computer systems interpret and navigate file location addresses" + }, + { + "word": "versioning schemas", + "definition": "Systematic approaches for tracking different versions of files with numbered sequences" + }, + { + "word": "MIME type indicators", + "definition": "Standardized labels that identify the format and nature of file contents" + }, + { + "word": "cross-platform compatibility", + "definition": "Ability for files to work correctly across different operating systems and devices" + }, + { + "word": "codecs", + "definition": "Software that can encode or decode specific file formats (like video or audio)" + }, + { + "word": "rendering engines", + "definition": "Programs that convert file data into visual or audible output for users" + }, + { + "word": "document exchange", + "definition": "Process of sharing files between different people, systems, or organizations" + } + ], + "answer_high_school": "File naming conventions embody information architecture principles that optimize both human cognitive processing and automated system operations. Sophisticated naming strategies incorporate HIERARCHICAL CATEGORIZATION through prefix systems, METADATA EMBEDDING within filenames for enhanced searchability, COLLISION AVOIDANCE through unique identifiers and timestamp precision, and INTERNATIONALIZATION considerations for unicode character support and localization requirements. File extensions represent CONTENT TYPE DECLARATIONS that invoke specific handler applications through registry associations, enable format validation and security scanning, and facilitate automated workflow processing. Modern systems extend basic extension concepts through compound extensions (.tar.gz), MIME type mappings, and content inspection algorithms that verify format consistency, while advanced users leverage naming patterns for batch processing, automated organization scripts, and integration with version control systems.", + "vocab_high_school": [ + { + "word": "information architecture", + "definition": "Systematic design of how information is organized, labeled, and interconnected" + }, + { + "word": "hierarchical categorization", + "definition": "Multi-level classification system with main categories and subcategories" + }, + { + "word": "metadata embedding", + "definition": "Including descriptive information directly within filenames for easier searching" + }, + { + "word": "collision avoidance", + "definition": "Preventing multiple files from having identical names that would cause conflicts" + }, + { + "word": "internationalization", + "definition": "Designing systems to work correctly with different languages and character sets" + }, + { + "word": "unicode character support", + "definition": "Ability to handle letters, symbols, and characters from all world languages" + }, + { + "word": "content type declarations", + "definition": "Formal statements about what kind of data a file contains" + }, + { + "word": "registry associations", + "definition": "System database that links file extensions to appropriate application programs" + }, + { + "word": "format validation", + "definition": "Checking that file contents actually match what the extension claims they are" + }, + { + "word": "compound extensions", + "definition": "Multiple file extensions combined (like .tar.gz) to indicate complex file processing" + }, + { + "word": "content inspection algorithms", + "definition": "Automated methods for examining file contents to verify format and detect problems" + }, + { + "word": "batch processing", + "definition": "Automated operations performed on multiple files simultaneously" + } + ], + "answer_undergraduate": "File naming taxonomies implement semantic information systems that bridge human conceptual frameworks with computational processing requirements through structured namespace management. Advanced conventions utilize ONTOLOGICAL CLASSIFICATION schemes incorporating domain-specific vocabularies, PROVENANCE TRACKING through embedded metadata indicating authorship and modification history, CONTENT-ADDRESSABLE NAMING where filenames derive from cryptographic hashes ensuring integrity verification, and SCHEMA EVOLUTION strategies enabling backward compatibility during naming convention updates. File extension mechanisms function as TYPE SYSTEM INTERFACES providing contract specifications for data interpretation, enabling polymorphic application behavior based on format-specific processing pipelines. Contemporary implementations leverage MAGIC NUMBER validation to verify extension authenticity, employ CONTENT NEGOTIATION protocols for format-agnostic resource access, and integrate with SEMANTIC WEB technologies through RDF-based metadata annotation and SPARQL-queryable file property databases.", + "vocab_undergraduate": [ + { + "word": "semantic information systems", + "definition": "Computational frameworks that organize and process information based on meaning and relationships" + }, + { + "word": "ontological classification", + "definition": "Systematic categorization based on formal knowledge representation and concept relationships" + }, + { + "word": "domain-specific vocabularies", + "definition": "Specialized terminologies and naming conventions used within particular fields or disciplines" + }, + { + "word": "provenance tracking", + "definition": "Recording the complete history and origin of data including all modifications and transformations" + }, + { + "word": "content-addressable naming", + "definition": "File identification system where names are generated from the actual content using mathematical functions" + }, + { + "word": "cryptographic hashes", + "definition": "Mathematical functions that convert data into unique fingerprints for verification and identification" + }, + { + "word": "schema evolution", + "definition": "Systematic process for updating data organization systems while maintaining compatibility" + }, + { + "word": "type system interfaces", + "definition": "Programming contracts that specify how different data formats should be handled and processed" + }, + { + "word": "polymorphic application behavior", + "definition": "Software ability to process different file types using format-appropriate methods automatically" + }, + { + "word": "magic number validation", + "definition": "Checking special byte sequences at file beginnings to verify actual format matches extension" + }, + { + "word": "content negotiation protocols", + "definition": "Communication methods for selecting appropriate file formats based on client capabilities" + }, + { + "word": "semantic web technologies", + "definition": "Standards and tools for creating machine-readable web content with embedded meaning" + }, + { + "word": "RDF-based metadata", + "definition": "Resource Description Framework annotations that add structured meaning to file properties" + }, + { + "word": "SPARQL-queryable databases", + "definition": "Data stores that can be searched using SPARQL query language for semantic information retrieval" + } + ], + "topics": [ + "file naming", + "file extensions", + "file organization", + "metadata", + "file systems" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/files/discuss-file-naming-conventions.yml", + compiledAt: "2026-02-23T00:32:17.164Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/files/explain-absolute-vs-relative-paths.yml': { + module: { + "id": 4, + "question": "Explain the difference between an absolute path and a relative path", + "answer": "An absolute path provides the complete location from the root directory or drive, specifying the full address regardless of current working directory (e.g., C:\\Users\\John\\Documents\\file.txt or /home/john/documents/file.txt). A relative path expresses location relative to the current working directory or uses parent directory references, making it dependent on context (e.g., ../documents/file.txt or documents/file.txt). Absolute paths ensure consistent file access from any location but are less portable, while relative paths offer flexibility and portability but require knowledge of the current directory context.", + "vocab_answer": [ + { + "word": "absolute path", + "definition": "Complete file location from the root directory, providing full address regardless of current location" + }, + { + "word": "relative path", + "definition": "File location expressed relative to the current working directory or using directory references" + }, + { + "word": "root directory", + "definition": "Top-level directory in a file system hierarchy, from which all other directories branch" + }, + { + "word": "current working directory", + "definition": "The directory location where a user or program is currently operating" + }, + { + "word": "parent directory references", + "definition": "Special symbols (like ..) that refer to directories above the current location in the hierarchy" + }, + { + "word": "portability", + "definition": "Ability to move or use files across different systems or locations without modification" + }, + { + "word": "directory context", + "definition": "Understanding of where you are currently located within the file system hierarchy" + } + ], + "answer_kindergarten": "Think of finding your way around like giving directions! An ABSOLUTE PATH is like giving someone your complete address: '123 Main Street, Your Town, Your State' - it tells them exactly where to go no matter where they start from. A RELATIVE PATH is like saying 'go to the house next door' or 'walk two houses down the street' - these directions only make sense if you know where the person is starting from! In computers, absolute paths start from the very beginning (like the computer's main folder) and tell you the whole way to find a file. Relative paths start from wherever you are right now and give directions from there.", + "vocab_kindergarten": [ + { + "word": "absolute path", + "definition": "Complete directions to find a file, starting from the very beginning of the computer" + }, + { + "word": "relative path", + "definition": "Directions to find a file starting from wherever you are right now" + }, + { + "word": "address", + "definition": "Complete location information that tells exactly where something is" + }, + { + "word": "directions", + "definition": "Instructions that tell you how to get from one place to another" + }, + { + "word": "main folder", + "definition": "The biggest, most important folder that contains all other folders on a computer" + }, + { + "word": "starting from", + "definition": "Beginning at a particular place before going somewhere else" + } + ], + "answer_3rd_grade": "File paths are like addresses for computer files! An ABSOLUTE PATH is like a complete mailing address - it includes everything from the country down to the house number, so anyone in the world can find it. For example: 'C:\\Users\\Sarah\\Pictures\\vacation.jpg' tells you exactly where to find the vacation picture starting from the C: drive. A RELATIVE PATH is like giving directions to someone who's already in your neighborhood - you might say 'go to the Pictures folder, then find vacation.jpg' because you assume they're starting from Sarah's folder. Relative paths use special shortcuts like '..' to mean 'go up one folder' and '.' to mean 'stay in this folder.' Absolute paths always work the same way, but relative paths depend on where you're starting from!", + "vocab_3rd_grade": [ + { + "word": "absolute path", + "definition": "Complete address for a file that works from anywhere on the computer" + }, + { + "word": "relative path", + "definition": "Directions to a file that depend on where you're currently located" + }, + { + "word": "mailing address", + "definition": "Complete location information including street, city, and state" + }, + { + "word": "C: drive", + "definition": "Main storage area on Windows computers, like the biggest folder that holds everything" + }, + { + "word": "shortcuts", + "definition": "Special symbols that represent common navigation actions" + }, + { + "word": "starting from", + "definition": "The location where you begin looking for a file" + } + ], + "answer_7th_grade": "Path notation systems provide two fundamental approaches for specifying file locations within hierarchical directory structures. ABSOLUTE PATHS utilize FULLY QUALIFIED NAMES starting from filesystem root nodes (Windows: C:\\, Unix: /) and enumerate complete directory traversal sequences, ensuring LOCATION INDEPENDENCE regardless of current working directory context. Examples include /usr/local/bin/program or C:\\Program Files\\Application\\config.txt. RELATIVE PATHS employ CONTEXT-DEPENDENT ADDRESSING using current directory as reference point, incorporating navigation operators like '../' for parent directory traversal and './' for current directory specification. Relative addressing enables PORTABLE REFERENCES that maintain validity across different mounting points and user environments, making them essential for software distribution and collaborative development workflows where absolute paths would create system-specific dependencies.", + "vocab_7th_grade": [ + { + "word": "path notation systems", + "definition": "Standardized ways of writing file and directory locations in computer systems" + }, + { + "word": "fully qualified names", + "definition": "Complete, unambiguous identifiers that specify exact locations from the filesystem root" + }, + { + "word": "filesystem root nodes", + "definition": "Top-level starting points of directory hierarchies in different operating systems" + }, + { + "word": "directory traversal sequences", + "definition": "Step-by-step navigation paths through folder hierarchies" + }, + { + "word": "location independence", + "definition": "Property of file references that work regardless of where they're accessed from" + }, + { + "word": "context-dependent addressing", + "definition": "File location methods that rely on the current directory position for interpretation" + }, + { + "word": "navigation operators", + "definition": "Special symbols used to move between directories (like .. for up, . for current)" + }, + { + "word": "portable references", + "definition": "File paths that work correctly when moved between different systems or locations" + }, + { + "word": "mounting points", + "definition": "Locations where storage devices or network drives are attached to the directory tree" + }, + { + "word": "system-specific dependencies", + "definition": "Requirements that only work on particular computers or operating systems" + } + ], + "answer_high_school": "Path resolution mechanisms implement namespace addressing through two complementary paradigms that balance universality with contextual efficiency. ABSOLUTE PATHS provide CANONICAL REFERENCES utilizing complete URI-style specifications from filesystem mount points, enabling unambiguous resource location across distributed systems and ensuring REFERENTIAL INTEGRITY independent of execution context. These paths incorporate drive letters (Windows), mount point prefixes (Unix), or network addresses (UNC) for comprehensive resource identification. RELATIVE PATHS implement LEXICAL SCOPING through dot-notation and parent directory traversal, facilitating MODULAR DESIGN patterns where code and configuration remain environment-agnostic. Advanced path resolution involves SYMBOLIC LINK dereferencing, JUNCTION POINT traversal, and ALIAS RESOLUTION, while security considerations include PATH TRAVERSAL ATTACK mitigation and CANONICAL FORM validation to prevent directory escape vulnerabilities in web applications and sandboxed environments.", + "vocab_high_school": [ + { + "word": "namespace addressing", + "definition": "System for uniquely identifying and locating resources within organized hierarchies" + }, + { + "word": "canonical references", + "definition": "Standard, authoritative forms of resource identifiers that resolve ambiguity" + }, + { + "word": "URI-style specifications", + "definition": "Uniform Resource Identifier format for consistently describing resource locations" + }, + { + "word": "referential integrity", + "definition": "Guarantee that references to resources remain valid and consistent" + }, + { + "word": "UNC", + "definition": "Universal Naming Convention for accessing network resources using \\\\server\\share format" + }, + { + "word": "lexical scoping", + "definition": "Context-based interpretation where meaning depends on surrounding scope or location" + }, + { + "word": "modular design patterns", + "definition": "Software architecture approaches emphasizing reusable, interchangeable components" + }, + { + "word": "environment-agnostic", + "definition": "Code that works correctly across different systems without modification" + }, + { + "word": "symbolic link dereferencing", + "definition": "Process of following symbolic links to their actual target files or directories" + }, + { + "word": "junction point traversal", + "definition": "Navigation through Windows filesystem junction points that redirect to other locations" + }, + { + "word": "alias resolution", + "definition": "Converting shortened or alternative names to their actual resource locations" + }, + { + "word": "path traversal attacks", + "definition": "Security exploits using relative paths to access unauthorized files (like ../../etc/passwd)" + }, + { + "word": "canonical form validation", + "definition": "Security process ensuring paths are in standard format to prevent bypass attempts" + }, + { + "word": "directory escape vulnerabilities", + "definition": "Security flaws allowing access to files outside intended directory boundaries" + } + ], + "answer_undergraduate": "Path specification architectures implement hierarchical namespace resolution through dual addressing modes that optimize for different computational and security requirements. ABSOLUTE PATHS provide INVARIANT RESOURCE LOCATORS utilizing complete filesystem graph traversal from designated root nodes, implementing STATELESS RESOLUTION protocols that eliminate dependency on execution context variables and enable IDEMPOTENT OPERATIONS across distributed computing environments. Implementation involves INODE RESOLUTION chains, DEVICE MOUNT TABLE lookups, and VIRTUAL FILESYSTEM layer translation for cross-platform compatibility. RELATIVE PATHS implement CONTEXT-SENSITIVE ADDRESSING leveraging lexical scoping principles and enabling COMPOSITIONAL SEMANTICS where path components combine systematically. Advanced implementations incorporate CAPABILITY-BASED SECURITY models where relative paths operate within CONFINED NAMESPACES, preventing privilege escalation through DIRECTORY TRAVERSAL CONSTRAINTS and implementing PRINCIPLE OF LEAST AUTHORITY through scoped filesystem access patterns in containerized and sandboxed execution environments.", + "vocab_undergraduate": [ + { + "word": "hierarchical namespace resolution", + "definition": "Process of converting symbolic names to actual resources within tree-structured naming systems" + }, + { + "word": "invariant resource locators", + "definition": "File addresses that maintain consistent meaning regardless of system state changes" + }, + { + "word": "stateless resolution protocols", + "definition": "Address translation methods that don't depend on stored context or session information" + }, + { + "word": "idempotent operations", + "definition": "Actions that produce identical results regardless of how many times they're performed" + }, + { + "word": "INODE resolution chains", + "definition": "Filesystem process of following index node references to locate actual file data blocks" + }, + { + "word": "device mount table lookups", + "definition": "System queries to determine which storage devices are available at specific locations" + }, + { + "word": "virtual filesystem layer", + "definition": "Abstraction layer that provides uniform interface across different filesystem types" + }, + { + "word": "compositional semantics", + "definition": "Property where complex expressions' meanings derive systematically from their component parts" + }, + { + "word": "capability-based security", + "definition": "Access control model where permissions are granted through unforgeable tokens or capabilities" + }, + { + "word": "confined namespaces", + "definition": "Restricted naming environments that limit access to specific portions of the filesystem" + }, + { + "word": "directory traversal constraints", + "definition": "Security restrictions preventing unauthorized navigation outside permitted directory boundaries" + }, + { + "word": "principle of least authority", + "definition": "Security principle granting only minimal permissions necessary to accomplish specific tasks" + }, + { + "word": "containerized execution environments", + "definition": "Isolated runtime contexts where applications run with restricted system access" + } + ], + "topics": [ + "file paths", + "directory navigation", + "file systems", + "path resolution", + "relative addressing" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/files/explain-absolute-vs-relative-paths.yml", + compiledAt: "2026-02-23T00:32:17.165Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/files/explain-logical-vs-physical-storage.yml': { + module: { + "id": 5, + "question": "Explain the difference between the logical and physical storage models for a file", + "answer": "The logical storage model presents files as hierarchical directory structures with human-readable names and folders that users navigate, providing an abstraction that matches human organizational thinking. The physical storage model represents the actual block-level locations on storage devices where file data is stored, managed by filesystem drivers and hardware translation layers that handle wear leveling on SSDs, defragmentation on HDDs, and mapping between logical addresses and physical sectors. This separation allows users to work with intuitive file organization while the system optimizes actual storage for performance, reliability, and hardware-specific requirements.", + "vocab_answer": [ + { + "word": "logical storage model", + "definition": "User-facing representation of files as organized hierarchies of folders and filenames" + }, + { + "word": "physical storage model", + "definition": "Actual arrangement of data blocks on storage hardware managed by low-level systems" + }, + { + "word": "hierarchical directory", + "definition": "Tree-like organization of folders and subfolders that create logical file relationships" + }, + { + "word": "abstraction", + "definition": "Simplified representation that hides complex underlying implementation details" + }, + { + "word": "block-level locations", + "definition": "Specific physical addresses where data is actually stored on storage devices" + }, + { + "word": "filesystem drivers", + "definition": "Software that translates between logical file operations and physical storage commands" + }, + { + "word": "hardware translation layers", + "definition": "System components that convert logical addresses to actual physical storage locations" + }, + { + "word": "wear leveling", + "definition": "SSD technique that distributes write operations evenly to extend device lifespan" + }, + { + "word": "defragmentation", + "definition": "Process of reorganizing HDD data to store file pieces contiguously for better performance" + } + ], + "answer_kindergarten": "Think of your computer files like books in a library! The LOGICAL MODEL is what you see - books organized on shelves by subject, with clear labels and sections that make sense to you. You can walk around and find the 'Animal Books' section or the 'Story Books' section. The PHYSICAL MODEL is like how the library actually stores the books - maybe some books are in the basement, some are on different floors, and some might even be stored in boxes in the back room. The library has a special system to remember where each book really is, but you don't need to worry about that - you just look for books by section and the library finds them for you!", + "vocab_kindergarten": [ + { + "word": "logical model", + "definition": "How files appear organized to you, like books arranged on library shelves by topic" + }, + { + "word": "physical model", + "definition": "Where files are actually stored on the computer, like books in different rooms of a library" + }, + { + "word": "organized", + "definition": "Arranged in a neat, logical way that makes sense and is easy to understand" + }, + { + "word": "sections", + "definition": "Different areas or groups where similar things are kept together" + }, + { + "word": "special system", + "definition": "Computer's way of keeping track of where everything is really stored" + }, + { + "word": "library", + "definition": "Place where books are stored and organized so people can find what they need" + } + ], + "answer_3rd_grade": "Files on your computer work like a magic filing cabinet! The LOGICAL MODEL is what you see when you open folders on your computer - everything looks organized in folders with names like 'Pictures,' 'Documents,' and 'Music,' just like labeled drawers in a filing cabinet. But the PHYSICAL MODEL is how your computer actually stores the file pieces on the hard drive - your vacation photo might actually be split into tiny pieces scattered all over the disk! Your computer keeps a special 'map' that remembers where all these pieces are stored, so when you click on 'vacation.jpg,' it can quickly gather all the pieces and show you the complete picture. This system lets you organize files the way that makes sense to you, while the computer organizes them the way that makes the hard drive work efficiently.", + "vocab_3rd_grade": [ + { + "word": "logical model", + "definition": "How files and folders appear organized on your computer screen" + }, + { + "word": "physical model", + "definition": "How file data is actually arranged on the storage device" + }, + { + "word": "filing cabinet", + "definition": "Furniture with drawers for organizing and storing papers and documents" + }, + { + "word": "scattered", + "definition": "Spread out in different places instead of being kept together" + }, + { + "word": "special map", + "definition": "Computer's system for remembering where all the file pieces are actually stored" + }, + { + "word": "efficiently", + "definition": "In a way that works well and doesn't waste time or space" + } + ], + "answer_7th_grade": "File storage systems implement dual-layer architectures separating user-facing organization from hardware optimization. The LOGICAL MODEL provides NAMESPACE ABSTRACTION through hierarchical directory trees with human-readable paths, file metadata, and permission systems that create intuitive organizational structures independent of physical constraints. The PHYSICAL MODEL manages actual DATA PLACEMENT through block allocation algorithms, sector mapping, and device-specific optimizations like SSD wear leveling that distributes writes evenly across memory cells, or HDD cylinder optimization that minimizes seek times. FILESYSTEM DRIVERS maintain LOGICAL-TO-PHYSICAL MAPPING tables (like FAT or inode structures) that translate user file operations into low-level storage commands, enabling features like file fragmentation handling, bad sector remapping, and performance optimization through techniques like prefetching and caching while preserving the logical organization users expect.", + "vocab_7th_grade": [ + { + "word": "dual-layer architectures", + "definition": "System design with separate user interface and hardware implementation layers" + }, + { + "word": "namespace abstraction", + "definition": "Simplified naming system that hides complex physical storage details from users" + }, + { + "word": "file metadata", + "definition": "Additional information about files like size, creation date, and permissions" + }, + { + "word": "physical constraints", + "definition": "Limitations imposed by actual hardware characteristics and capabilities" + }, + { + "word": "data placement", + "definition": "Decisions about where to physically store information on storage devices" + }, + { + "word": "block allocation algorithms", + "definition": "Methods for deciding which storage sectors to use for new file data" + }, + { + "word": "sector mapping", + "definition": "System that tracks which physical disk sectors contain which file data" + }, + { + "word": "cylinder optimization", + "definition": "HDD technique arranging data to minimize mechanical head movement for faster access" + }, + { + "word": "logical-to-physical mapping", + "definition": "Translation system connecting user file names to actual storage locations" + }, + { + "word": "file fragmentation", + "definition": "Condition where file data is stored in non-consecutive disk sectors" + }, + { + "word": "bad sector remapping", + "definition": "Process of marking damaged storage areas and redirecting data to working sectors" + }, + { + "word": "prefetching", + "definition": "Loading data into memory before it's requested to improve performance" + } + ], + "answer_high_school": "File storage architectures implement VIRTUALIZATION LAYERS that decouple user-visible organization from physical storage optimization through sophisticated mapping and translation mechanisms. The LOGICAL MODEL provides POSIX-compliant namespace hierarchies with metadata-rich directory entries, access control matrices, and semantic organizational structures that abstract storage complexity while maintaining human cognitive compatibility. The PHYSICAL MODEL encompasses BLOCK-LEVEL MANAGEMENT including extent-based allocation for reducing fragmentation, copy-on-write semantics for efficient snapshots, and STORAGE VIRTUALIZATION through techniques like thin provisioning and tiered storage that optimize cost and performance. Modern implementations utilize HYBRID APPROACHES combining filesystem journaling for consistency, compression algorithms for space efficiency, and INTELLIGENT CACHING systems that predict access patterns, while maintaining strict separation between logical addressing (inode numbers, directory entries) and physical addressing (LBA ranges, sector coordinates) to enable advanced features like online defragmentation and transparent encryption.", + "vocab_high_school": [ + { + "word": "virtualization layers", + "definition": "Software abstractions that separate user interfaces from underlying hardware implementations" + }, + { + "word": "POSIX-compliant", + "definition": "Following standardized Unix-like filesystem interfaces for cross-platform compatibility" + }, + { + "word": "metadata-rich directory entries", + "definition": "File system records containing extensive information beyond just names and locations" + }, + { + "word": "access control matrices", + "definition": "Permission systems specifying who can perform which operations on files" + }, + { + "word": "cognitive compatibility", + "definition": "Design that matches human thinking patterns and organizational preferences" + }, + { + "word": "extent-based allocation", + "definition": "Storage method grouping related data blocks together for improved performance" + }, + { + "word": "copy-on-write semantics", + "definition": "Technique where data is only duplicated when modifications are made" + }, + { + "word": "thin provisioning", + "definition": "Storage allocation method that assigns capacity only when actually used" + }, + { + "word": "tiered storage", + "definition": "Multi-level storage hierarchy combining different performance and cost characteristics" + }, + { + "word": "filesystem journaling", + "definition": "Logging system that records changes before applying them for crash recovery" + }, + { + "word": "intelligent caching", + "definition": "Smart memory management that anticipates which data will be needed" + }, + { + "word": "logical addressing", + "definition": "Abstract numbering system for files that's independent of physical storage layout" + }, + { + "word": "LBA ranges", + "definition": "Logical Block Addressing system using sequential numbers for disk sectors" + }, + { + "word": "online defragmentation", + "definition": "Process of reorganizing file storage while the system continues operating" + }, + { + "word": "transparent encryption", + "definition": "Automatic data protection that occurs without user intervention or awareness" + } + ], + "answer_undergraduate": "File system architectures implement MULTI-LEVEL INDIRECTION schemes that virtualize storage resources through sophisticated mapping hierarchies separating logical namespace semantics from physical storage substrate characteristics. The LOGICAL MODEL encompasses HIGH-LEVEL ABSTRACTIONS including DCMS (Directory, Catalog, Management, Security) frameworks, semantic tagging systems, and content-addressable naming schemes that provide user-centric organization paradigms while maintaining referential integrity across distributed storage environments. The PHYSICAL MODEL implements LOW-LEVEL OPTIMIZATIONS through FLASH TRANSLATION LAYERS managing wear leveling algorithms, garbage collection protocols, and bad block management, plus traditional HDD optimization including elevator algorithms, cylinder group clustering, and extent-based allocation strategies. Advanced implementations utilize COPY-ON-WRITE B-TREES (like ZFS or Btrfs) with MERKLE TREE validation for data integrity, LOG-STRUCTURED FILE SYSTEMS for write optimization, and OBJECT STORAGE ABSTRACTIONS that eliminate traditional filesystem limitations while providing scalable, distributed storage architectures with eventual consistency guarantees and Byzantine fault tolerance.", + "vocab_undergraduate": [ + { + "word": "multi-level indirection", + "definition": "Storage architecture using multiple layers of abstraction and address translation" + }, + { + "word": "storage substrate characteristics", + "definition": "Physical properties and constraints of underlying storage hardware technologies" + }, + { + "word": "DCMS frameworks", + "definition": "Directory, Catalog, Management, Security systems providing comprehensive file organization" + }, + { + "word": "content-addressable naming", + "definition": "File identification system where names are derived from actual content hashes" + }, + { + "word": "referential integrity", + "definition": "Guarantee that all file references remain valid and consistent across operations" + }, + { + "word": "flash translation layers", + "definition": "Software that manages the complexity of NAND flash memory for filesystem use" + }, + { + "word": "garbage collection protocols", + "definition": "Algorithms for reclaiming space from deleted or modified data in flash storage" + }, + { + "word": "elevator algorithms", + "definition": "Disk scheduling methods that optimize head movement patterns like elevator operation" + }, + { + "word": "cylinder group clustering", + "definition": "HDD optimization technique grouping related data within physical disk regions" + }, + { + "word": "copy-on-write B-trees", + "definition": "Advanced data structures that efficiently handle modifications without overwriting original data" + }, + { + "word": "Merkle tree validation", + "definition": "Cryptographic verification system using hash trees to detect data corruption" + }, + { + "word": "log-structured file systems", + "definition": "Storage architecture treating entire disk as circular log for write optimization" + }, + { + "word": "object storage abstractions", + "definition": "Storage model treating files as objects with metadata rather than hierarchical files" + }, + { + "word": "eventual consistency guarantees", + "definition": "Distributed system property where all nodes will eventually converge to consistent state" + }, + { + "word": "Byzantine fault tolerance", + "definition": "System resilience against arbitrary failures including malicious behavior" + } + ], + "topics": [ + "logical storage", + "physical storage", + "file systems", + "storage abstraction", + "data organization" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/files/explain-logical-vs-physical-storage.yml", + compiledAt: "2026-02-23T00:32:17.166Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/discuss-storage-technology-strengths.yml': { + module: { + "id": 1, + "question": "Discuss the relative strengths and weaknesses of magnetic, optical, and solid-state storage technology", + "answer": "Magnetic storage (HDDs) offers high capacity and low cost per gigabyte, making it excellent for mass storage, but suffers from slower seek times due to mechanical components and susceptibility to physical wear and shock. Optical storage (DVD/Blu-ray) provides removable media ideal for archiving and distribution, with good longevity when properly stored, but has slower access speeds, limited rewrite cycles, and lower capacity compared to modern alternatives. Solid-state storage (SSDs/NVMe) delivers exceptional speed, shock resistance, and low latency with no moving parts, but comes at higher cost per gigabyte and has finite write endurance, though these limitations are rapidly improving with technological advances.", + "vocab_answer": [ + { + "word": "magnetic storage", + "definition": "Storage technology using magnetized surfaces to store data, such as hard disk drives (HDDs)" + }, + { + "word": "optical storage", + "definition": "Storage technology using laser light to read and write data on reflective surfaces, such as DVDs and Blu-ray discs" + }, + { + "word": "solid-state storage", + "definition": "Storage technology using flash memory with no moving parts, such as SSDs and NVMe drives" + }, + { + "word": "seek time", + "definition": "The time required for a storage device to locate and access specific data" + }, + { + "word": "mechanical components", + "definition": "Moving parts in storage devices, such as spinning disks and read/write heads in HDDs" + }, + { + "word": "rewrite cycles", + "definition": "The number of times data can be written to and erased from a storage medium before degradation" + }, + { + "word": "latency", + "definition": "The delay between requesting data and receiving it from storage" + }, + { + "word": "write endurance", + "definition": "The total amount of data that can be written to flash storage before it begins to fail" + } + ], + "answer_kindergarten": "There are three main ways computers remember things! MAGNETIC storage is like having a really big toy box (hard drive) that can hold tons of stuff, but it takes time to find what you want because it has to spin around. OPTICAL storage is like special shiny discs (DVDs) that you can take to other places, but they're slower and you can't put as much on them. SOLID-STATE storage is like super-fast memory (like in phones) that finds things instantly and never breaks when you drop it, but it costs more money to get the same amount of space!", + "vocab_kindergarten": [ + { + "word": "magnetic storage", + "definition": "A big spinning toy box inside computers that holds lots of files and programs" + }, + { + "word": "optical storage", + "definition": "Shiny round discs like DVDs that you can put movies and files on" + }, + { + "word": "solid-state storage", + "definition": "Super-fast memory with no moving parts, like what's inside phones and tablets" + }, + { + "word": "hard drive", + "definition": "A spinning disk inside computers that stores all your files and pictures" + }, + { + "word": "DVDs", + "definition": "Round, flat, shiny discs that can hold movies, music, or computer files" + }, + { + "word": "memory", + "definition": "The part of a computer that remembers and stores information" + } + ], + "answer_3rd_grade": "Computers use three different ways to store information! MAGNETIC storage (like hard drives) works like a spinning record player with tiny magnets. It can store lots of information cheaply, but because it spins and has moving parts, it takes time to find files and can break if dropped. OPTICAL storage (like DVDs and CDs) uses lasers to read and write on shiny discs. These are great because you can remove them and share them with friends, but they're slower and hold less information than hard drives. SOLID-STATE storage (like in smartphones) has no moving parts at all - it's all electronic! It's super fast and won't break if you drop it, but it costs more money for the same amount of storage space.", + "vocab_3rd_grade": [ + { + "word": "magnetic storage", + "definition": "Storage that uses tiny magnets on spinning disks to save information, like hard drives" + }, + { + "word": "optical storage", + "definition": "Storage that uses laser beams to read and write on shiny discs like DVDs and CDs" + }, + { + "word": "solid-state storage", + "definition": "Storage with no moving parts that uses electronic memory to save files super quickly" + }, + { + "word": "hard drives", + "definition": "Storage devices with spinning disks inside that hold lots of files and programs" + }, + { + "word": "moving parts", + "definition": "Pieces inside a device that spin, slide, or move around to do their job" + }, + { + "word": "electronic", + "definition": "Using electricity and computer chips instead of mechanical moving parts" + }, + { + "word": "storage space", + "definition": "How much information a device can hold, measured in gigabytes or terabytes" + } + ], + "answer_7th_grade": "Storage technologies each have distinct advantages and trade-offs. MAGNETIC storage (HDDs) uses magnetized particles on spinning platters with mechanical read/write heads, offering excellent cost-effectiveness and high capacity (multiple terabytes), but mechanical components create vulnerability to shock damage and slower random access due to rotational latency and head movement. OPTICAL storage (DVD, Blu-ray) employs laser diodes to create microscopic pits on reflective surfaces, providing removable media perfect for distribution and long-term archival, though sequential access patterns, limited rewrite capabilities, and lower storage density make them less suitable for primary storage. SOLID-STATE storage (SSDs, NVMe) utilizes NAND flash memory cells with no mechanical parts, delivering superior performance through parallel access, shock resistance, and near-instantaneous seek times, but higher manufacturing costs and finite program/erase cycles require wear-leveling algorithms to manage longevity.", + "vocab_7th_grade": [ + { + "word": "magnetized particles", + "definition": "Tiny magnetic domains on hard disk surfaces that can be aligned to represent data bits" + }, + { + "word": "platters", + "definition": "Spinning circular disks inside hard drives where data is magnetically stored" + }, + { + "word": "read/write heads", + "definition": "Tiny electromagnetic components that record and retrieve data from disk surfaces" + }, + { + "word": "rotational latency", + "definition": "Delay caused by waiting for the correct disk sector to spin under the read head" + }, + { + "word": "laser diodes", + "definition": "Focused light sources used to read and create data marks on optical media" + }, + { + "word": "microscopic pits", + "definition": "Tiny indentations burned into optical discs to represent digital data" + }, + { + "word": "storage density", + "definition": "Amount of data that can be stored per unit of physical space or area" + }, + { + "word": "NAND flash memory", + "definition": "Type of electronic storage that retains data without power using floating gate transistors" + }, + { + "word": "parallel access", + "definition": "Ability to read or write multiple data locations simultaneously for faster performance" + }, + { + "word": "program/erase cycles", + "definition": "Number of times flash memory cells can be written and erased before wearing out" + }, + { + "word": "wear-leveling algorithms", + "definition": "Software techniques that distribute write operations evenly across memory cells to extend lifespan" + } + ], + "answer_high_school": "Storage technology characteristics reflect fundamental physics and engineering trade-offs. MAGNETIC storage leverages ferromagnetic domains on rotating media, providing exceptional areal density and cost efficiency through mature manufacturing processes, but mechanical constraints impose latency penalties from seek operations and rotational positioning, plus vulnerability to head crashes and mechanical failure modes. OPTICAL storage exploits phase-change materials or dye layers with laser wavelength-specific reflectivity, offering write-once or phase-change rewritable capabilities ideal for tamper-evident archival and standardized interchange, though diffraction-limited spot sizes and sequential access patterns limit both capacity scaling and random I/O performance. SOLID-STATE storage employs floating-gate MOSFET arrays with quantum tunneling for charge storage, enabling massively parallel channel architectures and eliminate mechanical latencies, but electron trap degradation through program/erase cycling necessitates sophisticated error correction, over-provisioning, and wear management strategies to maintain data integrity and device longevity.", + "vocab_high_school": [ + { + "word": "ferromagnetic domains", + "definition": "Regions of magnetic material where atomic magnetic moments align in the same direction" + }, + { + "word": "areal density", + "definition": "Amount of data that can be stored per unit area of storage medium surface" + }, + { + "word": "seek operations", + "definition": "Physical movement of read/write heads to locate specific data tracks on disk surfaces" + }, + { + "word": "rotational positioning", + "definition": "Time required for desired data sector to rotate under the read/write head" + }, + { + "word": "head crashes", + "definition": "Physical contact between read/write heads and disk surface causing damage and data loss" + }, + { + "word": "phase-change materials", + "definition": "Substances that can switch between crystalline and amorphous states to store data" + }, + { + "word": "laser wavelength-specific", + "definition": "Properties that depend on the specific color/frequency of laser light used" + }, + { + "word": "diffraction-limited", + "definition": "Physical constraints on optical focus size due to the wave nature of light" + }, + { + "word": "random I/O performance", + "definition": "Speed of reading/writing data at non-sequential, scattered locations" + }, + { + "word": "floating-gate MOSFET", + "definition": "Transistor design that traps electrical charge to store data in flash memory" + }, + { + "word": "quantum tunneling", + "definition": "Physics phenomenon allowing electrons to pass through energy barriers in flash memory" + }, + { + "word": "parallel channel architectures", + "definition": "Multiple independent data pathways operating simultaneously for higher throughput" + }, + { + "word": "electron trap degradation", + "definition": "Gradual wear of flash memory cells' ability to retain electrical charge" + }, + { + "word": "over-provisioning", + "definition": "Allocating extra storage capacity beyond advertised space for wear management" + } + ], + "answer_undergraduate": "Storage technology paradigms demonstrate distinct physics-based performance envelopes and reliability characteristics. MAGNETIC storage exploits perpendicular magnetic anisotropy in thin-film multilayers with thermally-assisted recording to achieve sustainable areal densities approaching superparamagnetic limits, while mechanical actuator systems constrain random access patterns to millisecond timescales with power consumption scaling cubically with rotational velocity. OPTICAL storage systems utilize phase-change chalcogenide alloys or organic dye photobleaching with diffraction-limited focusing through high numerical aperture objectives, providing removable media with decade-plus archival stability but suffering from wavelength-dependent capacity scaling and fundamentally sequential access due to track geometry constraints. SOLID-STATE storage leverages charge-trap transistor arrays with floating-gate or charge-trap architectures, enabling highly parallel multi-level cell programming through Fowler-Nordheim tunneling and hot-electron injection, though endurance degradation from trap-assisted tunneling and retention loss mechanisms require sophisticated BCH/LDPC error correction and dynamic over-provisioning algorithms to maintain enterprise-grade reliability metrics.", + "vocab_undergraduate": [ + { + "word": "perpendicular magnetic anisotropy", + "definition": "Magnetic property where domains preferentially align perpendicular to the surface for higher density storage" + }, + { + "word": "thin-film multilayers", + "definition": "Stacked nanoscale layers of different materials with engineered magnetic and electronic properties" + }, + { + "word": "thermally-assisted recording", + "definition": "Technology using localized heating to temporarily reduce magnetic coercivity during writing" + }, + { + "word": "superparamagnetic limits", + "definition": "Physical boundaries where magnetic domains become too small to remain stable at room temperature" + }, + { + "word": "mechanical actuator systems", + "definition": "Precision positioning mechanisms that move read/write heads across disk surfaces" + }, + { + "word": "chalcogenide alloys", + "definition": "Semiconductor compounds containing sulfur, selenium, or tellurium used in phase-change memory" + }, + { + "word": "photobleaching", + "definition": "Irreversible chemical reaction where organic dyes lose their optical absorption properties" + }, + { + "word": "numerical aperture", + "definition": "Measure of optical system's light-gathering ability that determines focusing resolution" + }, + { + "word": "charge-trap transistor arrays", + "definition": "Grid arrangements of flash memory cells that store data as trapped electrical charge" + }, + { + "word": "multi-level cell programming", + "definition": "Technique storing multiple bits per cell using different charge levels" + }, + { + "word": "Fowler-Nordheim tunneling", + "definition": "Quantum mechanical process for injecting electrons through insulating barriers in flash memory" + }, + { + "word": "hot-electron injection", + "definition": "High-energy electron transfer mechanism used for programming flash memory cells" + }, + { + "word": "trap-assisted tunneling", + "definition": "Charge leakage mechanism through defect states that degrades flash memory retention" + }, + { + "word": "retention loss mechanisms", + "definition": "Physical processes that cause stored charge to gradually leak from memory cells" + }, + { + "word": "BCH/LDPC error correction", + "definition": "Advanced mathematical algorithms for detecting and correcting data storage errors" + }, + { + "word": "dynamic over-provisioning", + "definition": "Real-time allocation of spare storage capacity based on wear patterns and performance requirements" + } + ], + "topics": [ + "storage technology", + "magnetic storage", + "optical storage", + "solid-state storage", + "performance trade-offs" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/discuss-storage-technology-strengths.yml", + compiledAt: "2026-02-23T00:32:17.168Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/explain-cpu-vs-gpu.yml': { + module: { + "id": 9, + "question": "Explain how a CPU differs from a GPU", + "answer": "The CPU (Central Processing Unit) is designed for general-purpose computing with a few powerful cores that can handle complex instructions and make decisions quickly. It's optimized for sequential processing and can efficiently switch between different tasks. The GPU (Graphics Processing Unit) has hundreds or thousands of smaller, simpler cores designed for parallel processing. While each GPU core is less powerful than a CPU core, the GPU excels at performing many simple calculations simultaneously, making it ideal for tasks like rendering graphics, machine learning, and scientific computations that can be broken down into many parallel operations.", + "answer_kindergarten": "🧸 A CPU is like your brain - it's really smart and can think about one hard problem at a time. A GPU is like having lots of friends helping you - it's not as smart as your brain, but when you have many simple things to do (like coloring), all your friends can help at the same time and get it done super fast!", + "answer_3rd_grade": "📚 The CPU (Central Processing Unit) is the computer's main brain. It's really good at solving hard problems one at a time, like doing your math homework step by step. The GPU (Graphics Processing Unit) is like having a whole classroom of helpers. Each helper isn't as smart as the main brain, but when you need to do lots of simple things (like drawing all the pixels on your screen), having many helpers working together makes it much faster!", + "answer_7th_grade": "🤔 A CPU has a few very powerful cores (usually 4-16) that can handle complex tasks and make decisions quickly. It's designed for sequential processing - doing one thing after another really well. A GPU has hundreds or thousands of simpler cores that work in parallel. While each GPU core is weaker than a CPU core, having so many working together makes GPUs excellent for tasks that can be split into many simple operations, like rendering video games or processing large amounts of data.", + "answer_high_school": "🎓 The CPU (Central Processing Unit) uses a few powerful cores optimized for sequential processing and complex decision-making. It has features like branch prediction, out-of-order execution, and large caches to maximize performance on diverse workloads. The GPU (Graphics Processing Unit) uses a massively parallel architecture with thousands of simpler cores designed for throughput computing. GPUs excel at SIMD (Single Instruction, Multiple Data) operations where the same operation is performed on many data elements simultaneously, making them ideal for graphics rendering, machine learning, and scientific computing.", + "answer_undergraduate": "🧠 CPUs implement complex superscalar architectures with sophisticated control units, branch predictors, and memory hierarchies optimized for instruction-level parallelism and latency-sensitive workloads. They prioritize single-thread performance and can efficiently handle irregular control flow. GPUs implement SIMT (Single Instruction, Multiple Thread) architectures with thousands of ALUs organized into streaming multiprocessors, optimized for data-level parallelism and throughput computing. The GPU memory hierarchy prioritizes bandwidth over latency, with high-bandwidth memory and software-managed caches. This architectural divergence reflects the fundamental tradeoff between latency optimization (CPU) and throughput optimization (GPU) in processor design.", + "vocab_answer": [ + { + "word": "CPU", + "definition": "Central Processing Unit - the main processor designed for general-purpose computing" + }, + { + "word": "GPU", + "definition": "Graphics Processing Unit - specialized processor designed for parallel computing tasks" + }, + { + "word": "parallel processing", + "definition": "Performing many calculations simultaneously using multiple processing units" + }, + { + "word": "sequential processing", + "definition": "Performing calculations one after another in a specific order" + }, + { + "word": "core", + "definition": "Individual processing unit within a CPU or GPU that can execute instructions" + } + ], + "type": "short_answer", + "points": 3, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the architectural differences between CPUs and GPUs", + "Recognize when parallel vs sequential processing is most effective", + "Identify appropriate use cases for CPU vs GPU computing" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/explain-cpu-vs-gpu.yml", + compiledAt: "2026-02-23T00:32:17.169Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/explain-how-processor-works.yml': { + module: { + "id": 3, + "question": "Explain how a processor works", + "answer": "The CPU repeatedly performs the fetch‑decode‑execute cycle: fetch instruction from memory (via program counter), decode (control unit interprets opcode, sets control signals), execute (ALU / other units perform operation), write back results, update PC. Modern CPUs add pipelining, caches, out‑of‑order execution, and branch prediction to increase throughput.", + "vocab_answer": [ + { + "word": "CPU", + "definition": "Central Processing Unit - the main processor that executes instructions in a computer" + }, + { + "word": "fetch-decode-execute cycle", + "definition": "The fundamental three-step process that processors repeat to run programs" + }, + { + "word": "program counter", + "definition": "A register that keeps track of which instruction to execute next" + }, + { + "word": "control unit", + "definition": "The processor component that interprets instructions and coordinates other parts" + }, + { + "word": "opcode", + "definition": "The part of an instruction that specifies which operation to perform" + }, + { + "word": "control signals", + "definition": "Electronic signals that coordinate the operation of different processor components" + }, + { + "word": "ALU", + "definition": "Arithmetic Logic Unit - the component that performs mathematical and logical operations" + }, + { + "word": "pipelining", + "definition": "A technique where multiple instruction stages are processed simultaneously to increase throughput" + }, + { + "word": "caches", + "definition": "Fast memory that stores frequently accessed data and instructions close to the processor" + }, + { + "word": "out-of-order execution", + "definition": "A technique where instructions are executed in a different order than programmed to improve efficiency" + }, + { + "word": "branch prediction", + "definition": "A technique that guesses which direction conditional jumps will take to avoid pipeline stalls" + }, + { + "word": "throughput", + "definition": "The rate at which instructions are completed, measuring processor performance" + } + ], + "answer_kindergarten": "The processor is like the brain of the computer, and it does the same thing over and over really, really fast! First, it GETS an instruction (like 'add these two numbers'). Then it UNDERSTANDS what the instruction means (like figuring out it needs to do math). Then it DOES the work (actually adding the numbers together). Finally, it REMEMBERS the answer and gets ready for the next instruction. It does this millions of times every second - much faster than you can blink! It's like having a super-fast friend who can follow directions perfectly and never gets tired.", + "vocab_kindergarten": [ + { + "word": "processor", + "definition": "The computer's brain that thinks and follows directions super fast" + }, + { + "word": "brain", + "definition": "The smart part that makes decisions and controls everything else" + }, + { + "word": "instruction", + "definition": "A direction or command that tells someone what to do, like 'add these numbers'" + }, + { + "word": "math", + "definition": "Adding, subtracting, and other number work that helps solve problems" + }, + { + "word": "millions", + "definition": "A really, really big number - more than you could count in a whole day" + }, + { + "word": "directions", + "definition": "Instructions that tell you what steps to do, like in a game or recipe" + } + ], + "answer_3rd_grade": "The processor (or CPU) is the computer's brain, and it works by following a simple three-step pattern millions of times per second. Step 1: FETCH - it gets the next instruction from memory (like reading the next step in a recipe). Step 2: DECODE - it figures out what the instruction means (like understanding 'add 5 + 3'). Step 3: EXECUTE - it actually does the work (calculating that 5 + 3 = 8). Then it stores the result and starts over with the next instruction. Even though each step is simple, the processor can do this so incredibly fast that it seems like the computer is doing many things at once!", + "vocab_3rd_grade": [ + { + "word": "processor", + "definition": "The main chip in a computer that does all the thinking and calculating work" + }, + { + "word": "CPU", + "definition": "Short for Central Processing Unit - another name for the processor or computer's brain" + }, + { + "word": "brain", + "definition": "The control center that makes decisions and manages all the other parts" + }, + { + "word": "pattern", + "definition": "Something that repeats the same way over and over, like a dance with the same steps" + }, + { + "word": "FETCH", + "definition": "The step where the processor gets the next instruction from memory, like reading the next line in a book" + }, + { + "word": "DECODE", + "definition": "The step where the processor figures out what an instruction means and what to do" + }, + { + "word": "EXECUTE", + "definition": "The step where the processor actually does the work that the instruction asked for" + }, + { + "word": "memory", + "definition": "The place where the computer stores information and instructions, like a giant filing cabinet" + }, + { + "word": "recipe", + "definition": "Step-by-step instructions for making something, like cookies or a craft project" + }, + { + "word": "instruction", + "definition": "A single command that tells the computer to do one specific thing" + }, + { + "word": "calculating", + "definition": "Doing math problems and figuring out the answers" + }, + { + "word": "result", + "definition": "The answer you get after doing some work or solving a problem" + } + ], + "answer_7th_grade": "A processor (CPU) operates through the fetch-decode-execute cycle, which it repeats billions of times per second. During FETCH, the CPU reads the next instruction from memory using the program counter (a special register that keeps track of which instruction to execute next). In DECODE, the control unit interprets the instruction's binary code to determine what operation to perform and which data to use. During EXECUTE, the arithmetic logic unit (ALU) or other specialized circuits perform the actual computation (like math, logic operations, or data movement). After execution, results are stored back to memory or registers, and the program counter is updated to point to the next instruction. Modern processors use advanced techniques like pipelining (starting the next instruction before the current one finishes) and multiple cores to increase performance.", + "vocab_7th_grade": [ + { + "word": "processor", + "definition": "The main computing component that executes program instructions by following a systematic cycle" + }, + { + "word": "CPU", + "definition": "Central Processing Unit - the primary processor responsible for executing most computer operations" + }, + { + "word": "fetch-decode-execute cycle", + "definition": "The three-step process processors use repeatedly to run programs: get instruction, understand it, do it" + }, + { + "word": "billions", + "definition": "An extremely large number (1,000,000,000) representing how many operations processors do per second" + }, + { + "word": "program counter", + "definition": "A special memory location that keeps track of which instruction the processor should execute next" + }, + { + "word": "register", + "definition": "Very fast, small storage locations inside the processor for temporarily holding data and instructions" + }, + { + "word": "control unit", + "definition": "The processor component that manages and coordinates all operations by interpreting instructions" + }, + { + "word": "binary code", + "definition": "Instructions represented as patterns of 1s and 0s that processors can directly understand" + }, + { + "word": "operation", + "definition": "A specific task or calculation that the processor can perform, like adding or comparing numbers" + }, + { + "word": "arithmetic logic unit", + "definition": "The processor component specifically designed to perform mathematical calculations and logical comparisons" + }, + { + "word": "ALU", + "definition": "Short for Arithmetic Logic Unit - the processor's math and logic calculator" + }, + { + "word": "specialized circuits", + "definition": "Electronic pathways designed for specific tasks to make the processor more efficient" + }, + { + "word": "computation", + "definition": "The process of performing calculations or processing data to solve problems" + }, + { + "word": "logic operations", + "definition": "Comparisons and true/false decisions that help processors make choices" + }, + { + "word": "data movement", + "definition": "Transferring information between different parts of the computer system" + }, + { + "word": "pipelining", + "definition": "A technique where the processor starts working on the next instruction before finishing the current one" + }, + { + "word": "multiple cores", + "definition": "Having several processors working together on the same chip to handle more tasks simultaneously" + }, + { + "word": "performance", + "definition": "How fast and efficiently the processor can complete its work" + } + ], + "answer_high_school": "The processor executes programs through the fundamental fetch-decode-execute cycle, coordinated by several key components. The FETCH stage involves the program counter (PC) providing the memory address of the next instruction, which is retrieved from memory through the memory management unit and stored in the instruction register. The DECODE stage uses the control unit to interpret the instruction's opcode and operands, generating appropriate control signals for data paths and functional units. The EXECUTE stage employs the arithmetic logic unit (ALU) for mathematical and logical operations, load/store units for memory access, and branch units for control flow decisions. Modern processors implement performance optimizations including instruction pipelining (overlapping execution stages), superscalar execution (multiple instructions per cycle), out-of-order execution (reordering instructions for efficiency), branch prediction (anticipating conditional jumps), and multi-level cache hierarchies (reducing memory access latency). These optimizations allow modern CPUs to achieve instruction throughput far exceeding the basic cycle rate.", + "vocab_high_school": [ + { + "word": "fundamental", + "definition": "Basic and essential - the most important foundation that everything else builds upon" + }, + { + "word": "fetch-decode-execute cycle", + "definition": "The core operational cycle that all processors use to execute program instructions systematically" + }, + { + "word": "program counter", + "definition": "A register containing the memory address of the next instruction to be fetched and executed" + }, + { + "word": "PC", + "definition": "Abbreviation for Program Counter - the register tracking the current instruction address" + }, + { + "word": "memory address", + "definition": "A unique number that identifies a specific location in computer memory" + }, + { + "word": "memory management unit", + "definition": "Hardware that handles memory access, address translation, and memory protection" + }, + { + "word": "instruction register", + "definition": "A register that holds the current instruction being decoded and executed" + }, + { + "word": "control unit", + "definition": "The processor component that interprets instructions and generates control signals for other units" + }, + { + "word": "opcode", + "definition": "The operation code part of an instruction that specifies which operation to perform" + }, + { + "word": "operands", + "definition": "The data values or memory addresses that an instruction operates on" + }, + { + "word": "control signals", + "definition": "Electronic signals that coordinate the timing and operation of different processor components" + }, + { + "word": "data paths", + "definition": "The routes through which data flows between different components in the processor" + }, + { + "word": "functional units", + "definition": "Specialized processor components designed to perform specific types of operations" + }, + { + "word": "arithmetic logic unit", + "definition": "The processor component that performs mathematical calculations and logical operations" + }, + { + "word": "ALU", + "definition": "Arithmetic Logic Unit - the primary computational component for math and logic operations" + }, + { + "word": "load/store units", + "definition": "Processor components specialized for transferring data between registers and memory" + }, + { + "word": "branch units", + "definition": "Processor components that handle conditional jumps and program flow control decisions" + }, + { + "word": "control flow", + "definition": "The order in which program instructions are executed, including jumps and branches" + }, + { + "word": "performance optimizations", + "definition": "Techniques and design improvements that increase processor speed and efficiency" + }, + { + "word": "instruction pipelining", + "definition": "Overlapping the execution stages of multiple instructions to increase overall throughput" + }, + { + "word": "superscalar execution", + "definition": "The ability to execute multiple instructions simultaneously in the same processor cycle" + }, + { + "word": "out-of-order execution", + "definition": "Executing instructions in a different sequence than programmed to maximize processor efficiency" + }, + { + "word": "branch prediction", + "definition": "Guessing which direction conditional branches will take to avoid pipeline delays" + }, + { + "word": "conditional jumps", + "definition": "Instructions that change program flow based on whether certain conditions are true or false" + }, + { + "word": "multi-level cache hierarchies", + "definition": "Multiple layers of fast memory (L1, L2, L3) that store frequently accessed data" + }, + { + "word": "memory access latency", + "definition": "The time delay between requesting data from memory and receiving it" + }, + { + "word": "instruction throughput", + "definition": "The rate at which a processor completes instructions, measured in instructions per second" + }, + { + "word": "cycle rate", + "definition": "The frequency at which the processor's clock operates, determining basic timing" + } + ], + "answer_undergraduate": "Processor operation centers on the fetch-decode-execute cycle implemented through a complex microarchitecture optimized for instruction-level parallelism and memory hierarchy efficiency. The FETCH stage utilizes the program counter to generate instruction addresses, which traverse the memory subsystem through translation lookaside buffers (TLBs) for virtual-to-physical address translation and multi-level cache hierarchies (L1I, L2, L3) to minimize memory latency. Branch prediction units employ sophisticated algorithms (two-level adaptive predictors, neural branch predictors) to speculatively fetch instructions along predicted control flow paths. The DECODE stage implements instruction parsing through dedicated decoders that handle variable-length instruction formats (x86) or fixed-length formats (RISC), potentially expanding complex instructions into micro-operations (μops) for internal execution. Register renaming eliminates false dependencies by mapping architectural registers to a larger pool of physical registers. The EXECUTE stage employs superscalar architecture with multiple execution units (integer ALUs, floating-point units, vector processors, load/store units) operating in parallel, supported by reservation stations for out-of-order issue and reorder buffers for in-order retirement. Modern processors integrate additional optimizations including simultaneous multithreading (SMT), dynamic voltage/frequency scaling, and specialized accelerators (cryptographic units, matrix multipliers) while maintaining architectural compatibility and coherent cache hierarchies in multi-core configurations.", + "vocab_undergraduate": [ + { + "word": "microarchitecture", + "definition": "The internal design and implementation details of how a processor executes instructions at the hardware level" + }, + { + "word": "instruction-level parallelism", + "definition": "The ability to execute multiple instructions simultaneously by exploiting independence between operations" + }, + { + "word": "memory hierarchy efficiency", + "definition": "Optimizing data access patterns across different levels of memory to minimize latency and maximize throughput" + }, + { + "word": "translation lookaside buffers", + "definition": "Cache structures that store recent virtual-to-physical address translations to speed up memory access" + }, + { + "word": "TLBs", + "definition": "Translation Lookaside Buffers - specialized caches for address translation entries" + }, + { + "word": "virtual-to-physical address translation", + "definition": "The process of converting program addresses to actual memory locations using page tables" + }, + { + "word": "multi-level cache hierarchies", + "definition": "Organized levels of increasingly larger but slower caches (L1, L2, L3) that optimize memory access" + }, + { + "word": "L1I", + "definition": "Level 1 Instruction cache - the fastest, smallest cache specifically for storing instructions" + }, + { + "word": "L2", + "definition": "Level 2 cache - intermediate cache level that stores both instructions and data" + }, + { + "word": "L3", + "definition": "Level 3 cache - largest, slowest cache level often shared between multiple processor cores" + }, + { + "word": "memory latency", + "definition": "The time delay between initiating a memory request and receiving the requested data" + }, + { + "word": "branch prediction units", + "definition": "Specialized hardware that predicts the outcome of conditional branches to maintain pipeline flow" + }, + { + "word": "sophisticated algorithms", + "definition": "Complex computational methods that use advanced techniques to solve problems efficiently" + }, + { + "word": "two-level adaptive predictors", + "definition": "Branch predictors that maintain separate prediction tables for different branch behaviors" + }, + { + "word": "neural branch predictors", + "definition": "Machine learning-based predictors that use neural networks to predict branch outcomes" + }, + { + "word": "speculatively", + "definition": "Performing operations based on predictions before knowing if they will actually be needed" + }, + { + "word": "control flow paths", + "definition": "The possible sequences of instruction execution through a program including branches and jumps" + }, + { + "word": "instruction parsing", + "definition": "The process of breaking down and analyzing instruction bit patterns to extract operation and operand information" + }, + { + "word": "dedicated decoders", + "definition": "Specialized hardware units designed specifically for interpreting and decoding instruction formats" + }, + { + "word": "variable-length instruction formats", + "definition": "Instruction encodings where different instructions can have different sizes in memory" + }, + { + "word": "x86", + "definition": "A complex instruction set architecture family with variable-length instructions used in most PCs" + }, + { + "word": "fixed-length formats", + "definition": "Instruction encodings where all instructions have the same size in memory" + }, + { + "word": "RISC", + "definition": "Reduced Instruction Set Computer - architecture philosophy emphasizing simple, uniform instructions" + }, + { + "word": "micro-operations", + "definition": "Simple, atomic operations that complex instructions are broken down into for internal execution" + }, + { + "word": "μops", + "definition": "Greek letter notation for micro-operations - the fundamental execution units in modern processors" + }, + { + "word": "register renaming", + "definition": "Technique mapping architectural registers to a larger pool of physical registers to eliminate false dependencies" + }, + { + "word": "false dependencies", + "definition": "Artificial constraints on instruction execution caused by reuse of register names rather than actual data dependencies" + }, + { + "word": "architectural registers", + "definition": "The programmer-visible registers defined by the instruction set architecture" + }, + { + "word": "physical registers", + "definition": "The actual hardware registers available for execution, typically more numerous than architectural registers" + }, + { + "word": "superscalar architecture", + "definition": "Processor design capable of executing multiple instructions in parallel during a single clock cycle" + }, + { + "word": "execution units", + "definition": "Specialized hardware components that perform specific types of operations like arithmetic or memory access" + }, + { + "word": "integer ALUs", + "definition": "Arithmetic Logic Units specifically designed for whole number calculations and logical operations" + }, + { + "word": "floating-point units", + "definition": "Specialized processors for decimal number calculations requiring high precision" + }, + { + "word": "vector processors", + "definition": "Execution units that perform the same operation on multiple data elements simultaneously" + }, + { + "word": "load/store units", + "definition": "Specialized execution units responsible for all data transfers between processor and memory" + }, + { + "word": "reservation stations", + "definition": "Hardware buffers that hold instructions waiting for their operands to become available" + }, + { + "word": "out-of-order issue", + "definition": "Dispatching instructions to execution units in an order different from program sequence" + }, + { + "word": "reorder buffers", + "definition": "Hardware structures that ensure instructions complete in program order despite out-of-order execution" + }, + { + "word": "in-order retirement", + "definition": "Completing and committing instruction results in the original program order to maintain correctness" + }, + { + "word": "simultaneous multithreading", + "definition": "Technique allowing a single processor core to execute instructions from multiple threads concurrently" + }, + { + "word": "SMT", + "definition": "Simultaneous Multithreading - sharing execution resources between multiple instruction streams" + }, + { + "word": "dynamic voltage/frequency scaling", + "definition": "Automatically adjusting processor power consumption and speed based on current workload demands" + }, + { + "word": "specialized accelerators", + "definition": "Custom hardware units optimized for specific computational tasks like encryption or machine learning" + }, + { + "word": "cryptographic units", + "definition": "Dedicated hardware for performing encryption, decryption, and hash operations efficiently" + }, + { + "word": "matrix multipliers", + "definition": "Specialized units for performing matrix operations common in machine learning and scientific computing" + }, + { + "word": "architectural compatibility", + "definition": "Maintaining the same instruction set interface while potentially changing internal implementation details" + }, + { + "word": "coherent cache hierarchies", + "definition": "Cache systems that automatically maintain data consistency across multiple processor cores" + }, + { + "word": "multi-core configurations", + "definition": "Processor designs incorporating multiple independent execution cores on a single chip" + } + ], + "topics": [ + "CPU", + "fetch-decode-execute", + "processor operation" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/explain-how-processor-works.yml", + compiledAt: "2026-02-23T00:32:17.170Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/explain-io-devices.yml': { + module: { + "id": 5, + "question": "Explain what I/O devices are and why they are important to computing", + "answer": "Peripherals that allow interaction with the external world (input: keyboard, sensors; output: displays, printers). They convert between human/physical signals and digital data, enabling practical usefulness of computation.", + "vocab_answer": [ + { + "word": "I/O devices", + "definition": "Input/Output devices that allow computers to interact with the external world" + }, + { + "word": "peripherals", + "definition": "External devices connected to a computer to extend its capabilities" + }, + { + "word": "external world", + "definition": "The environment and reality outside the computer system" + }, + { + "word": "input", + "definition": "Information or signals sent from the outside world into the computer" + }, + { + "word": "output", + "definition": "Information or signals sent from the computer to the outside world" + }, + { + "word": "keyboard", + "definition": "Input device that converts key presses into digital character codes" + }, + { + "word": "sensors", + "definition": "Input devices that detect and measure physical conditions from the environment" + }, + { + "word": "displays", + "definition": "Output devices that present visual information to users" + }, + { + "word": "printers", + "definition": "Output devices that create physical copies of digital information on paper" + }, + { + "word": "human/physical signals", + "definition": "Real-world information like sounds, movements, or environmental conditions" + }, + { + "word": "digital data", + "definition": "Information represented in binary format that computers can process" + }, + { + "word": "computation", + "definition": "The process of performing calculations and processing information" + } + ], + "answer_kindergarten": "I/O devices are like the computer's eyes, ears, mouth, and hands! The 'I' stands for INPUT - these are like the computer's ears and eyes. The keyboard and mouse let you talk to the computer, and the microphone lets the computer hear you. The 'O' stands for OUTPUT - these are like the computer's mouth and hands. The screen shows you pictures and words (like the computer talking with its eyes), and the speakers let you hear sounds (like the computer talking with its mouth). Without these special parts, the computer couldn't see you, hear you, or talk back to you - it would be like trying to play with a friend who can't see or hear you!", + "vocab_kindergarten": [ + { + "word": "I/O devices", + "definition": "Special parts that help you and the computer talk to each other" + }, + { + "word": "eyes", + "definition": "Body parts that help you see things around you" + }, + { + "word": "ears", + "definition": "Body parts that help you hear sounds and music" + }, + { + "word": "mouth", + "definition": "The part of your face you use to talk and eat" + }, + { + "word": "hands", + "definition": "The parts at the end of your arms that help you touch and hold things" + }, + { + "word": "INPUT", + "definition": "Things that go INTO the computer, like when you tell it something" + }, + { + "word": "OUTPUT", + "definition": "Things that come OUT of the computer, like when it shows you something" + }, + { + "word": "keyboard", + "definition": "The thing with buttons that you press to type letters and numbers" + }, + { + "word": "mouse", + "definition": "A small device you move around to point and click on the screen" + }, + { + "word": "microphone", + "definition": "Something that listens to your voice and lets the computer hear you" + }, + { + "word": "screen", + "definition": "The flat part that shows you pictures, words, and colors" + }, + { + "word": "speakers", + "definition": "Things that make sounds and music come out of the computer" + }, + { + "word": "pictures", + "definition": "Images and drawings that you can see" + }, + { + "word": "words", + "definition": "Letters put together to make things you can read" + }, + { + "word": "sounds", + "definition": "Things you can hear, like music, voices, or noises" + } + ], + "answer_3rd_grade": "I/O stands for Input/Output, and these devices are like the computer's way of communicating with the outside world. INPUT devices let you send information TO the computer - like keyboards for typing, mice for clicking and pointing, microphones for recording your voice, and cameras for taking pictures. OUTPUT devices let the computer send information TO you - like monitors that show pictures and text, speakers that play sounds and music, and printers that put words and images on paper. Without I/O devices, a computer would be like a really smart person trapped in a box with no way to communicate - all that computing power wouldn't be useful because there'd be no way to tell it what to do or see what it figured out!", + "vocab_3rd_grade": [ + { + "word": "I/O", + "definition": "Short for Input/Output - how information goes into and comes out of the computer" + }, + { + "word": "Input/Output", + "definition": "The full name for I/O - the way computers receive and send information" + }, + { + "word": "communicating", + "definition": "Sharing information or talking with someone or something" + }, + { + "word": "outside world", + "definition": "Everything that exists beyond or outside of the computer" + }, + { + "word": "INPUT devices", + "definition": "Things that help you send information TO the computer" + }, + { + "word": "information", + "definition": "Facts, data, or knowledge about something" + }, + { + "word": "typing", + "definition": "Pressing keys on a keyboard to write letters, numbers, and words" + }, + { + "word": "clicking", + "definition": "Pressing a button on the mouse to select something on the screen" + }, + { + "word": "pointing", + "definition": "Moving the mouse to show where you want to select on the screen" + }, + { + "word": "recording", + "definition": "Capturing sounds or images to save them for later" + }, + { + "word": "cameras", + "definition": "Devices that take pictures or record videos of what they see" + }, + { + "word": "OUTPUT devices", + "definition": "Things that help the computer send information TO you" + }, + { + "word": "monitors", + "definition": "Another name for computer screens that show you information" + }, + { + "word": "text", + "definition": "Written words and letters that you can read" + }, + { + "word": "music", + "definition": "Pleasant sounds arranged in patterns that people enjoy listening to" + }, + { + "word": "printers", + "definition": "Machines that put words and pictures from the computer onto paper" + }, + { + "word": "images", + "definition": "Pictures, photos, or drawings that you can see" + }, + { + "word": "paper", + "definition": "Thin material that you can write or print on" + }, + { + "word": "computing power", + "definition": "How smart and fast a computer is at solving problems and doing work" + }, + { + "word": "communicate", + "definition": "To share ideas, information, or feelings with others" + } + ], + "answer_7th_grade": "Input/Output (I/O) devices serve as the interface between computers and the external world, enabling human-computer interaction and system communication. INPUT devices convert various forms of external information into digital signals that computers can process. Examples include keyboards (converting keystrokes to character codes), mice and touchpads (converting movement to coordinate data), microphones (converting sound waves to digital audio), and cameras (converting light to image data). OUTPUT devices perform the reverse conversion, turning digital information into human-perceivable or physically actionable forms. Examples include monitors (displaying visual information), speakers (producing sound), printers (creating physical documents), and motors or actuators (controlling physical devices). I/O devices are essential because without them, even the most powerful computer would be isolated and useless - there would be no way to give it tasks or receive its results.", + "vocab_7th_grade": [ + { + "word": "Input/Output", + "definition": "The process of receiving information into a system and sending information out of a system" + }, + { + "word": "I/O devices", + "definition": "Hardware components that enable data transfer between computers and the external environment" + }, + { + "word": "interface", + "definition": "A connection point between two different systems that allows them to work together" + }, + { + "word": "external world", + "definition": "The physical environment and reality outside the computer system" + }, + { + "word": "human-computer interaction", + "definition": "The way people communicate and work with computer systems" + }, + { + "word": "system communication", + "definition": "How different parts of a computer system or different systems share information" + }, + { + "word": "convert", + "definition": "To change something from one form or format into another" + }, + { + "word": "digital signals", + "definition": "Information represented as patterns of 1s and 0s that computers can understand" + }, + { + "word": "process", + "definition": "To handle, manipulate, or work with information or data" + }, + { + "word": "keystrokes", + "definition": "Individual presses of keys on a keyboard" + }, + { + "word": "character codes", + "definition": "Number codes that represent letters, numbers, and symbols for computers" + }, + { + "word": "touchpads", + "definition": "Flat surfaces that detect finger movement and convert it to cursor movement" + }, + { + "word": "coordinate data", + "definition": "Information about the position or location of something using X and Y numbers" + }, + { + "word": "sound waves", + "definition": "Vibrations in the air that we hear as sounds" + }, + { + "word": "digital audio", + "definition": "Sound that has been converted into computer data format" + }, + { + "word": "image data", + "definition": "Information that describes pictures, including colors and pixel positions" + }, + { + "word": "reverse conversion", + "definition": "Changing digital information back into forms humans can see, hear, or feel" + }, + { + "word": "human-perceivable", + "definition": "Something that people can detect with their senses like sight, hearing, or touch" + }, + { + "word": "physically actionable", + "definition": "Able to cause real physical movement or changes in the world" + }, + { + "word": "visual information", + "definition": "Data that can be seen, like text, images, and graphics" + }, + { + "word": "physical documents", + "definition": "Real paper materials with printed text and images" + }, + { + "word": "motors", + "definition": "Devices that convert electrical energy into mechanical movement" + }, + { + "word": "actuators", + "definition": "Components that create physical movement to control mechanical systems" + }, + { + "word": "controlling", + "definition": "Managing or directing the operation of devices or systems" + }, + { + "word": "isolated", + "definition": "Separated or cut off from everything else" + }, + { + "word": "tasks", + "definition": "Jobs or work that need to be completed" + }, + { + "word": "results", + "definition": "The outcomes or answers produced after completing work or calculations" + } + ], + "answer_high_school": "I/O devices function as transducers and interfaces that bridge the gap between digital computation and the analog physical world, enabling practical computer applications. INPUT devices employ various transduction methods: keyboards use mechanical switches or capacitive sensors to generate digital scan codes; optical mice use LED illumination and photosensors to track movement; microphones convert acoustic pressure waves to electrical signals via dynamic or condenser elements, then use analog-to-digital converters (ADCs) to create digital audio streams. Modern input includes touchscreens combining display output with capacitive or resistive touch sensing, accelerometers and gyroscopes for motion detection, and various sensors for environmental monitoring. OUTPUT devices reverse this process: monitors use LCD backlighting with liquid crystal modulation or OLED pixel emission to create visual displays; speakers employ electromagnetic drivers to convert digital audio signals back to sound waves; printers use various technologies (inkjet, laser, thermal) to create permanent visual records. Advanced I/O includes haptic feedback systems, 3D printers, and robotic actuators. The critical role of I/O devices extends beyond human interface to include machine-to-machine communication through network interfaces, storage controllers, and industrial control systems.", + "vocab_high_school": [ + { + "word": "transducers", + "definition": "Devices that convert one form of energy or signal into another form" + }, + { + "word": "interfaces", + "definition": "Connection points or communication boundaries between different systems or components" + }, + { + "word": "bridge", + "definition": "Something that connects or links two different things together" + }, + { + "word": "digital computation", + "definition": "Processing information using discrete binary values and mathematical operations" + }, + { + "word": "analog physical world", + "definition": "The real world where values change continuously rather than in discrete steps" + }, + { + "word": "practical applications", + "definition": "Real-world uses and implementations that solve actual problems" + }, + { + "word": "transduction methods", + "definition": "Different techniques for converting between energy types or signal formats" + }, + { + "word": "mechanical switches", + "definition": "Physical components that open and close electrical circuits when pressed" + }, + { + "word": "capacitive sensors", + "definition": "Devices that detect changes in electrical capacity when objects approach" + }, + { + "word": "digital scan codes", + "definition": "Numeric codes that identify specific keys on a keyboard" + }, + { + "word": "optical mice", + "definition": "Pointing devices that use light to track movement across surfaces" + }, + { + "word": "LED illumination", + "definition": "Using light-emitting diodes to provide bright, efficient lighting" + }, + { + "word": "photosensors", + "definition": "Components that detect and measure light intensity or patterns" + }, + { + "word": "acoustic pressure waves", + "definition": "Sound vibrations that travel through air as changes in pressure" + }, + { + "word": "electrical signals", + "definition": "Information carried by changes in voltage, current, or electrical patterns" + }, + { + "word": "dynamic", + "definition": "Moving coil microphones that generate electricity from sound-induced motion" + }, + { + "word": "condenser elements", + "definition": "Capacitive microphones that detect sound through changes in electrical capacity" + }, + { + "word": "analog-to-digital converters", + "definition": "Circuits that convert continuous electrical signals into discrete digital values" + }, + { + "word": "ADCs", + "definition": "Abbreviation for Analog-to-Digital Converters" + }, + { + "word": "digital audio streams", + "definition": "Continuous flows of digitally encoded sound data" + }, + { + "word": "touchscreens", + "definition": "Display surfaces that can detect and respond to finger or stylus contact" + }, + { + "word": "resistive touch sensing", + "definition": "Touch detection using pressure-sensitive layers that change electrical resistance" + }, + { + "word": "accelerometers", + "definition": "Sensors that measure acceleration and changes in motion" + }, + { + "word": "gyroscopes", + "definition": "Sensors that detect rotation and orientation changes" + }, + { + "word": "motion detection", + "definition": "The ability to sense and measure movement or changes in position" + }, + { + "word": "environmental monitoring", + "definition": "Continuously measuring conditions like temperature, humidity, or pollution" + }, + { + "word": "LCD backlighting", + "definition": "Light sources behind liquid crystal displays to make images visible" + }, + { + "word": "liquid crystal modulation", + "definition": "Controlling light passage through crystals to create display images" + }, + { + "word": "OLED pixel emission", + "definition": "Organic light-emitting diodes that produce their own light for displays" + }, + { + "word": "visual displays", + "definition": "Screens and monitors that present information in visual form" + }, + { + "word": "electromagnetic drivers", + "definition": "Speaker components that use magnetic fields to create sound vibrations" + }, + { + "word": "sound waves", + "definition": "Vibrations in air that we perceive as sound" + }, + { + "word": "inkjet", + "definition": "Printing technology that sprays tiny droplets of ink onto paper" + }, + { + "word": "laser", + "definition": "Printing technology using focused light beams to create images" + }, + { + "word": "thermal", + "definition": "Printing technology using heat to transfer ink or create images" + }, + { + "word": "permanent visual records", + "definition": "Printed documents or images that last for a long time" + }, + { + "word": "haptic feedback systems", + "definition": "Technology that provides touch sensations to users" + }, + { + "word": "3D printers", + "definition": "Machines that create three-dimensional objects by building up layers of material" + }, + { + "word": "robotic actuators", + "definition": "Motors and mechanisms that provide movement for robotic systems" + }, + { + "word": "machine-to-machine communication", + "definition": "Direct data exchange between automated systems without human intervention" + }, + { + "word": "network interfaces", + "definition": "Hardware and software that enable computers to connect to networks" + }, + { + "word": "storage controllers", + "definition": "Components that manage data transfer to and from storage devices" + }, + { + "word": "industrial control systems", + "definition": "Computer systems that monitor and control manufacturing and industrial processes" + } + ], + "answer_undergraduate": "I/O devices constitute the peripheral subsystem that enables computational systems to interact with external environments through signal transduction, protocol conversion, and interface standardization. INPUT devices implement various transduction mechanisms: keyboards utilize scanning matrices with debouncing algorithms to convert mechanical actuation into standardized scan codes; pointing devices employ optical sensors with correlation-based tracking algorithms or capacitive sensing arrays for position determination; audio input systems use microphone transducers with analog preprocessing (amplification, filtering) followed by sigma-delta ADCs for high-fidelity digital conversion; imaging systems employ photodiode arrays (CCD/CMOS) with sophisticated image processing pipelines including demosaicing, color correction, and compression. These devices interface through standardized protocols (USB, PCIe, I2C, SPI) implementing layered communication stacks with error correction, flow control, and device enumeration. OUTPUT devices perform inverse transduction: display systems use various technologies (LCD with TFT addressing, OLED with active matrix control, e-ink with electrophoretic particles) coupled with color management systems and gamma correction; audio output employs digital-to-analog conversion followed by amplification and acoustic transduction through electromagnetic or piezoelectric drivers; printing systems use precise mechanical control systems (stepper motors, linear encoders) with material deposition mechanisms (inkjet nozzle arrays, laser-photoconductor systems, thermal transfer). The architectural significance of I/O extends beyond human interface to encompass inter-system communication through network interfaces implementing protocol stacks (TCP/IP, Ethernet, wireless protocols), storage interfaces with error correction coding and wear leveling algorithms, and industrial control systems enabling cyber-physical integration. Modern I/O architectures incorporate DMA controllers for efficient data transfer, interrupt handling mechanisms for real-time responsiveness, and virtualization support for resource sharing in multi-tenant environments.", + "vocab_undergraduate": [ + { + "word": "peripheral subsystem", + "definition": "The collection of external devices and interfaces that extend computer functionality" + }, + { + "word": "computational systems", + "definition": "Complex arrangements of hardware and software designed to process information" + }, + { + "word": "external environments", + "definition": "The physical and digital contexts outside the core computing system" + }, + { + "word": "signal transduction", + "definition": "The process of converting signals from one physical form to another" + }, + { + "word": "protocol conversion", + "definition": "Translating data formats and communication standards between different systems" + }, + { + "word": "interface standardization", + "definition": "Establishing common specifications for how different components connect and communicate" + }, + { + "word": "transduction mechanisms", + "definition": "Specific methods and processes for converting between different types of signals" + }, + { + "word": "scanning matrices", + "definition": "Grid arrangements for systematically detecting key presses in keyboards" + }, + { + "word": "debouncing algorithms", + "definition": "Software methods to eliminate electrical noise from mechanical switch contacts" + }, + { + "word": "mechanical actuation", + "definition": "Physical movement or pressure that triggers an electrical or digital response" + }, + { + "word": "standardized scan codes", + "definition": "Universal numeric identifiers assigned to each key position on keyboards" + }, + { + "word": "correlation-based tracking algorithms", + "definition": "Mathematical methods that identify movement patterns by comparing image data" + }, + { + "word": "capacitive sensing arrays", + "definition": "Grids of sensors that detect changes in electrical capacity from touch or proximity" + }, + { + "word": "position determination", + "definition": "The process of calculating exact location coordinates" + }, + { + "word": "microphone transducers", + "definition": "Components that convert sound pressure variations into electrical signals" + }, + { + "word": "analog preprocessing", + "definition": "Initial signal conditioning before digital conversion" + }, + { + "word": "amplification", + "definition": "Increasing the strength or magnitude of electrical signals" + }, + { + "word": "filtering", + "definition": "Removing unwanted frequencies or noise from signals" + }, + { + "word": "sigma-delta ADCs", + "definition": "High-precision analog-to-digital converters using oversampling and noise shaping" + }, + { + "word": "high-fidelity digital conversion", + "definition": "Accurate translation of analog signals to digital format with minimal distortion" + }, + { + "word": "photodiode arrays", + "definition": "Grids of light-sensitive semiconductors that convert photons to electrical signals" + }, + { + "word": "CCD/CMOS", + "definition": "Charge-Coupled Device/Complementary Metal-Oxide-Semiconductor image sensor technologies" + }, + { + "word": "sophisticated image processing pipelines", + "definition": "Complex sequences of algorithms for enhancing and processing digital images" + }, + { + "word": "demosaicing", + "definition": "Reconstructing full-color images from incomplete color information in image sensors" + }, + { + "word": "color correction", + "definition": "Adjusting digital images to achieve accurate or desired color representation" + }, + { + "word": "compression", + "definition": "Reducing data size by removing redundancy or less important information" + }, + { + "word": "standardized protocols", + "definition": "Agreed-upon communication formats and procedures for data exchange" + }, + { + "word": "USB", + "definition": "Universal Serial Bus - common standard for connecting peripheral devices" + }, + { + "word": "PCIe", + "definition": "Peripheral Component Interconnect Express - high-speed expansion bus standard" + }, + { + "word": "I2C", + "definition": "Inter-Integrated Circuit - serial communication protocol for short-distance device connections" + }, + { + "word": "SPI", + "definition": "Serial Peripheral Interface - synchronous communication protocol for embedded systems" + }, + { + "word": "layered communication stacks", + "definition": "Organized levels of protocols that handle different aspects of data transmission" + }, + { + "word": "error correction", + "definition": "Methods for detecting and fixing data transmission or storage errors" + }, + { + "word": "flow control", + "definition": "Mechanisms for managing the rate of data transmission between devices" + }, + { + "word": "device enumeration", + "definition": "The process of discovering and identifying connected hardware devices" + }, + { + "word": "inverse transduction", + "definition": "Converting digital information back to physical or perceptible forms" + }, + { + "word": "TFT addressing", + "definition": "Thin Film Transistor technology for controlling individual pixels in displays" + }, + { + "word": "active matrix control", + "definition": "Display technology where each pixel is individually controlled by its own transistor" + }, + { + "word": "e-ink", + "definition": "Electronic ink display technology that mimics the appearance of printed paper" + }, + { + "word": "electrophoretic particles", + "definition": "Charged particles that move in response to electrical fields in e-ink displays" + }, + { + "word": "color management systems", + "definition": "Software that ensures consistent color reproduction across different devices" + }, + { + "word": "gamma correction", + "definition": "Adjusting the brightness response of displays to match human vision characteristics" + }, + { + "word": "digital-to-analog conversion", + "definition": "Converting discrete digital values back to continuous analog signals" + }, + { + "word": "acoustic transduction", + "definition": "Converting electrical signals into sound waves through physical vibration" + }, + { + "word": "electromagnetic", + "definition": "Speaker drivers that use magnetic fields and electric current to create motion" + }, + { + "word": "piezoelectric drivers", + "definition": "Actuators that create motion using materials that change shape with electrical voltage" + }, + { + "word": "precise mechanical control systems", + "definition": "Highly accurate systems for controlling physical movement and positioning" + }, + { + "word": "stepper motors", + "definition": "Motors that move in discrete angular steps for precise positioning" + }, + { + "word": "linear encoders", + "definition": "Sensors that provide precise feedback about linear position and movement" + }, + { + "word": "material deposition mechanisms", + "definition": "Systems for precisely placing materials like ink, toner, or filament" + }, + { + "word": "inkjet nozzle arrays", + "definition": "Grids of tiny openings that spray precise droplets of ink" + }, + { + "word": "laser-photoconductor systems", + "definition": "Printing technology using laser light to create electrical patterns on light-sensitive drums" + }, + { + "word": "thermal transfer", + "definition": "Printing method that uses heat to transfer ink from ribbon to paper" + }, + { + "word": "architectural significance", + "definition": "The fundamental importance of a component to the overall system design" + }, + { + "word": "inter-system communication", + "definition": "Data exchange and coordination between separate computer systems" + }, + { + "word": "protocol stacks", + "definition": "Layered sets of communication protocols that work together" + }, + { + "word": "TCP/IP", + "definition": "Transmission Control Protocol/Internet Protocol - foundation of internet communication" + }, + { + "word": "Ethernet", + "definition": "Widely used local area network technology for wired connections" + }, + { + "word": "wireless protocols", + "definition": "Communication standards for transmitting data without physical connections" + }, + { + "word": "error correction coding", + "definition": "Mathematical methods for detecting and correcting data errors" + }, + { + "word": "wear leveling algorithms", + "definition": "Techniques for distributing write operations evenly across storage media" + }, + { + "word": "cyber-physical integration", + "definition": "Combining computational systems with physical processes and control" + }, + { + "word": "DMA controllers", + "definition": "Direct Memory Access hardware that transfers data without CPU intervention" + }, + { + "word": "efficient data transfer", + "definition": "Moving information with minimal resource usage and maximum speed" + }, + { + "word": "interrupt handling mechanisms", + "definition": "Systems for managing and responding to urgent hardware events" + }, + { + "word": "real-time responsiveness", + "definition": "The ability to respond to events within strict timing requirements" + }, + { + "word": "virtualization support", + "definition": "Hardware features that enable efficient sharing of physical resources" + }, + { + "word": "resource sharing", + "definition": "Allowing multiple users or processes to use the same hardware efficiently" + }, + { + "word": "multi-tenant environments", + "definition": "Systems where multiple independent users or applications share infrastructure" + } + ], + "topics": [ + "I/O devices", + "peripherals", + "input", + "output" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/explain-io-devices.yml", + compiledAt: "2026-02-23T00:32:17.172Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/explain-ipo-model.yml': { + module: { + "id": 1, + "question": "Explain the IPO model and its significance.", + "answer": "Input (data entry from users/sensors/networks), Processing (CPU executes instructions to transform and manipulate data), Output (results presented to users or other systems via displays, printers, networks, etc.). This model frames every program as a transformation pipeline where data flows in, gets processed according to algorithms, and meaningful results flow out.", + "vocab_answer": [ + { + "word": "IPO model", + "definition": "A fundamental framework describing computer activities as Input (data entry), Processing (computation), and Output (results presentation)" + }, + { + "word": "CPU", + "definition": "Central Processing Unit that executes instructions to transform and manipulate data" + }, + { + "word": "algorithms", + "definition": "Step-by-step procedures that computers follow to process data and solve problems" + }, + { + "word": "data transformation", + "definition": "The process of converting input data into meaningful output through computational operations" + }, + { + "word": "pipeline", + "definition": "A conceptual model where data flows through sequential stages from input to output" + }, + { + "word": "sensors", + "definition": "Devices that detect and measure physical properties to provide input data to computers" + }, + { + "word": "networks", + "definition": "Interconnected systems that allow computers to communicate and share data" + } + ], + "answer_kindergarten": "A computer does three main things! First, it gets INPUT - like when you tell it something by typing on the keyboard or clicking the mouse. Then it does PROCESSING - it 'thinks' about what you told it, kind of like when you think about a math problem. Finally comes OUTPUT - it shows you something on the screen or prints it out, like when you show your answer to the teacher!", + "vocab_kindergarten": [ + { + "word": "input", + "definition": "When you tell the computer something by typing, clicking, or speaking" + }, + { + "word": "processing", + "definition": "When the computer 'thinks' about what you told it, like solving a math problem" + }, + { + "word": "output", + "definition": "When the computer shows you something on the screen or prints it out" + }, + { + "word": "keyboard", + "definition": "The part with letters and numbers that you press to tell the computer what to type" + }, + { + "word": "mouse", + "definition": "The device you click and move to point at things on the computer screen" + }, + { + "word": "screen", + "definition": "The computer's face where it shows you pictures, words, and videos" + } + ], + "answer_3rd_grade": "Every computer follows the same three-step pattern called IPO. INPUT means getting information - when you type on the keyboard, click the mouse, or speak into a microphone. PROCESSING is when the computer's brain (called the CPU) thinks about and works with that information, kind of like how you solve math problems in your head. OUTPUT is when the computer shows you the results - on the screen, through speakers, or by printing something. These three steps happen over and over again every time you use a computer!", + "vocab_3rd_grade": [ + { + "word": "IPO", + "definition": "The three-step pattern computers follow: Input, Processing, and Output" + }, + { + "word": "pattern", + "definition": "A repeating way of doing things that computers follow every time" + }, + { + "word": "information", + "definition": "Facts, data, or knowledge that you give to the computer or it gives back to you" + }, + { + "word": "CPU", + "definition": "The computer's brain that thinks about and works with information" + }, + { + "word": "microphone", + "definition": "A device that lets you speak to the computer so it can hear your voice" + }, + { + "word": "speakers", + "definition": "The parts of the computer that make sounds and music for you to hear" + }, + { + "word": "results", + "definition": "The answers or outcomes the computer shows you after it processes information" + } + ], + "answer_7th_grade": "The IPO model describes the three fundamental operations that define how computers work with information. INPUT involves data acquisition through various interfaces like keyboards, mice, sensors, and network connections where information enters the system. PROCESSING is the computational core where the CPU executes algorithms and manipulates data according to programmed instructions - this is where the actual 'thinking' happens. OUTPUT encompasses all ways the system communicates results back to users or other systems through displays, audio, files, or network transmission. This model helps us understand that every computing task, from simple calculations to complex simulations, follows this fundamental flow of information.", + "vocab_7th_grade": [ + { + "word": "IPO model", + "definition": "A framework describing the three fundamental operations that define how computers work with information" + }, + { + "word": "fundamental operations", + "definition": "The basic, essential processes that all computer activities are built upon" + }, + { + "word": "data acquisition", + "definition": "The process of collecting and gathering information from various sources" + }, + { + "word": "interfaces", + "definition": "Connection points or devices that allow interaction between users and computer systems" + }, + { + "word": "sensors", + "definition": "Devices that detect physical properties and convert them into digital information for computers" + }, + { + "word": "network connections", + "definition": "Links that allow computers to communicate and share information with other systems" + }, + { + "word": "computational core", + "definition": "The central processing unit where the actual data manipulation and calculations occur" + }, + { + "word": "algorithms", + "definition": "Step-by-step procedures that the CPU follows to manipulate and process data" + }, + { + "word": "programmed instructions", + "definition": "Pre-written commands that tell the computer exactly how to process specific data" + }, + { + "word": "data manipulation", + "definition": "The process of modifying, organizing, or transforming data according to specific rules" + }, + { + "word": "network transmission", + "definition": "The process of sending processed results to other computers or systems over a network" + }, + { + "word": "simulations", + "definition": "Complex computer programs that model real-world scenarios or processes" + } + ], + "answer_high_school": "The IPO model represents the fundamental framework for understanding computational processes. INPUT encompasses data acquisition mechanisms including human interfaces (keyboards, touchscreens), sensors (cameras, microphones), and communication channels (network adapters, USB ports) that bring information into the system. PROCESSING involves the CPU's execution of algorithms through the fetch-decode-execute cycle, including arithmetic/logic operations, control flow decisions, and data transformations that convert input into meaningful results. OUTPUT includes various presentation and communication methods such as visual displays, audio systems, actuators, and data transmission protocols that deliver processed information to users or other systems. Understanding IPO helps analyze program design, debug issues, and optimize performance by focusing on the transformation of input data into desired output.", + "vocab_high_school": [ + { + "word": "computational processes", + "definition": "The systematic operations that computers perform to transform input data into meaningful output" + }, + { + "word": "data acquisition mechanisms", + "definition": "Systems and devices that gather information from various sources for computer processing" + }, + { + "word": "human interfaces", + "definition": "Devices like keyboards and touchscreens that allow people to interact with computers" + }, + { + "word": "touchscreens", + "definition": "Display surfaces that respond to touch input for direct user interaction with computer systems" + }, + { + "word": "communication channels", + "definition": "Pathways through which computers exchange data with other systems or networks" + }, + { + "word": "network adapters", + "definition": "Hardware components that enable computers to connect and communicate over networks" + }, + { + "word": "USB ports", + "definition": "Standardized connection points that allow external devices to interface with computers" + }, + { + "word": "fetch-decode-execute cycle", + "definition": "The fundamental process by which CPUs retrieve, interpret, and carry out program instructions" + }, + { + "word": "arithmetic/logic operations", + "definition": "Mathematical calculations and logical comparisons performed by the CPU during data processing" + }, + { + "word": "control flow decisions", + "definition": "CPU operations that determine which instructions to execute next based on program logic" + }, + { + "word": "data transformations", + "definition": "Processes that convert input information into different formats or structures as desired output" + }, + { + "word": "actuators", + "definition": "Devices that perform physical actions based on computer-generated control signals" + }, + { + "word": "data transmission protocols", + "definition": "Standardized methods for sending processed information between computer systems" + }, + { + "word": "program design", + "definition": "The process of structuring software to efficiently transform input data into desired output" + }, + { + "word": "debug", + "definition": "The process of finding and fixing errors in programs by analyzing data flow and transformations" + }, + { + "word": "optimize", + "definition": "To improve program performance by enhancing the efficiency of data processing operations" + }, + { + "word": "performance", + "definition": "The speed and efficiency with which a computer system processes input and generates output" + } + ], + "answer_undergraduate": "The IPO model provides a fundamental abstraction for computational processes, defining the essential stages of information transformation in computing systems. INPUT subsystems encompass data acquisition and conversion mechanisms, including analog-to-digital converters, human-computer interfaces, network protocol stacks, and sensor arrays that transform external stimuli into digital representations suitable for algorithmic processing. PROCESSING represents the computational engine where algorithms execute through CPU microarchitecture, including pipeline optimization, branch prediction, parallel execution units, and specialized processors (GPUs, DSPs) that perform mathematical, logical, and control operations on input data structures. OUTPUT systems include display controllers, audio processing units, network interfaces, and actuator control systems that convert processed digital information into human-perceptible formats or machine-actionable signals. This model serves as both an analytical framework for understanding information flow in computational systems and a design methodology for structuring software architecture around clear data transformation pipelines. The IPO abstraction underlies programming paradigms, system design principles, and performance optimization strategies across all levels of computing.", + "vocab_undergraduate": [ + { + "word": "fundamental abstraction", + "definition": "A core conceptual model that simplifies complex computational processes into essential components" + }, + { + "word": "information transformation", + "definition": "The systematic conversion of data through computational stages in computing systems" + }, + { + "word": "INPUT subsystems", + "definition": "Specialized components that handle data acquisition and conversion for computational processing" + }, + { + "word": "analog-to-digital converters", + "definition": "Circuits that transform continuous physical signals into discrete digital representations" + }, + { + "word": "network protocol stacks", + "definition": "Layered software systems that manage communication between computers over networks" + }, + { + "word": "sensor arrays", + "definition": "Collections of sensing devices that capture external stimuli for digital processing" + }, + { + "word": "digital representations", + "definition": "Numeric encoding of real-world information suitable for algorithmic manipulation" + }, + { + "word": "algorithmic processing", + "definition": "The execution of step-by-step computational procedures to transform input data" + }, + { + "word": "computational engine", + "definition": "The core processing system where algorithms execute to perform data transformations" + }, + { + "word": "CPU microarchitecture", + "definition": "The internal design and organization of processor components that execute instructions" + }, + { + "word": "pipeline optimization", + "definition": "Techniques to improve instruction execution efficiency through parallel processing stages" + }, + { + "word": "branch prediction", + "definition": "CPU mechanisms that anticipate conditional execution paths to maintain processing flow" + }, + { + "word": "parallel execution units", + "definition": "Multiple processor components that perform simultaneous operations on different data" + }, + { + "word": "GPUs", + "definition": "Graphics Processing Units specialized for parallel mathematical operations on large datasets" + }, + { + "word": "DSPs", + "definition": "Digital Signal Processors optimized for real-time mathematical transformations of data streams" + }, + { + "word": "data structures", + "definition": "Organized arrangements of information that optimize storage and processing operations" + }, + { + "word": "display controllers", + "definition": "Specialized hardware that converts processed data into visual output for human perception" + }, + { + "word": "audio processing units", + "definition": "Components that transform digital audio data into sound signals for human hearing" + }, + { + "word": "actuator control systems", + "definition": "Hardware that converts processed digital information into physical mechanical actions" + }, + { + "word": "human-perceptible formats", + "definition": "Output representations that can be detected and understood by human sensory systems" + }, + { + "word": "machine-actionable signals", + "definition": "Digital output that other automated systems can interpret and act upon" + }, + { + "word": "analytical framework", + "definition": "A systematic approach for understanding and analyzing information flow in computational systems" + }, + { + "word": "design methodology", + "definition": "Structured approaches for organizing software architecture around data transformation principles" + }, + { + "word": "software architecture", + "definition": "The high-level structural organization of programs around clear data processing pipelines" + }, + { + "word": "data transformation pipelines", + "definition": "Sequential processing stages that systematically convert input into desired output formats" + }, + { + "word": "programming paradigms", + "definition": "Fundamental approaches to organizing code that reflect the IPO model of computation" + }, + { + "word": "system design principles", + "definition": "Core guidelines for structuring computational systems around input-processing-output flows" + }, + { + "word": "performance optimization", + "definition": "Strategies for improving computational efficiency across all stages of data transformation" + } + ], + "topics": [ + "IPO", + "computer fundamentals", + "data transformation" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/explain-ipo-model.yml", + compiledAt: "2026-02-23T00:32:17.173Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/explain-ram-vs-rom.yml': { + module: { + "id": 4, + "question": "Explain the difference between RAM and ROM and why most computers have both", + "answer": "RAM is volatile, fast read/write working memory; contents lost on power off. ROM (or flash/firmware) is non‑volatile, primarily read (or infrequently written) and holds bootstrap / firmware code needed before RAM and storage subsystems initialize. Together they enable reliable startup plus flexible runtime execution.", + "vocab_answer": [ + { + "word": "RAM", + "definition": "Random Access Memory - fast, temporary storage that loses its contents when power is turned off" + }, + { + "word": "ROM", + "definition": "Read-Only Memory - permanent storage that keeps its contents even without power" + }, + { + "word": "volatile", + "definition": "Memory that loses its stored data when electrical power is removed" + }, + { + "word": "non-volatile", + "definition": "Memory that retains its stored data even when electrical power is removed" + }, + { + "word": "read/write", + "definition": "The ability to both retrieve data from memory and store new data to memory" + }, + { + "word": "flash memory", + "definition": "A type of non-volatile memory that can be electrically erased and reprogrammed" + }, + { + "word": "firmware", + "definition": "Low-level software stored in non-volatile memory that controls basic hardware operations" + }, + { + "word": "bootstrap", + "definition": "The initial process of loading and starting up a computer system" + }, + { + "word": "subsystems", + "definition": "Individual components or modules that work together as part of a larger system" + }, + { + "word": "runtime execution", + "definition": "The period when programs are actively running and being executed by the processor" + } + ], + "answer_kindergarten": "A computer has two types of memory, kind of like having two different toy boxes! RAM is like a magic toy box - you can put toys in it and take them out really quickly, but when you turn off the lights (power), all the toys disappear! It's great for playing with toys right now. ROM is like a special treasure chest that never loses what's inside, even when the lights go out. It holds the most important instructions that tell the computer how to wake up and start working. The computer needs both: the treasure chest to remember how to start up, and the magic toy box to work fast while it's awake!", + "vocab_kindergarten": [ + { + "word": "memory", + "definition": "The computer's way of remembering things, like where you keep your favorite toys" + }, + { + "word": "toy boxes", + "definition": "Containers where you store your toys to keep them organized and safe" + }, + { + "word": "RAM", + "definition": "A special memory box that works super fast but forgets everything when you turn off the computer" + }, + { + "word": "magic", + "definition": "Something that seems impossible or amazing, like tricks that surprise you" + }, + { + "word": "quickly", + "definition": "Very fast, like running instead of walking" + }, + { + "word": "power", + "definition": "The electricity that makes machines work, like batteries make toys move" + }, + { + "word": "toys", + "definition": "Fun things you play with, like blocks, dolls, or games" + }, + { + "word": "ROM", + "definition": "A special memory box that never forgets anything, even when the computer is turned off" + }, + { + "word": "treasure chest", + "definition": "A special box that keeps valuable things safe and never loses them" + }, + { + "word": "instructions", + "definition": "Directions that tell someone what to do, like rules for a game" + }, + { + "word": "wake up", + "definition": "When something starts working after being asleep or turned off" + }, + { + "word": "start working", + "definition": "When something begins to do its job or task" + } + ], + "answer_3rd_grade": "Computers have two main types of memory that work together like a team. RAM (Random Access Memory) is like your desk where you spread out your homework - it's fast to use and you can easily add or remove things, but when you 'turn off' (go to bed), everything gets cleared away. RAM holds the programs and files you're currently using. ROM (Read-Only Memory) is like a reference book that never changes - it contains the basic instructions the computer needs to start up and remember how to be a computer. Even when the power is off, ROM keeps its information safe. Computers need both: ROM to wake up properly, and RAM to work quickly with your programs!", + "vocab_3rd_grade": [ + { + "word": "memory", + "definition": "The computer's storage space where it keeps information and programs" + }, + { + "word": "team", + "definition": "A group that works together to accomplish something, like players in a sport" + }, + { + "word": "RAM", + "definition": "Random Access Memory - the computer's workspace where it keeps things it's currently using" + }, + { + "word": "Random Access Memory", + "definition": "The full name for RAM - memory you can quickly read from or write to" + }, + { + "word": "desk", + "definition": "A flat surface where you spread out your work materials and supplies" + }, + { + "word": "homework", + "definition": "School work that you do at home to practice what you learned" + }, + { + "word": "fast", + "definition": "Something that happens quickly without much waiting" + }, + { + "word": "programs", + "definition": "Sets of instructions that tell the computer how to do specific tasks" + }, + { + "word": "files", + "definition": "Collections of information stored on a computer, like documents or pictures" + }, + { + "word": "ROM", + "definition": "Read-Only Memory - special memory that keeps important startup information" + }, + { + "word": "Read-Only Memory", + "definition": "The full name for ROM - memory you can read from but usually can't change" + }, + { + "word": "reference book", + "definition": "A book with important information that you look things up in, like a dictionary" + }, + { + "word": "basic instructions", + "definition": "The most important directions that something needs to work properly" + }, + { + "word": "start up", + "definition": "The process of turning on and getting ready to work" + }, + { + "word": "power", + "definition": "The electrical energy that makes electronic devices work" + }, + { + "word": "information", + "definition": "Facts, data, or details about something" + } + ], + "answer_7th_grade": "RAM (Random Access Memory) and ROM (Read-Only Memory) serve different but complementary roles in computer systems. RAM is volatile memory that provides fast, temporary storage for programs and data currently in use. It's called 'random access' because the CPU can quickly read from or write to any memory location. However, RAM loses all its contents when power is removed. ROM is non-volatile memory that permanently stores essential instructions like the BIOS or UEFI firmware that the computer needs to boot up. Modern 'ROM' is often actually flash memory that can be updated, but it retains its data even without power. Computers need both because ROM provides the stable foundation to start the system, while RAM provides the fast workspace needed for running programs efficiently.", + "vocab_7th_grade": [ + { + "word": "RAM", + "definition": "Random Access Memory - fast temporary storage for programs and data currently being used" + }, + { + "word": "Random Access Memory", + "definition": "Memory where any location can be accessed directly and quickly by the processor" + }, + { + "word": "ROM", + "definition": "Read-Only Memory - permanent storage for essential system startup instructions" + }, + { + "word": "Read-Only Memory", + "definition": "Memory designed primarily for reading data that doesn't change often" + }, + { + "word": "complementary roles", + "definition": "Different functions that work together to complete a larger purpose" + }, + { + "word": "volatile memory", + "definition": "Storage that loses all its data when electrical power is turned off" + }, + { + "word": "temporary storage", + "definition": "A place to keep data for a short time while working with it" + }, + { + "word": "random access", + "definition": "The ability to go directly to any memory location without reading through others first" + }, + { + "word": "CPU", + "definition": "Central Processing Unit - the main processor that executes program instructions" + }, + { + "word": "memory location", + "definition": "A specific address in memory where data can be stored or retrieved" + }, + { + "word": "power", + "definition": "Electrical energy needed to operate electronic devices" + }, + { + "word": "non-volatile memory", + "definition": "Storage that keeps its data even when power is turned off" + }, + { + "word": "permanently", + "definition": "Lasting for a very long time without changing or being lost" + }, + { + "word": "essential instructions", + "definition": "Critical commands that are absolutely necessary for a system to function" + }, + { + "word": "BIOS", + "definition": "Basic Input/Output System - firmware that initializes hardware during startup" + }, + { + "word": "UEFI firmware", + "definition": "Unified Extensible Firmware Interface - modern replacement for BIOS" + }, + { + "word": "boot up", + "definition": "The process of starting a computer and loading its operating system" + }, + { + "word": "flash memory", + "definition": "A type of non-volatile memory that can be electrically erased and rewritten" + }, + { + "word": "updated", + "definition": "Changed or modified to include new information or improvements" + }, + { + "word": "retains", + "definition": "Keeps or holds onto something without losing it" + }, + { + "word": "stable foundation", + "definition": "A reliable base that other things can be built upon" + }, + { + "word": "workspace", + "definition": "An area where work is done, with tools and materials readily available" + }, + { + "word": "efficiently", + "definition": "In a way that accomplishes tasks quickly without wasting time or resources" + } + ], + "answer_high_school": "RAM and ROM represent fundamentally different memory technologies optimized for distinct functions in computer architecture. RAM (Random Access Memory) provides volatile, high-speed storage with symmetric read/write performance, typically implemented using DRAM (Dynamic RAM) or SRAM (Static RAM) technologies. RAM serves as the primary working memory where the operating system loads programs and data for active use, enabling rapid access by the CPU through direct addressing. Its volatility (data loss when power is removed) is acceptable because active data can be saved to persistent storage. ROM (Read-Only Memory) provides non-volatile storage for critical system firmware, including BIOS/UEFI boot firmware, device drivers, and hardware initialization code. Modern ROM is often implemented as flash memory (EEPROM) allowing field updates while maintaining data persistence without power. The combination enables a bootstrap process: ROM initializes hardware and loads the operating system into RAM, where the system can then operate at full speed using RAM's superior performance characteristics.", + "vocab_high_school": [ + { + "word": "fundamentally different", + "definition": "Having basic, essential differences at the core level of how something works" + }, + { + "word": "memory technologies", + "definition": "Different methods and systems used to store and retrieve digital information" + }, + { + "word": "optimized", + "definition": "Designed or adjusted to perform as efficiently as possible for a specific purpose" + }, + { + "word": "distinct functions", + "definition": "Separate, clearly different roles or purposes that don't overlap" + }, + { + "word": "computer architecture", + "definition": "The overall design and organization of how computer components work together" + }, + { + "word": "volatile", + "definition": "Losing stored data when electrical power is removed from the system" + }, + { + "word": "high-speed storage", + "definition": "Memory that can be accessed and modified very quickly by the processor" + }, + { + "word": "symmetric read/write performance", + "definition": "Memory that takes the same amount of time to read data as it does to write data" + }, + { + "word": "DRAM", + "definition": "Dynamic Random Access Memory - common type of volatile memory using capacitors" + }, + { + "word": "Dynamic RAM", + "definition": "Memory that needs to be refreshed periodically to maintain stored data" + }, + { + "word": "SRAM", + "definition": "Static Random Access Memory - faster but more expensive volatile memory" + }, + { + "word": "Static RAM", + "definition": "Memory that doesn't need refreshing as long as power is maintained" + }, + { + "word": "primary working memory", + "definition": "The main memory space where active programs and data are stored for processing" + }, + { + "word": "operating system", + "definition": "Software that manages computer hardware and provides services for other programs" + }, + { + "word": "active use", + "definition": "Currently being processed or accessed by the computer system" + }, + { + "word": "rapid access", + "definition": "Very fast retrieval of data with minimal delay" + }, + { + "word": "direct addressing", + "definition": "Accessing memory locations immediately using their specific address" + }, + { + "word": "volatility", + "definition": "The characteristic of losing data when power is removed" + }, + { + "word": "persistent storage", + "definition": "Storage that maintains data permanently, even without power" + }, + { + "word": "non-volatile storage", + "definition": "Memory that retains information without requiring electrical power" + }, + { + "word": "critical system firmware", + "definition": "Essential low-level software needed for basic hardware operation" + }, + { + "word": "BIOS/UEFI", + "definition": "Basic system firmware that initializes hardware and starts the operating system" + }, + { + "word": "device drivers", + "definition": "Software that allows the operating system to communicate with hardware components" + }, + { + "word": "hardware initialization", + "definition": "The process of setting up and configuring computer hardware for operation" + }, + { + "word": "flash memory", + "definition": "Non-volatile memory that can be electrically erased and reprogrammed" + }, + { + "word": "EEPROM", + "definition": "Electrically Erasable Programmable Read-Only Memory - updatable non-volatile storage" + }, + { + "word": "field updates", + "definition": "Software modifications that can be applied after a system is deployed" + }, + { + "word": "data persistence", + "definition": "The ability of data to remain stored and accessible over time" + }, + { + "word": "bootstrap process", + "definition": "The sequence of operations that starts up a computer system from power-on" + }, + { + "word": "initializes", + "definition": "Sets up and prepares hardware components for operation" + }, + { + "word": "superior performance characteristics", + "definition": "Better speed, efficiency, and capabilities compared to alternatives" + } + ], + "answer_undergraduate": "RAM and ROM architectures reflect different optimization priorities in the memory hierarchy, serving complementary roles in system initialization and runtime operation. RAM implementations (primarily DRAM with capacitor-based storage requiring periodic refresh, and SRAM using bistable latching circuits) provide volatile, high-bandwidth memory with symmetric read/write access patterns optimized for CPU cache hierarchies and main memory subsystems. Modern DDR SDRAM variants achieve high throughput through techniques like double data rate signaling, multiple banks, and burst transfers, while maintaining compatibility with virtual memory systems requiring arbitrary address access patterns. ROM technologies encompass various non-volatile implementations: mask ROM with hard-coded bit patterns, PROM with one-time programmable fuses, EPROM with UV-erasable floating gate storage, EEPROM with electrically erasable cells, and modern flash memory using NAND or NOR architectures. Contemporary systems typically employ NOR flash for execute-in-place firmware storage (enabling direct CPU execution without loading to RAM) and NAND flash for bulk storage applications. The architectural necessity for both memory types stems from the bootstrap paradox: volatile RAM requires initialization by non-volatile code, while high-performance operation demands RAM's superior access characteristics. This complementary relationship enables the fundamental computing model where persistent firmware initializes hardware subsystems, establishes memory controllers and I/O interfaces, then loads and transfers control to volatile-resident operating systems that manage application execution environments.", + "vocab_undergraduate": [ + { + "word": "architectures", + "definition": "Structured designs and organizational frameworks for implementing complex systems" + }, + { + "word": "optimization priorities", + "definition": "The relative importance placed on different performance characteristics during design" + }, + { + "word": "memory hierarchy", + "definition": "The organized levels of memory with different speed, size, and cost characteristics" + }, + { + "word": "complementary roles", + "definition": "Different functions that work together synergistically to achieve system objectives" + }, + { + "word": "system initialization", + "definition": "The process of configuring and preparing all system components for operation" + }, + { + "word": "runtime operation", + "definition": "The normal operating phase when applications execute and process user requests" + }, + { + "word": "DRAM", + "definition": "Dynamic Random Access Memory using capacitive storage requiring periodic refresh" + }, + { + "word": "capacitor-based storage", + "definition": "Memory technology storing data as electrical charge on capacitive elements" + }, + { + "word": "periodic refresh", + "definition": "Regular rewriting of memory contents to prevent data loss in dynamic memory" + }, + { + "word": "SRAM", + "definition": "Static Random Access Memory using bistable circuits for high-speed, low-latency access" + }, + { + "word": "bistable latching circuits", + "definition": "Electronic circuits with two stable states used to store binary information" + }, + { + "word": "high-bandwidth memory", + "definition": "Memory systems capable of transferring large amounts of data per unit time" + }, + { + "word": "symmetric read/write access patterns", + "definition": "Memory systems with equivalent performance for both data retrieval and storage operations" + }, + { + "word": "CPU cache hierarchies", + "definition": "Multiple levels of fast memory organized to optimize processor data access patterns" + }, + { + "word": "main memory subsystems", + "definition": "The primary memory components that store program instructions and working data" + }, + { + "word": "DDR SDRAM variants", + "definition": "Double Data Rate Synchronous Dynamic RAM implementations with enhanced throughput" + }, + { + "word": "high throughput", + "definition": "The ability to process or transfer large volumes of data per unit time" + }, + { + "word": "double data rate signaling", + "definition": "Transferring data on both rising and falling edges of clock signals" + }, + { + "word": "multiple banks", + "definition": "Independent memory segments that can be accessed simultaneously for parallelism" + }, + { + "word": "burst transfers", + "definition": "Transferring sequential data in continuous streams to maximize bandwidth efficiency" + }, + { + "word": "virtual memory systems", + "definition": "Memory management schemes that provide larger address spaces than physical memory" + }, + { + "word": "arbitrary address access patterns", + "definition": "The ability to access any memory location in any order without performance penalties" + }, + { + "word": "ROM technologies", + "definition": "Various implementations of read-only memory with different programming and erasure capabilities" + }, + { + "word": "non-volatile implementations", + "definition": "Memory technologies that retain data without continuous electrical power" + }, + { + "word": "mask ROM", + "definition": "Read-only memory with data patterns permanently encoded during manufacturing" + }, + { + "word": "hard-coded bit patterns", + "definition": "Data patterns permanently embedded in hardware during fabrication" + }, + { + "word": "PROM", + "definition": "Programmable Read-Only Memory allowing one-time programming after manufacturing" + }, + { + "word": "one-time programmable fuses", + "definition": "Physical elements that can be permanently altered once to store data" + }, + { + "word": "EPROM", + "definition": "Erasable Programmable Read-Only Memory using ultraviolet light for data erasure" + }, + { + "word": "UV-erasable", + "definition": "Capable of having stored data erased through exposure to ultraviolet radiation" + }, + { + "word": "floating gate storage", + "definition": "Memory technology storing data as electrical charge trapped in isolated conductors" + }, + { + "word": "EEPROM", + "definition": "Electrically Erasable Programmable Read-Only Memory allowing electrical erasure and reprogramming" + }, + { + "word": "electrically erasable cells", + "definition": "Memory elements that can be erased and reprogrammed using electrical signals" + }, + { + "word": "NAND", + "definition": "Flash memory architecture optimized for sequential access and high-density storage" + }, + { + "word": "NOR architectures", + "definition": "Flash memory architecture optimized for random access and execute-in-place operations" + }, + { + "word": "contemporary systems", + "definition": "Modern computer systems incorporating current technological standards and practices" + }, + { + "word": "execute-in-place", + "definition": "Running code directly from non-volatile memory without copying to RAM first" + }, + { + "word": "firmware storage", + "definition": "Non-volatile memory dedicated to storing low-level system software" + }, + { + "word": "bulk storage applications", + "definition": "Memory uses requiring large capacity for data archival and file systems" + }, + { + "word": "architectural necessity", + "definition": "Design requirements that are fundamentally unavoidable due to system constraints" + }, + { + "word": "bootstrap paradox", + "definition": "The circular dependency where volatile memory requires non-volatile code for initialization" + }, + { + "word": "volatile RAM", + "definition": "Random access memory that loses data when electrical power is removed" + }, + { + "word": "initialization", + "definition": "The process of setting up system components to their initial operational states" + }, + { + "word": "non-volatile code", + "definition": "Program instructions stored in memory that persists without electrical power" + }, + { + "word": "high-performance operation", + "definition": "System execution characterized by maximum speed and efficiency" + }, + { + "word": "superior access characteristics", + "definition": "Memory properties providing faster speed and better performance than alternatives" + }, + { + "word": "complementary relationship", + "definition": "Mutual dependence where different components enhance each other's capabilities" + }, + { + "word": "fundamental computing model", + "definition": "The basic architectural pattern underlying all general-purpose computer systems" + }, + { + "word": "persistent firmware", + "definition": "Low-level software stored in non-volatile memory that survives power cycles" + }, + { + "word": "hardware subsystems", + "definition": "Independent functional units that comprise the overall computer hardware architecture" + }, + { + "word": "memory controllers", + "definition": "Specialized hardware managing access to and operation of memory systems" + }, + { + "word": "I/O interfaces", + "definition": "Hardware and software components managing communication with external devices" + }, + { + "word": "volatile-resident", + "definition": "Software and data that exists only in volatile memory during system operation" + }, + { + "word": "operating systems", + "definition": "System software managing hardware resources and providing application programming interfaces" + }, + { + "word": "application execution environments", + "definition": "Runtime systems providing the infrastructure and services needed for program execution" + } + ], + "topics": [ + "RAM", + "ROM", + "memory types", + "volatile memory" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/explain-ram-vs-rom.yml", + compiledAt: "2026-02-23T00:32:17.174Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/hardware/trace-data-flow-through-system.yml': { + module: { + "id": 8, + "question": "Trace the flow of data through a computer system from input to output", + "answer": "Input device generates signals → driver interprets and places data into OS buffers → user process reads data (system call) → CPU processes, manipulating in registers and RAM (caches accelerate) → results passed to output subsystem (system call) → driver formats & sends to device → device renders (screen, printer, network packet).", + "vocab_answer": [ + { + "word": "input device", + "definition": "Hardware that allows users to provide data or commands to a computer" + }, + { + "word": "signals", + "definition": "Electrical or digital patterns that carry information between components" + }, + { + "word": "driver", + "definition": "Software that translates between hardware and the operating system" + }, + { + "word": "OS buffers", + "definition": "Temporary storage areas managed by the operating system for data transfer" + }, + { + "word": "user process", + "definition": "A program running on behalf of the user in user space" + }, + { + "word": "system call", + "definition": "A request from a program to the operating system for services" + }, + { + "word": "CPU processes", + "definition": "The central processor manipulates and transforms data according to instructions" + }, + { + "word": "registers", + "definition": "Very fast, small storage locations inside the processor" + }, + { + "word": "RAM", + "definition": "Random Access Memory - main system memory for active programs and data" + }, + { + "word": "caches", + "definition": "Fast memory that stores frequently accessed data close to the processor" + }, + { + "word": "output subsystem", + "definition": "System components responsible for sending data to output devices" + }, + { + "word": "device renders", + "definition": "The process of converting digital data into visible, audible, or transmittable form" + }, + { + "word": "data flow", + "definition": "The path and transformation of information as it moves through a computer system" + } + ], + "answer_kindergarten": "When you type your name on the keyboard, it goes on an amazing journey through the computer! First, the keyboard sends a secret message to the computer saying 'the A key was pressed!' The computer's helpers catch this message and put it in a special waiting area. Then the computer's brain picks up the message and figures out what to do with it - maybe it decides to put the letter 'A' in your document. The brain does its work and then sends the result to another set of helpers who know how to talk to the screen. Finally, these helpers tell the screen 'please show the letter A right here!' and then you can see your letter appear on the screen. It's like a relay race where the message gets passed from friend to friend until it reaches the finish line!", + "vocab_kindergarten": [ + { + "word": "keyboard", + "definition": "The thing with buttons that you press to type letters and numbers into the computer" + }, + { + "word": "secret message", + "definition": "Information sent in a special code that only certain people can understand" + }, + { + "word": "computer", + "definition": "A smart machine that can follow instructions and help you do things" + }, + { + "word": "helpers", + "definition": "Special programs inside the computer that help different parts work together" + }, + { + "word": "waiting area", + "definition": "A place where things stay temporarily until it's their turn" + }, + { + "word": "computer's brain", + "definition": "The smart part of the computer that thinks and makes decisions" + }, + { + "word": "document", + "definition": "A file with words and pictures that you can read and edit" + }, + { + "word": "screen", + "definition": "The flat part of the computer that shows you pictures and words" + }, + { + "word": "relay race", + "definition": "A game where team members take turns carrying something to the next person" + }, + { + "word": "message", + "definition": "Information that someone sends to tell you something" + }, + { + "word": "finish line", + "definition": "The end point of a race where you're trying to get to" + } + ], + "answer_3rd_grade": "Data flows through a computer like water flowing through pipes, but much faster! Let's follow what happens when you type a letter: First, the keyboard creates an electrical signal when you press a key. This signal travels to the computer where special software (called a driver) translates it into computer language. The information then goes into a temporary waiting area while the CPU (processor) decides what to do with it. The CPU processes the information (like figuring out which letter you typed and where to put it) and creates a result. This result then travels to another driver that knows how to talk to the monitor, and finally the monitor displays the letter on screen. This whole journey happens so fast it seems instant, but the data is actually taking a complex path through different parts of the computer!", + "vocab_3rd_grade": [ + { + "word": "data flows", + "definition": "How information moves through a computer like water flowing through pipes" + }, + { + "word": "pipes", + "definition": "Tubes that carry water from one place to another" + }, + { + "word": "electrical signal", + "definition": "A pattern of electricity that carries information" + }, + { + "word": "special software", + "definition": "Computer programs designed to do specific jobs" + }, + { + "word": "driver", + "definition": "A program that helps the computer talk to devices like keyboards and printers" + }, + { + "word": "computer language", + "definition": "The special code that computers use to understand instructions" + }, + { + "word": "temporary waiting area", + "definition": "A place in memory where information waits before being used" + }, + { + "word": "CPU", + "definition": "Central Processing Unit - the computer's brain that does all the thinking" + }, + { + "word": "processor", + "definition": "Another name for the CPU, the part that processes information" + }, + { + "word": "processes", + "definition": "Works on and changes information according to instructions" + }, + { + "word": "information", + "definition": "Facts, data, or details about something" + }, + { + "word": "result", + "definition": "The answer or outcome after the computer finishes its work" + }, + { + "word": "monitor", + "definition": "The screen that displays pictures and text from the computer" + }, + { + "word": "displays", + "definition": "Shows something so you can see it" + }, + { + "word": "journey", + "definition": "A trip from one place to another" + }, + { + "word": "instant", + "definition": "Happening immediately without any delay" + }, + { + "word": "complex path", + "definition": "A complicated route with many steps and turns" + } + ], + "answer_7th_grade": "Data flow through computers follows a structured pathway involving multiple hardware and software layers. When you press a key, the keyboard generates an electrical signal that travels through a cable (or wirelessly) to the computer. A device driver - special software that knows how to communicate with that specific keyboard - interprets these signals and converts them into standardized data. This data gets temporarily stored in system buffers (waiting areas in memory) managed by the operating system. When your application (like a word processor) needs the data, it requests it from the operating system through a 'system call.' The CPU processes this data according to the program's instructions, potentially storing intermediate results in registers or memory. Once processing is complete, the results are sent back through the system to output drivers that control devices like the monitor or speakers. The entire journey involves hardware signals, device drivers, operating system management, application processing, and output rendering - all happening in milliseconds.", + "vocab_7th_grade": [ + { + "word": "data flow", + "definition": "The movement and transformation of information through computer systems" + }, + { + "word": "structured pathway", + "definition": "An organized route with defined steps and procedures" + }, + { + "word": "hardware and software layers", + "definition": "Different levels of computer components working together, from physical parts to programs" + }, + { + "word": "electrical signal", + "definition": "Changes in electrical voltage that carry information between components" + }, + { + "word": "cable", + "definition": "Wires bundled together to carry electrical signals or data" + }, + { + "word": "wirelessly", + "definition": "Without physical wires, using radio waves or other wireless technology" + }, + { + "word": "device driver", + "definition": "Special software that allows the operating system to control specific hardware" + }, + { + "word": "specific keyboard", + "definition": "A particular model or type of keyboard with unique characteristics" + }, + { + "word": "interprets", + "definition": "Translates or explains the meaning of signals or information" + }, + { + "word": "converts", + "definition": "Changes from one form or format into another" + }, + { + "word": "standardized data", + "definition": "Information organized in a common, agreed-upon format" + }, + { + "word": "system buffers", + "definition": "Memory areas where the operating system temporarily stores data" + }, + { + "word": "waiting areas", + "definition": "Locations where data stays temporarily until it can be processed" + }, + { + "word": "memory", + "definition": "Storage space where the computer keeps information and programs" + }, + { + "word": "operating system", + "definition": "The main software that manages the computer and runs other programs" + }, + { + "word": "application", + "definition": "A program designed to help users accomplish specific tasks" + }, + { + "word": "word processor", + "definition": "A program for creating and editing text documents" + }, + { + "word": "system call", + "definition": "A request that programs make to the operating system for help" + }, + { + "word": "program's instructions", + "definition": "The step-by-step commands that tell the computer what to do" + }, + { + "word": "intermediate results", + "definition": "Temporary answers produced during processing that lead to the final result" + }, + { + "word": "registers", + "definition": "Very fast storage locations inside the processor for immediate use" + }, + { + "word": "processing", + "definition": "The work of manipulating and transforming data according to instructions" + }, + { + "word": "output drivers", + "definition": "Software that controls how data is sent to output devices" + }, + { + "word": "monitor", + "definition": "A screen that displays visual information from the computer" + }, + { + "word": "speakers", + "definition": "Devices that convert electrical signals into sound waves" + }, + { + "word": "hardware signals", + "definition": "Electrical patterns that carry information between physical components" + }, + { + "word": "operating system management", + "definition": "How the OS coordinates and controls system resources" + }, + { + "word": "application processing", + "definition": "The work that user programs do to accomplish their tasks" + }, + { + "word": "output rendering", + "definition": "Converting processed data into forms that output devices can display or use" + }, + { + "word": "milliseconds", + "definition": "Very small units of time - thousandths of a second" + } + ], + "answer_high_school": "Data flow through computer systems involves multiple abstraction layers that transform physical signals into meaningful information processing. INPUT begins with transduction: keyboards convert mechanical key presses into electrical signals via switch matrices, which generate scan codes identifying specific keys. Device drivers translate these hardware-specific signals into standardized input events, placing them in kernel buffers managed by the I/O subsystem. The operating system provides system call interfaces allowing user applications to retrieve input data through standardized APIs (read(), select(), poll()). During PROCESSING, the CPU manipulates data through register operations, with memory hierarchy (L1/L2/L3 caches, RAM) optimizing access patterns and reducing latency. The processor's execution units perform arithmetic, logical, and control operations while the memory management unit handles virtual-to-physical address translation. OUTPUT processing reverses this flow: applications generate output data through system calls to graphics, audio, or network subsystems. Device drivers translate standardized output requests into hardware-specific commands, controlling display controllers, audio DACs, or network interfaces. Modern systems optimize this flow through techniques like DMA (direct memory access) for high-bandwidth data transfers, interrupt handling for asynchronous processing, and buffering strategies that smooth timing variations between components.", + "vocab_high_school": [ + { + "word": "abstraction layers", + "definition": "Different levels of system representation that hide lower-level complexity" + }, + { + "word": "physical signals", + "definition": "Real electrical, optical, or mechanical changes that carry information" + }, + { + "word": "information processing", + "definition": "The systematic handling, transformation, and analysis of data" + }, + { + "word": "transduction", + "definition": "Converting one form of energy or signal into another form" + }, + { + "word": "mechanical key presses", + "definition": "Physical movement of keys that creates electrical contact" + }, + { + "word": "switch matrices", + "definition": "Grid arrangements of electrical switches for detecting key presses" + }, + { + "word": "scan codes", + "definition": "Numeric codes that identify specific keys on a keyboard" + }, + { + "word": "hardware-specific signals", + "definition": "Electrical patterns unique to particular types of devices" + }, + { + "word": "standardized input events", + "definition": "Common format for representing user input across different applications" + }, + { + "word": "kernel buffers", + "definition": "Memory areas in the operating system core for temporary data storage" + }, + { + "word": "I/O subsystem", + "definition": "Operating system components that handle input and output operations" + }, + { + "word": "system call interfaces", + "definition": "Controlled access points between user programs and the operating system" + }, + { + "word": "user applications", + "definition": "Programs that run in user space to accomplish tasks for users" + }, + { + "word": "standardized APIs", + "definition": "Application Programming Interfaces with common, agreed-upon formats" + }, + { + "word": "read()", + "definition": "System call function for reading data from files or devices" + }, + { + "word": "select()", + "definition": "System call for monitoring multiple input sources simultaneously" + }, + { + "word": "poll()", + "definition": "System call for checking the status of multiple file descriptors" + }, + { + "word": "register operations", + "definition": "Manipulations of data stored in the processor's fastest memory locations" + }, + { + "word": "memory hierarchy", + "definition": "Organized levels of memory with different speeds, sizes, and costs" + }, + { + "word": "L1/L2/L3 caches", + "definition": "Multiple levels of fast memory close to the processor" + }, + { + "word": "access patterns", + "definition": "The sequence and frequency with which memory locations are accessed" + }, + { + "word": "latency", + "definition": "The time delay between requesting data and receiving it" + }, + { + "word": "execution units", + "definition": "Specialized processor components that perform specific types of operations" + }, + { + "word": "arithmetic", + "definition": "Mathematical operations like addition, subtraction, multiplication, division" + }, + { + "word": "logical", + "definition": "Operations involving true/false conditions and boolean logic" + }, + { + "word": "control operations", + "definition": "Instructions that manage program flow like jumps and branches" + }, + { + "word": "memory management unit", + "definition": "Hardware that manages memory access and address translation" + }, + { + "word": "virtual-to-physical address translation", + "definition": "Converting program addresses to actual memory locations" + }, + { + "word": "graphics", + "definition": "Visual processing subsystems for displaying images and interfaces" + }, + { + "word": "audio", + "definition": "Sound processing subsystems for input, output, and manipulation" + }, + { + "word": "network subsystems", + "definition": "Components responsible for network communication and data transmission" + }, + { + "word": "standardized output requests", + "definition": "Common format for applications to request output operations" + }, + { + "word": "hardware-specific commands", + "definition": "Instructions tailored to control particular types of devices" + }, + { + "word": "display controllers", + "definition": "Hardware that manages the output to monitors and screens" + }, + { + "word": "audio DACs", + "definition": "Digital-to-Analog Converters that transform digital sound to analog signals" + }, + { + "word": "network interfaces", + "definition": "Hardware and software that connect computers to networks" + }, + { + "word": "DMA", + "definition": "Direct Memory Access - data transfer without processor involvement" + }, + { + "word": "direct memory access", + "definition": "Hardware mechanism for transferring data directly between memory and devices" + }, + { + "word": "high-bandwidth data transfers", + "definition": "Moving large amounts of data quickly between system components" + }, + { + "word": "interrupt handling", + "definition": "System mechanisms for responding to urgent hardware and software events" + }, + { + "word": "asynchronous processing", + "definition": "Operations that can occur independently without waiting for each other" + }, + { + "word": "buffering strategies", + "definition": "Methods for temporarily storing data to smooth out timing differences" + }, + { + "word": "timing variations", + "definition": "Differences in the speed at which different components operate" + } + ], + "answer_undergraduate": "Data flow through computer systems represents a complex orchestration of hardware signal processing, software abstraction layers, and system-level coordination mechanisms. INPUT processing begins with physical transduction where human actions or environmental stimuli generate electrical signals through various mechanisms: keyboards employ scanning matrices with debouncing algorithms, optical mice use correlation tracking of surface features via photodiode arrays, touchscreens implement capacitive sensing with noise filtering and palm rejection. These analog signals undergo digitization through ADCs with appropriate sampling rates and quantization schemes. Hardware abstraction layers (HAL) provide device drivers that encapsulate hardware-specific protocols and present standardized interfaces to higher software layers. The kernel's I/O subsystem manages input through interrupt service routines, DMA controllers for bulk transfers, and buffer management with flow control mechanisms. System call interfaces (POSIX read/write semantics, Windows I/O completion ports) provide controlled access to kernel services while maintaining security boundaries and resource isolation. PROCESSING involves complex interactions between CPU execution units, memory hierarchy management, and virtual memory systems. The processor's pipeline stages (fetch, decode, execute, writeback) operate on instruction streams while cache coherency protocols maintain data consistency across multiple cores. Memory management units provide address translation with TLB optimization, while prefetching mechanisms predict access patterns to minimize memory latency. OUTPUT processing employs various rendering and transmission mechanisms: graphics pipelines transform geometric data through vertex/pixel shaders with GPU acceleration, audio systems perform real-time signal processing with low-latency requirements, network stacks implement protocol processing with zero-copy optimizations and hardware offloading. Modern architectures incorporate additional complexity including security mechanisms (IOMMU, capability-based access control), power management (P-states, C-states, dynamic voltage scaling), and quality-of-service guarantees for real-time systems. The entire data flow optimization requires careful consideration of latency requirements, throughput constraints, security boundaries, and energy efficiency across the complete system stack.", + "vocab_undergraduate": [ + { + "word": "complex orchestration", + "definition": "The sophisticated coordination of multiple hardware and software components working together" + }, + { + "word": "hardware signal processing", + "definition": "Electronic circuits that manipulate and interpret physical signals from input devices" + }, + { + "word": "software abstraction layers", + "definition": "Programming interfaces that hide hardware complexity from application developers" + }, + { + "word": "system-level coordination mechanisms", + "definition": "Architectural features that manage interactions between different system components" + }, + { + "word": "physical transduction", + "definition": "The conversion of physical phenomena into electrical signals that computers can process" + }, + { + "word": "environmental stimuli", + "definition": "External physical inputs such as light, pressure, or motion detected by sensors" + }, + { + "word": "scanning matrices", + "definition": "Grid-based electrical circuits used in keyboards to detect which keys are pressed" + }, + { + "word": "debouncing algorithms", + "definition": "Software or hardware techniques to eliminate spurious signals from mechanical switches" + }, + { + "word": "optical mice", + "definition": "Pointing devices that use light sensors to track movement across surfaces" + }, + { + "word": "correlation tracking", + "definition": "Mathematical algorithms that match surface patterns to determine mouse movement" + }, + { + "word": "surface features", + "definition": "Microscopic textures and patterns on surfaces that optical sensors can detect" + }, + { + "word": "photodiode arrays", + "definition": "Collections of light-sensitive semiconductor devices used in optical sensors" + }, + { + "word": "touchscreens", + "definition": "Input devices that detect finger or stylus contact through electrical or optical means" + }, + { + "word": "capacitive sensing", + "definition": "Touch detection technology that measures changes in electrical field capacitance" + }, + { + "word": "noise filtering", + "definition": "Signal processing techniques that remove unwanted electrical interference" + }, + { + "word": "palm rejection", + "definition": "Algorithms that distinguish intentional touch input from accidental contact" + }, + { + "word": "analog signals", + "definition": "Continuous electrical waveforms that represent real-world physical quantities" + }, + { + "word": "digitization", + "definition": "The process of converting analog signals into discrete digital values" + }, + { + "word": "ADCs", + "definition": "Analog-to-Digital Converters that transform continuous signals into binary data" + }, + { + "word": "sampling rates", + "definition": "The frequency at which analog signals are measured and converted to digital form" + }, + { + "word": "quantization schemes", + "definition": "Methods for mapping continuous analog values to discrete digital representations" + }, + { + "word": "hardware abstraction layers", + "definition": "Software interfaces that provide uniform access to diverse hardware components" + }, + { + "word": "HAL", + "definition": "Hardware Abstraction Layer - system software that isolates applications from hardware details" + }, + { + "word": "device drivers", + "definition": "Specialized software modules that enable operating systems to communicate with hardware" + }, + { + "word": "hardware-specific protocols", + "definition": "Communication standards tailored to particular types of devices or interfaces" + }, + { + "word": "standardized interfaces", + "definition": "Common protocols that allow different hardware components to work together" + }, + { + "word": "kernel's I/O subsystem", + "definition": "Core operating system components responsible for managing input/output operations" + }, + { + "word": "interrupt service routines", + "definition": "Special functions that handle hardware events requiring immediate processor attention" + }, + { + "word": "DMA controllers", + "definition": "Direct Memory Access hardware that transfers data without constant CPU involvement" + }, + { + "word": "bulk transfers", + "definition": "Large-scale data movement operations optimized for high throughput" + }, + { + "word": "buffer management", + "definition": "Techniques for efficiently organizing temporary data storage areas" + }, + { + "word": "flow control mechanisms", + "definition": "Systems that regulate data transmission rates to prevent buffer overflow" + }, + { + "word": "system call interfaces", + "definition": "Programming interfaces that allow applications to request operating system services" + }, + { + "word": "POSIX read/write semantics", + "definition": "Standardized file and device access operations used in Unix-like systems" + }, + { + "word": "Windows I/O completion ports", + "definition": "Microsoft's high-performance asynchronous input/output mechanism" + }, + { + "word": "controlled access", + "definition": "Security mechanisms that regulate which programs can interact with hardware" + }, + { + "word": "kernel services", + "definition": "Core operating system functions available to device drivers and applications" + }, + { + "word": "security boundaries", + "definition": "Protection mechanisms that isolate different levels of system privilege" + }, + { + "word": "resource isolation", + "definition": "Techniques that prevent different processes from interfering with each other" + }, + { + "word": "complex interactions", + "definition": "Multi-step processes involving coordination between various system components" + }, + { + "word": "CPU execution units", + "definition": "Functional blocks within processors that perform arithmetic, logic, and control operations" + }, + { + "word": "memory hierarchy management", + "definition": "Systems that optimize data placement across different levels of storage" + }, + { + "word": "virtual memory systems", + "definition": "Memory management that provides each process with its own address space" + }, + { + "word": "pipeline stages", + "definition": "Sequential phases in instruction processing that enable parallelism" + }, + { + "word": "fetch", + "definition": "The pipeline stage that retrieves instructions from memory" + }, + { + "word": "decode", + "definition": "The pipeline stage that interprets instruction formats and prepares execution" + }, + { + "word": "execute", + "definition": "The pipeline stage that performs the actual computational work" + }, + { + "word": "writeback", + "definition": "The pipeline stage that stores results back to registers or memory" + }, + { + "word": "instruction streams", + "definition": "Sequences of program instructions flowing through the processor pipeline" + }, + { + "word": "cache coherency protocols", + "definition": "Mechanisms ensuring data consistency across multiple processor caches" + }, + { + "word": "data consistency", + "definition": "Guaranteeing that all system components see the same data values" + }, + { + "word": "multiple cores", + "definition": "Processor architectures with several independent execution units" + }, + { + "word": "memory management units", + "definition": "Hardware that translates virtual addresses to physical memory locations" + }, + { + "word": "address translation", + "definition": "The process of converting virtual memory addresses to physical addresses" + }, + { + "word": "TLB optimization", + "definition": "Techniques for improving Translation Lookaside Buffer performance" + }, + { + "word": "prefetching mechanisms", + "definition": "Systems that predict and load data before it is explicitly requested" + }, + { + "word": "predict access patterns", + "definition": "Algorithms that anticipate future memory requests based on current behavior" + }, + { + "word": "memory latency", + "definition": "The delay between requesting data from memory and receiving it" + }, + { + "word": "rendering and transmission mechanisms", + "definition": "Systems that generate and deliver visual content to display devices" + }, + { + "word": "graphics pipelines", + "definition": "Specialized processing chains that transform 3D models into 2D images" + }, + { + "word": "geometric data", + "definition": "Mathematical representations of shapes and objects in 3D space" + }, + { + "word": "vertex/pixel shaders", + "definition": "Programmable graphics processing units that manipulate geometry and colors" + }, + { + "word": "GPU acceleration", + "definition": "Using graphics processors for general-purpose parallel computation" + }, + { + "word": "audio systems", + "definition": "Hardware and software components that process and output sound" + }, + { + "word": "real-time signal processing", + "definition": "Continuous processing of audio data with minimal delay" + }, + { + "word": "low-latency requirements", + "definition": "System constraints requiring very fast response times" + }, + { + "word": "network stacks", + "definition": "Layered software protocols that manage network communication" + }, + { + "word": "protocol processing", + "definition": "Handling the rules and formats for network data transmission" + }, + { + "word": "zero-copy optimizations", + "definition": "Techniques that avoid unnecessary data copying to improve performance" + }, + { + "word": "hardware offloading", + "definition": "Using specialized chips to handle specific tasks more efficiently" + }, + { + "word": "security mechanisms", + "definition": "Hardware and software features that protect system integrity and data" + }, + { + "word": "IOMMU", + "definition": "Input-Output Memory Management Unit that provides address translation for devices" + }, + { + "word": "capability-based access control", + "definition": "Security model where access rights are associated with unforgeable tokens" + }, + { + "word": "power management", + "definition": "Systems that control energy consumption to optimize battery life and heat" + }, + { + "word": "P-states", + "definition": "Performance states that adjust processor frequency and voltage" + }, + { + "word": "C-states", + "definition": "CPU sleep states that reduce power consumption when idle" + }, + { + "word": "dynamic voltage scaling", + "definition": "Adjusting processor supply voltage based on performance requirements" + }, + { + "word": "quality-of-service guarantees", + "definition": "System assurances about meeting specific performance requirements" + }, + { + "word": "real-time systems", + "definition": "Computing systems that must respond to inputs within strict time constraints" + }, + { + "word": "data flow optimization", + "definition": "Techniques for improving the efficiency of information movement through systems" + }, + { + "word": "latency requirements", + "definition": "Constraints on the maximum acceptable delay for system responses" + }, + { + "word": "throughput constraints", + "definition": "Requirements for minimum data processing or transmission rates" + }, + { + "word": "energy efficiency", + "definition": "The ratio of useful work performed to electrical power consumed" + }, + { + "word": "complete system stack", + "definition": "All layers of hardware and software from physical devices to applications" + } + ], + "topics": [ + "data flow", + "I/O", + "system calls", + "data processing" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/hardware/trace-data-flow-through-system.yml", + compiledAt: "2026-02-23T00:32:17.176Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/os/explain-device-drivers.yml': { + module: { + "id": 12, + "question": "Explain what device drivers are, why they're necessary, and how they enable hardware-software communication", + "answer": "Device drivers are specialized software programs that act as translators between the operating system and specific hardware components. They're necessary because different hardware manufacturers use different communication protocols, electrical signals, and data formats. Device drivers abstract these differences by providing a standardized interface that the operating system can use to communicate with any hardware device. When software needs to use hardware (like printing a document), it sends a request to the operating system, which forwards it to the appropriate device driver. The driver then translates this request into the specific commands that the hardware understands, handles the low-level communication, and returns any results back through the same chain. This layered architecture allows the same operating system to work with thousands of different hardware devices without needing to understand the unique details of each one.", + "vocab_answer": [ + { + "word": "device drivers", + "definition": "Specialized software programs that enable communication between the operating system and specific hardware components" + }, + { + "word": "translators", + "definition": "Software that converts commands from one format or protocol to another" + }, + { + "word": "communication protocols", + "definition": "Standardized rules and formats for how different system components exchange information" + }, + { + "word": "electrical signals", + "definition": "Physical voltages and currents used to transmit data between hardware components" + }, + { + "word": "data formats", + "definition": "Specific ways of organizing and structuring information for transmission or storage" + }, + { + "word": "standardized interface", + "definition": "A common set of commands and procedures that different software components can use" + }, + { + "word": "low-level communication", + "definition": "Direct interaction with hardware using specific technical protocols and commands" + }, + { + "word": "layered architecture", + "definition": "System design where components are organized in hierarchical levels, each providing services to the level above" + } + ], + "answer_kindergarten": "Device drivers are like INTERPRETERS for computers! Imagine you want to talk to someone who speaks a different language - you need an interpreter to translate what you say into their language, and translate what they say back to you. Computer parts like printers, cameras, and game controllers all 'speak' different languages. Device drivers are special helpers that translate between your computer and all these different parts so they can work together. Without these translator helpers, your computer wouldn't know how to talk to your printer or camera!", + "vocab_kindergarten": [ + { + "word": "device drivers", + "definition": "Special helper programs that help your computer talk to printers, cameras, and other computer parts" + }, + { + "word": "interpreters", + "definition": "People who help others understand different languages by translating what they say" + }, + { + "word": "translate", + "definition": "Change words from one language into another language so people can understand" + }, + { + "word": "computer parts", + "definition": "Pieces that make up a computer, like the keyboard, mouse, and screen" + }, + { + "word": "languages", + "definition": "Different ways of talking or communicating that people or machines use" + }, + { + "word": "helpers", + "definition": "Things that make jobs easier by doing some of the work for you" + } + ], + "answer_3rd_grade": "Device drivers are special MIDDLEMAN programs that help your computer talk to all its different parts and accessories. Think of them like a school translator who helps kids from different countries understand each other. Every piece of computer hardware - your printer, webcam, game controller, or USB drive - has its own special way of 'talking' to computers. Device drivers learn these special languages and act as go-betweens. When you want to print a picture, your computer tells the printer driver 'print this picture,' and the driver translates that into the specific electronic signals the printer understands. The driver also listens to what the printer says back (like 'I'm out of ink!') and translates that message for your computer. This is why you sometimes need to install new drivers when you plug in a new device - you're giving your computer a new translator!", + "vocab_3rd_grade": [ + { + "word": "middleman programs", + "definition": "Software that sits between two things and helps them communicate with each other" + }, + { + "word": "accessories", + "definition": "Extra parts you can add to your computer, like printers, cameras, or speakers" + }, + { + "word": "translator", + "definition": "Someone who changes messages from one language into another language" + }, + { + "word": "hardware", + "definition": "The physical parts of a computer that you can touch, like the keyboard and monitor" + }, + { + "word": "electronic signals", + "definition": "Electrical messages that carry information between computer parts" + }, + { + "word": "go-betweens", + "definition": "People or things that help two other things communicate or work together" + }, + { + "word": "install", + "definition": "To put new software onto your computer so it can do new things" + } + ], + "answer_7th_grade": "Device drivers are SOFTWARE INTERMEDIARIES that implement hardware abstraction layers between the operating system kernel and specific peripheral devices. Each hardware manufacturer designs their products with unique INSTRUCTION SETS, register mappings, and communication protocols that are incompatible with other devices. Device drivers encapsulate this hardware-specific knowledge, providing a consistent API that applications can use regardless of the underlying hardware implementation. The driver architecture follows a REQUEST-RESPONSE model where applications make system calls to the OS, the OS routes these calls to appropriate drivers, drivers execute hardware-specific operations, and results propagate back through the software stack. Modern operating systems use PLUG-AND-PLAY mechanisms that automatically detect new hardware and load corresponding drivers from driver databases. This modular approach enables hardware independence, allowing the same software to work across different computer configurations without modification.", + "vocab_7th_grade": [ + { + "word": "software intermediaries", + "definition": "Programs that act as go-betweens, facilitating communication between different system components" + }, + { + "word": "hardware abstraction layers", + "definition": "Software interfaces that hide the complex details of how hardware actually works" + }, + { + "word": "operating system kernel", + "definition": "The core part of the operating system that manages hardware resources and system operations" + }, + { + "word": "peripheral devices", + "definition": "Hardware components connected to but separate from the main computer, like printers and keyboards" + }, + { + "word": "instruction sets", + "definition": "Collections of commands that specific hardware components can understand and execute" + }, + { + "word": "register mappings", + "definition": "Assignments of memory locations where hardware stores data and receives commands" + }, + { + "word": "hardware-specific knowledge", + "definition": "Technical information about how particular devices operate and communicate" + }, + { + "word": "consistent API", + "definition": "A standardized set of programming interfaces that work the same way across different devices" + }, + { + "word": "underlying hardware", + "definition": "The actual physical components that perform computing operations" + }, + { + "word": "request-response model", + "definition": "A communication pattern where one component asks for something and another component provides an answer" + }, + { + "word": "system calls", + "definition": "Programming interfaces that allow applications to request services from the operating system" + }, + { + "word": "software stack", + "definition": "Layers of programs built on top of each other, from hardware drivers to user applications" + }, + { + "word": "plug-and-play mechanisms", + "definition": "Features that automatically recognize and configure new hardware without manual setup" + }, + { + "word": "driver databases", + "definition": "Collections of device drivers stored for automatic installation when needed" + }, + { + "word": "modular approach", + "definition": "Design method that breaks systems into independent, interchangeable components" + }, + { + "word": "hardware independence", + "definition": "Software's ability to work with different hardware without needing modification" + } + ], + "answer_high_school": "Device drivers constitute KERNEL-MODE software modules that implement hardware abstraction through standardized interfaces, enabling platform-independent application development. These drivers encapsulate device-specific MICROCODE interactions, register manipulations, and interrupt handling routines that vary significantly across hardware manufacturers and product lines. The driver subsystem operates through LAYERED PROTOCOLS where applications invoke system calls, the OS kernel dispatches requests through device manager APIs, drivers execute privileged hardware operations, and responses traverse back through the call stack. Modern driver architectures implement USER-MODE drivers for enhanced system stability, separating critical kernel operations from device-specific logic. Advanced features include ASYNCHRONOUS I/O handling for performance optimization, POWER MANAGEMENT integration for mobile devices, and HOT-PLUGGING support for dynamic hardware configuration. The Windows Driver Model (WDM) and Linux's Unified Device Model exemplify how operating systems provide frameworks for consistent driver development while accommodating diverse hardware ecosystems.", + "vocab_high_school": [ + { + "word": "kernel-mode software", + "definition": "Programs that run with full system privileges and direct access to hardware" + }, + { + "word": "platform-independent", + "definition": "Software that can run on different computer systems without modification" + }, + { + "word": "microcode interactions", + "definition": "Low-level communication with firmware that controls basic hardware operations" + }, + { + "word": "register manipulations", + "definition": "Direct reading and writing of data to specific memory locations in hardware" + }, + { + "word": "interrupt handling", + "definition": "Managing signals from hardware that require immediate attention from the processor" + }, + { + "word": "layered protocols", + "definition": "Communication systems organized in hierarchical levels with specific responsibilities" + }, + { + "word": "device manager APIs", + "definition": "Programming interfaces provided by the operating system for managing hardware devices" + }, + { + "word": "privileged operations", + "definition": "System functions that require special permissions and can affect system stability" + }, + { + "word": "call stack", + "definition": "The sequence of function calls and returns in a program's execution" + }, + { + "word": "user-mode drivers", + "definition": "Device drivers that run without full system privileges for improved security" + }, + { + "word": "system stability", + "definition": "A computer's ability to continue operating reliably without crashes or errors" + }, + { + "word": "asynchronous I/O", + "definition": "Input/output operations that don't block other processes while waiting for completion" + }, + { + "word": "performance optimization", + "definition": "Techniques for making systems run faster and more efficiently" + }, + { + "word": "power management", + "definition": "Features that control energy consumption to extend battery life and reduce heat" + }, + { + "word": "hot-plugging", + "definition": "The ability to connect or disconnect hardware while the system is running" + }, + { + "word": "dynamic configuration", + "definition": "Automatically adjusting system settings when hardware changes occur" + }, + { + "word": "Windows Driver Model", + "definition": "Microsoft's framework for creating consistent device drivers across Windows systems" + }, + { + "word": "Unified Device Model", + "definition": "Linux's approach to managing all hardware devices through a consistent interface" + }, + { + "word": "driver frameworks", + "definition": "Software foundations that provide common services for device driver development" + }, + { + "word": "hardware ecosystems", + "definition": "Collections of interconnected hardware components and their software support" + } + ], + "answer_undergraduate": "Device drivers implement HARDWARE ABSTRACTION LAYERS through kernel-resident software modules that encapsulate device-specific microarchitecture details, providing uniform interfaces for heterogeneous hardware ecosystems. These modules mediate between application-level system calls and hardware-specific CONTROL REGISTER programming, interrupt service routines, and DMA controller management. Contemporary driver architectures employ MICROKERNEL principles where drivers execute in isolated address spaces, utilizing message-passing mechanisms for kernel communication to enhance system reliability and security. Advanced implementations incorporate QUALITY-OF-SERVICE mechanisms including bandwidth allocation, latency guarantees, and priority-based scheduling for real-time systems. The driver framework manages POWER STATE transitions through ACPI compliance, implements IOMMU-based memory protection, and supports VIRTUALIZATION through paravirtualized and SR-IOV interfaces. Modern systems utilize UDEV/DEVFS dynamic device management, HOTPLUG event handling, and FIRMWARE loading mechanisms that enable runtime hardware configuration without system restart. The evolution toward USER-SPACE drivers leverages microkernels and memory protection units to isolate driver faults while maintaining performance through shared memory and zero-copy techniques.", + "vocab_undergraduate": [ + { + "word": "hardware abstraction layers", + "definition": "Software interfaces that hide the complexity of specific hardware implementations from higher-level software" + }, + { + "word": "kernel-resident modules", + "definition": "Software components that permanently reside in the operating system's core memory space" + }, + { + "word": "microarchitecture details", + "definition": "Low-level implementation specifics of how processors and hardware components are designed" + }, + { + "word": "heterogeneous hardware", + "definition": "Computing environments containing diverse types of processors and components with different architectures" + }, + { + "word": "control register programming", + "definition": "Direct manipulation of special memory locations that configure and control hardware behavior" + }, + { + "word": "interrupt service routines", + "definition": "Special functions that execute immediately when hardware signals require processor attention" + }, + { + "word": "DMA controller management", + "definition": "Overseeing direct memory access operations where hardware transfers data without CPU intervention" + }, + { + "word": "microkernel principles", + "definition": "Operating system design philosophy that minimizes kernel code and runs services in separate processes" + }, + { + "word": "isolated address spaces", + "definition": "Separate memory regions that prevent different programs from interfering with each other" + }, + { + "word": "message-passing mechanisms", + "definition": "Communication methods where components exchange data through structured messages rather than shared memory" + }, + { + "word": "quality-of-service mechanisms", + "definition": "Features that guarantee specific performance levels for critical system operations" + }, + { + "word": "bandwidth allocation", + "definition": "Distribution of data transmission capacity among competing processes or devices" + }, + { + "word": "latency guarantees", + "definition": "Promises about maximum delays that will occur in system response times" + }, + { + "word": "priority-based scheduling", + "definition": "System resource allocation based on the importance or urgency of different tasks" + }, + { + "word": "power state transitions", + "definition": "Changes between different levels of energy consumption in computer systems" + }, + { + "word": "ACPI compliance", + "definition": "Adherence to Advanced Configuration and Power Interface standards for hardware management" + }, + { + "word": "IOMMU-based protection", + "definition": "Input-Output Memory Management Unit features that control hardware access to memory" + }, + { + "word": "paravirtualized interfaces", + "definition": "Hardware emulation techniques that provide near-native performance in virtual machines" + }, + { + "word": "SR-IOV interfaces", + "definition": "Single Root I/O Virtualization technology that allows hardware sharing among virtual machines" + }, + { + "word": "UDEV dynamic management", + "definition": "Linux's system for automatically managing device files as hardware is added or removed" + }, + { + "word": "DEVFS", + "definition": "Device file system that dynamically creates device files when hardware is detected" + }, + { + "word": "hotplug event handling", + "definition": "System responses to hardware being connected or disconnected while the computer is running" + }, + { + "word": "firmware loading", + "definition": "The process of uploading software instructions directly into hardware components" + }, + { + "word": "runtime configuration", + "definition": "Changing system settings while the computer is operating without requiring a restart" + }, + { + "word": "user-space drivers", + "definition": "Device drivers that run outside the kernel in normal application memory space" + }, + { + "word": "memory protection units", + "definition": "Hardware components that enforce access controls on different memory regions" + }, + { + "word": "driver faults", + "definition": "Errors or crashes that occur within device driver software" + }, + { + "word": "zero-copy techniques", + "definition": "Methods for transferring data between components without creating duplicate copies in memory" + } + ], + "topics": [ + "device drivers", + "hardware-software interface", + "operating systems", + "system programming" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/os/explain-device-drivers.yml", + compiledAt: "2026-02-23T00:32:17.177Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/os/explain-multitasking-vs-multiprocessing.yml': { + module: { + "id": 3, + "question": "Explain the difference between multitasking, multiprocessing, and multithreading", + "answer": "Multitasking enables a single CPU to run multiple processes by rapidly switching between them, creating the illusion of simultaneous execution through time-sharing and preemptive scheduling. Multiprocessing utilizes multiple physical CPUs or cores to execute different processes truly in parallel, with each processor handling separate tasks simultaneously. Multithreading allows multiple execution threads within a single process to share memory space and resources, enabling finer-grained concurrency where threads can cooperate on shared data while executing different parts of the same program concurrently.", + "vocab_answer": [ + { + "word": "multitasking", + "definition": "Operating system capability to run multiple programs by quickly switching CPU time between them" + }, + { + "word": "multiprocessing", + "definition": "Using multiple physical CPUs or processor cores to execute different tasks simultaneously" + }, + { + "word": "multithreading", + "definition": "Running multiple execution paths within a single program that share memory and resources" + }, + { + "word": "preemptive scheduling", + "definition": "System ability to interrupt running programs to give CPU time to other programs" + }, + { + "word": "time-sharing", + "definition": "Technique where CPU time is divided into small slices allocated to different programs" + }, + { + "word": "simultaneous execution", + "definition": "Multiple processes or threads running at exactly the same time" + }, + { + "word": "execution threads", + "definition": "Independent sequences of program instructions that can run concurrently" + }, + { + "word": "shared memory space", + "definition": "Common memory area that multiple threads within a process can access" + }, + { + "word": "finer-grained concurrency", + "definition": "More detailed level of parallel execution within individual programs" + }, + { + "word": "cooperate on shared data", + "definition": "Multiple threads working together by accessing and modifying common information" + } + ], + "answer_kindergarten": "These are three ways computers can do lots of things at once! MULTITASKING is like when you're playing with blocks while also listening to music - your brain quickly switches back and forth between paying attention to the blocks and the music, so it seems like you're doing both at the same time. MULTIPROCESSING is like having two friends help you - one friend builds with blocks while the other friend colors a picture, and they're really doing different things at the exact same time. MULTITHREADING is like when you and your friend work together on the same puzzle - you both share the same puzzle pieces, but one of you works on the corners while the other works on the middle, helping each other finish the same project faster!", + "vocab_kindergarten": [ + { + "word": "multitasking", + "definition": "When your computer quickly switches between different programs so it looks like it's doing many things at once" + }, + { + "word": "multiprocessing", + "definition": "When a computer has multiple brains (processors) that can do different things at the exact same time" + }, + { + "word": "multithreading", + "definition": "When parts of the same program work together by sharing materials but doing different jobs" + }, + { + "word": "switches", + "definition": "Changes quickly from doing one thing to doing another thing" + }, + { + "word": "processors", + "definition": "The computer's brains that do the thinking and work" + }, + { + "word": "sharing", + "definition": "Using the same things together with others" + }, + { + "word": "program", + "definition": "A set of instructions that tells the computer what to do, like a game or app" + } + ], + "answer_3rd_grade": "These are three different ways computers handle doing multiple jobs! MULTITASKING is like a really fast worker who can only do one job at a time, but switches between jobs so quickly that it looks like they're doing everything at once. If you have a game, music, and a document open, the computer rapidly gives each program a tiny bit of attention in turn - game, music, document, game, music, document - over and over super fast! MULTIPROCESSING is like having multiple workers (CPU cores) where each worker can handle a completely different job at the same time - one core runs your game while another core handles the music. MULTITHREADING is like having multiple workers cooperating on the same big project - they all share the same materials and workspace, but each worker handles a different part of the same job, like one thread handling graphics while another handles sound in the same game.", + "vocab_3rd_grade": [ + { + "word": "multitasking", + "definition": "Computer quickly switching between different programs to make it seem like they're all running together" + }, + { + "word": "multiprocessing", + "definition": "Computer using multiple processors (CPU cores) to run different programs at the same time" + }, + { + "word": "multithreading", + "definition": "Multiple parts of the same program working together while sharing the same resources" + }, + { + "word": "workers", + "definition": "Parts of the computer (like CPU cores) that do the actual work of running programs" + }, + { + "word": "CPU cores", + "definition": "Individual processing units inside the computer's main chip" + }, + { + "word": "attention", + "definition": "When the computer focuses its processing power on a specific program" + }, + { + "word": "cooperating", + "definition": "Working together toward the same goal while helping each other" + }, + { + "word": "resources", + "definition": "Things programs need to work, like memory, files, and processing power" + } + ], + "answer_7th_grade": "These concepts represent different approaches to CONCURRENT EXECUTION in computer systems. MULTITASKING implements LOGICAL CONCURRENCY on single-processor systems through TIME-SLICE ALLOCATION and CONTEXT SWITCHING - the OS rapidly switches between processes (typically every few milliseconds), saving and restoring each program's state to create the illusion of simultaneous execution. MULTIPROCESSING achieves TRUE PARALLELISM using multiple physical processors or CPU cores, where different processes can execute simultaneously on separate processing units without interference. MULTITHREADING enables CONCURRENT PROGRAMMING within individual processes by creating multiple execution threads that share the same memory address space, file handles, and process resources, allowing different parts of a program to execute concurrently while cooperating through shared data structures. Each approach offers different trade-offs: multitasking maximizes single-processor utilization, multiprocessing provides scalable performance, and multithreading enables responsive applications with efficient resource sharing.", + "vocab_7th_grade": [ + { + "word": "concurrent execution", + "definition": "Multiple programs or tasks running at the same time or appearing to run simultaneously" + }, + { + "word": "logical concurrency", + "definition": "Creating the appearance of simultaneous execution through rapid task switching" + }, + { + "word": "time-slice allocation", + "definition": "Dividing CPU time into small periods assigned to different programs" + }, + { + "word": "context switching", + "definition": "Saving one program's state and loading another's to switch between running programs" + }, + { + "word": "true parallelism", + "definition": "Multiple tasks actually executing at exactly the same time on different processors" + }, + { + "word": "processing units", + "definition": "Individual CPUs or cores capable of executing program instructions" + }, + { + "word": "concurrent programming", + "definition": "Writing programs designed to have multiple parts running at the same time" + }, + { + "word": "execution threads", + "definition": "Independent sequences of program instructions within the same application" + }, + { + "word": "memory address space", + "definition": "The range of memory locations that a program can access" + }, + { + "word": "file handles", + "definition": "References that programs use to access and manipulate files" + }, + { + "word": "shared data structures", + "definition": "Information storage formats that multiple threads can access and modify" + }, + { + "word": "resource sharing", + "definition": "Multiple threads or processes using the same system resources efficiently" + } + ], + "answer_high_school": "These paradigms represent distinct approaches to PARALLEL AND CONCURRENT COMPUTING architectures. MULTITASKING implements COOPERATIVE or PREEMPTIVE SCHEDULING on uniprocessor systems, utilizing VIRTUAL CONCURRENCY through rapid context switches managed by the OS scheduler, with each process maintaining independent memory spaces and system resources. MULTIPROCESSING leverages SYMMETRIC MULTIPROCESSING (SMP) or NUMA architectures to achieve genuine parallelism, distributing processes across multiple CPU cores with shared memory hierarchies and cache coherency protocols. MULTITHREADING enables INTRA-PROCESS PARALLELISM through lightweight execution contexts sharing virtual memory, file descriptors, and signal handlers while maintaining separate stack spaces and program counters. Advanced implementations utilize THREAD POOLS for resource management, LOCK-FREE PROGRAMMING for performance optimization, and WORK-STEALING ALGORITHMS for load balancing. Each paradigm addresses different computational requirements: multitasking maximizes resource utilization on single processors, multiprocessing scales performance across hardware, and multithreading enables fine-grained parallelism with minimal overhead for thread creation and synchronization.", + "vocab_high_school": [ + { + "word": "parallel and concurrent computing", + "definition": "Computing approaches that execute multiple tasks simultaneously or appear to do so" + }, + { + "word": "cooperative scheduling", + "definition": "Multitasking system where programs voluntarily give up CPU control to others" + }, + { + "word": "preemptive scheduling", + "definition": "System where the OS can forcibly interrupt programs to switch to others" + }, + { + "word": "virtual concurrency", + "definition": "Appearance of simultaneous execution created through rapid task switching" + }, + { + "word": "independent memory spaces", + "definition": "Separate memory areas for each process that other processes cannot access" + }, + { + "word": "symmetric multiprocessing", + "definition": "Computer architecture where multiple identical processors share system resources" + }, + { + "word": "NUMA architectures", + "definition": "Non-Uniform Memory Access systems where memory access times vary by location" + }, + { + "word": "cache coherency protocols", + "definition": "Systems ensuring consistent data across multiple processor caches" + }, + { + "word": "intra-process parallelism", + "definition": "Concurrent execution of multiple threads within a single program" + }, + { + "word": "lightweight execution contexts", + "definition": "Threads that require minimal system resources compared to full processes" + }, + { + "word": "file descriptors", + "definition": "Abstract handles for accessing files and I/O resources in Unix-like systems" + }, + { + "word": "signal handlers", + "definition": "Functions that respond to system events and interrupts" + }, + { + "word": "thread pools", + "definition": "Pre-created collections of threads available for executing tasks" + }, + { + "word": "lock-free programming", + "definition": "Concurrent programming techniques that avoid using locks for synchronization" + }, + { + "word": "work-stealing algorithms", + "definition": "Load balancing methods where idle processors take work from busy ones" + } + ], + "answer_undergraduate": "These paradigms represent fundamental CONCURRENCY MODELS in modern computing systems with distinct architectural implications. MULTITASKING implements TIME-MULTIPLEXED RESOURCE SHARING through scheduler algorithms (CFS, proportional-share) with PROCESS ISOLATION via memory management units (MMUs) and separate address spaces, utilizing CONTEXT SWITCH overhead measured in microseconds. MULTIPROCESSING exploits HARDWARE PARALLELISM through SMP, NUMA, or distributed architectures, requiring CACHE COHERENCY protocols (MESI, MOESI) and MEMORY CONSISTENCY models (sequential consistency, weak ordering) for correct operation. MULTITHREADING enables SHARED-MEMORY CONCURRENCY within processes through POSIX threads or similar APIs, necessitating SYNCHRONIZATION PRIMITIVES (mutexes, semaphores, condition variables) and addressing RACE CONDITIONS, DEADLOCK PREVENTION, and memory ordering constraints. Advanced implementations incorporate LOCK-FREE DATA STRUCTURES using compare-and-swap operations, ACTOR MODEL frameworks for message-passing concurrency, and WORK-STEALING schedulers with task decomposition. Performance analysis requires understanding AMDAHL'S LAW limitations, THREAD CONTENTION effects, and SCALABILITY bottlenecks in contemporary multi-core and distributed computing environments.", + "vocab_undergraduate": [ + { + "word": "concurrency models", + "definition": "Abstract frameworks describing how multiple computational tasks can be organized and executed" + }, + { + "word": "time-multiplexed resource sharing", + "definition": "Technique dividing time into slots allowing multiple users to share single resource" + }, + { + "word": "process isolation", + "definition": "System ensuring different programs cannot interfere with each other's memory or resources" + }, + { + "word": "memory management units", + "definition": "Hardware components handling virtual memory translation and protection" + }, + { + "word": "context switch overhead", + "definition": "Performance cost of saving and restoring program state when switching between tasks" + }, + { + "word": "hardware parallelism", + "definition": "Simultaneous execution capabilities provided by multiple physical processing units" + }, + { + "word": "cache coherency protocols", + "definition": "Algorithms ensuring consistent data across multiple processor caches in multiprocessor systems" + }, + { + "word": "memory consistency models", + "definition": "Specifications defining allowed orderings of memory operations in concurrent systems" + }, + { + "word": "shared-memory concurrency", + "definition": "Parallel programming model where threads communicate through common memory areas" + }, + { + "word": "synchronization primitives", + "definition": "Basic building blocks for coordinating access to shared resources in concurrent programs" + }, + { + "word": "race conditions", + "definition": "Programming errors where program behavior depends on unpredictable timing of events" + }, + { + "word": "deadlock prevention", + "definition": "Techniques ensuring systems avoid states where processes wait indefinitely for resources" + }, + { + "word": "lock-free data structures", + "definition": "Concurrent data structures that avoid locks using atomic operations" + }, + { + "word": "compare-and-swap operations", + "definition": "Atomic hardware instructions used to implement lock-free synchronization" + }, + { + "word": "actor model frameworks", + "definition": "Concurrency paradigm where computation occurs through message-passing between actors" + }, + { + "word": "work-stealing schedulers", + "definition": "Dynamic load balancing systems where idle processors take work from busy ones" + }, + { + "word": "Amdahl's law", + "definition": "Formula predicting speedup limitations in parallel programs due to sequential portions" + }, + { + "word": "thread contention", + "definition": "Performance degradation when multiple threads compete for shared resources" + } + ], + "topics": [ + "multitasking", + "multiprocessing", + "multithreading", + "concurrency", + "parallel computing" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/os/explain-multitasking-vs-multiprocessing.yml", + compiledAt: "2026-02-23T00:32:17.178Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/os/explain-os-hardware-software-integration.yml': { + module: { + "id": 4, + "question": "Explain how an operating system integrates hardware and software to execute programs", + "answer": "The operating system serves as the critical integration layer that abstracts hardware complexity from software applications through system calls, device drivers, and resource management subsystems. When a program executes, the OS loader maps executable files into memory, establishes virtual address spaces with memory protection, and coordinates with the hardware MMU to provide isolated execution environments. The kernel manages hardware resources by interfacing with device controllers through standardized drivers, handles interrupt processing for asynchronous I/O operations, and implements scheduling policies to allocate CPU time fairly among competing processes. Software applications interact with hardware indirectly through the OS API, which translates high-level requests into hardware-specific operations while maintaining security boundaries and resource quotas.", + "vocab_answer": [ + { + "word": "integration layer", + "definition": "Software component that connects and coordinates between different system levels" + }, + { + "word": "abstracts hardware complexity", + "definition": "Hides technical hardware details from applications to simplify programming" + }, + { + "word": "system calls", + "definition": "Programmatic interface allowing applications to request services from the operating system" + }, + { + "word": "device drivers", + "definition": "Software components that enable the OS to communicate with specific hardware devices" + }, + { + "word": "resource management subsystems", + "definition": "OS components responsible for allocating and controlling access to system resources" + }, + { + "word": "OS loader", + "definition": "System component that loads executable programs from storage into memory" + }, + { + "word": "virtual address spaces", + "definition": "Abstracted memory mapping that gives each program its own isolated memory view" + }, + { + "word": "memory protection", + "definition": "Hardware and software mechanisms preventing programs from accessing unauthorized memory" + }, + { + "word": "hardware MMU", + "definition": "Memory Management Unit that translates virtual addresses to physical memory locations" + }, + { + "word": "isolated execution environments", + "definition": "Protected spaces where programs run without interfering with each other" + }, + { + "word": "device controllers", + "definition": "Hardware components that manage and control specific peripheral devices" + }, + { + "word": "interrupt processing", + "definition": "Handling of hardware signals that temporarily suspend normal program execution" + }, + { + "word": "asynchronous I/O operations", + "definition": "Input/output operations that don't block program execution while waiting for completion" + }, + { + "word": "scheduling policies", + "definition": "Algorithms determining how CPU time is allocated among different running programs" + }, + { + "word": "OS API", + "definition": "Application Programming Interface providing functions for programs to interact with the OS" + }, + { + "word": "security boundaries", + "definition": "Protective barriers preventing unauthorized access to system resources" + }, + { + "word": "resource quotas", + "definition": "Limits on system resources that individual programs are allowed to consume" + } + ], + "answer_kindergarten": "The operating system is like a helpful teacher who helps computer programs and computer parts work together! When you want to play a game, the teacher (OS) finds the game on the computer's shelf (storage), brings it to the computer's desk (memory), and makes sure the game has everything it needs to run. The teacher also makes sure different programs don't interfere with each other - like making sure your drawing app doesn't mess up your music app. The OS talks to all the computer parts (like the screen, keyboard, and speakers) and tells them what to do when the programs need something. It's like the teacher translating between the students (programs) and the school supplies (hardware) so everyone can work together happily!", + "vocab_kindergarten": [ + { + "word": "operating system", + "definition": "The main program that helps all other programs and computer parts work together" + }, + { + "word": "programs", + "definition": "Instructions that tell the computer what to do, like games or drawing apps" + }, + { + "word": "computer parts", + "definition": "Physical pieces of the computer like the screen, keyboard, and memory" + }, + { + "word": "storage", + "definition": "Where the computer keeps programs and files when they're not being used" + }, + { + "word": "memory", + "definition": "Where the computer puts programs and information it's currently using" + }, + { + "word": "interfere", + "definition": "When one thing gets in the way of another thing working properly" + }, + { + "word": "translating", + "definition": "Changing one language or way of talking into another language" + } + ], + "answer_3rd_grade": "The operating system acts like a super-smart coordinator that connects computer programs with computer hardware! Here's how it works: When you double-click a program, the OS finds that program file and loads it into RAM memory, giving it its own space to work. The OS creates a 'bubble' around each program so they can't accidentally mess with each other's data. When programs need to use hardware (like saving a file, displaying graphics, or playing sound), they can't talk directly to the hardware - instead, they ask the OS for help. The OS has special translator programs called DEVICE DRIVERS that know how to communicate with each piece of hardware. So when your game wants to show a picture, it asks the OS, and the OS uses the graphics driver to tell the graphics card exactly what to display. The OS also acts like a fair referee, making sure each program gets a turn to use the processor and that no single program hogs all the computer's attention.", + "vocab_3rd_grade": [ + { + "word": "coordinator", + "definition": "Someone or something that organizes and manages different parts working together" + }, + { + "word": "loads", + "definition": "Brings a program from storage into memory so it can run" + }, + { + "word": "RAM memory", + "definition": "Fast memory where the computer puts programs and data it's currently using" + }, + { + "word": "bubble", + "definition": "Protected space that keeps each program separate from others" + }, + { + "word": "device drivers", + "definition": "Special programs that help the OS communicate with hardware like printers or graphics cards" + }, + { + "word": "graphics card", + "definition": "Computer part specifically designed to create and display images and videos" + }, + { + "word": "referee", + "definition": "Someone who makes sure everyone follows the rules and gets fair treatment" + }, + { + "word": "processor", + "definition": "The main chip in the computer that does the actual thinking and calculating" + }, + { + "word": "hogs", + "definition": "Takes up too much of something, not leaving enough for others" + } + ], + "answer_7th_grade": "The operating system functions as a MIDDLEWARE LAYER that orchestrates complex interactions between application software and system hardware through multiple integration mechanisms. During program execution, the OS PROGRAM LOADER performs dynamic linking, memory allocation, and establishes VIRTUAL MEMORY MAPPING with hardware-enforced protection boundaries. Applications interface with hardware through ABSTRACTION LAYERS - system calls provide standardized functions for file I/O, network communication, and memory management, while DEVICE DRIVER ARCHITECTURE enables hardware-agnostic programming. The OS KERNEL manages hardware resources through INTERRUPT HANDLING for asynchronous events, DMA CONTROLLERS for efficient data transfer, and CPU SCHEDULING ALGORITHMS that implement time-sharing across multiple processes. Advanced features include MEMORY VIRTUALIZATION using page tables and TLB caches, PROCESS ISOLATION through separate address spaces, and HARDWARE ABSTRACTION LAYERS (HAL) that provide consistent interfaces across different hardware platforms. This integration enables portable software development while maximizing hardware utilization and system security.", + "vocab_7th_grade": [ + { + "word": "middleware layer", + "definition": "Software that sits between applications and hardware to facilitate communication" + }, + { + "word": "program loader", + "definition": "OS component responsible for loading executable files into memory and starting them" + }, + { + "word": "dynamic linking", + "definition": "Process of connecting program code with required libraries at runtime" + }, + { + "word": "virtual memory mapping", + "definition": "System that gives each program its own view of memory separate from physical RAM" + }, + { + "word": "abstraction layers", + "definition": "Software interfaces that hide complex hardware details from applications" + }, + { + "word": "hardware-agnostic programming", + "definition": "Writing software that works on different hardware without modification" + }, + { + "word": "device driver architecture", + "definition": "System design that allows modular hardware support through standardized driver interfaces" + }, + { + "word": "interrupt handling", + "definition": "OS mechanism for responding to hardware events that need immediate attention" + }, + { + "word": "DMA controllers", + "definition": "Hardware that can transfer data directly between devices and memory without CPU involvement" + }, + { + "word": "CPU scheduling algorithms", + "definition": "Methods for deciding which program gets to use the processor and when" + }, + { + "word": "memory virtualization", + "definition": "Technique that gives programs larger or different memory views than physically available" + }, + { + "word": "page tables", + "definition": "Data structures that map virtual memory addresses to physical memory locations" + }, + { + "word": "TLB caches", + "definition": "Translation Lookaside Buffers that speed up virtual-to-physical address conversion" + }, + { + "word": "process isolation", + "definition": "Keeping different running programs separate so they cannot interfere with each other" + }, + { + "word": "hardware abstraction layers", + "definition": "Software interfaces that provide uniform access to different hardware implementations" + } + ], + "answer_high_school": "Operating systems implement sophisticated SYSTEM INTEGRATION through layered architectures incorporating MICROKERNEL or MONOLITHIC designs with well-defined SOFTWARE-HARDWARE INTERFACES. Program execution involves EXECUTABLE FORMAT PARSING (ELF, PE, Mach-O), SYMBOL RESOLUTION for dynamic libraries, and MEMORY LAYOUT ESTABLISHMENT with stack, heap, and code segments. The OS provides HARDWARE ABSTRACTION through standardized APIs while maintaining PRIVILEGE SEPARATION between user and kernel modes via CPU PROTECTION RINGS. Resource management utilizes VIRTUAL FILE SYSTEMS for storage abstraction, NETWORK PROTOCOL STACKS for communication, and UNIFIED BUFFER CACHES for I/O optimization. Advanced integration features include HARDWARE-ASSISTED VIRTUALIZATION for secure isolation, ATOMIC OPERATIONS for lock-free synchronization, and REAL-TIME SCHEDULING for deterministic response guarantees. The system achieves performance through ZERO-COPY OPERATIONS, MEMORY-MAPPED I/O, and ASYNCHRONOUS EVENT PROCESSING using epoll, kqueue, or IOCP mechanisms. Modern implementations support CONTAINER TECHNOLOGIES and NAMESPACE ISOLATION for lightweight virtualization while maintaining backward compatibility through BINARY INTERFACE STABILITY.", + "vocab_high_school": [ + { + "word": "system integration", + "definition": "Process of combining hardware and software components into a functioning whole" + }, + { + "word": "microkernel designs", + "definition": "OS architecture with minimal kernel functionality and services running in user space" + }, + { + "word": "monolithic designs", + "definition": "OS architecture where all system services run in kernel space for performance" + }, + { + "word": "software-hardware interfaces", + "definition": "Standardized boundaries defining how software components interact with hardware" + }, + { + "word": "executable format parsing", + "definition": "Process of reading and interpreting binary program files for execution" + }, + { + "word": "symbol resolution", + "definition": "Linking process that connects function calls to their actual implementations" + }, + { + "word": "memory layout establishment", + "definition": "Setting up organized memory regions for different parts of a program" + }, + { + "word": "privilege separation", + "definition": "Security model that restricts access to system resources based on execution context" + }, + { + "word": "CPU protection rings", + "definition": "Hardware-enforced privilege levels controlling access to system instructions and resources" + }, + { + "word": "virtual file systems", + "definition": "Abstraction layer providing uniform interface to different storage systems" + }, + { + "word": "network protocol stacks", + "definition": "Layered implementation of communication protocols for network connectivity" + }, + { + "word": "unified buffer caches", + "definition": "Shared memory pools that improve I/O performance by caching frequently accessed data" + }, + { + "word": "hardware-assisted virtualization", + "definition": "CPU features that enable efficient virtual machine implementation" + }, + { + "word": "atomic operations", + "definition": "Hardware instructions that complete entirely without interruption" + }, + { + "word": "real-time scheduling", + "definition": "Task scheduling algorithms that guarantee response times for critical operations" + }, + { + "word": "zero-copy operations", + "definition": "Data transfer methods that avoid unnecessary copying between memory locations" + }, + { + "word": "memory-mapped I/O", + "definition": "Technique where devices appear as memory locations for direct access" + }, + { + "word": "asynchronous event processing", + "definition": "Handling multiple I/O operations concurrently without blocking execution" + }, + { + "word": "container technologies", + "definition": "Lightweight virtualization using OS-level process isolation" + }, + { + "word": "namespace isolation", + "definition": "Separating system resources so different processes see different views" + }, + { + "word": "binary interface stability", + "definition": "Maintaining compatibility for compiled programs across system updates" + } + ], + "answer_undergraduate": "Operating systems achieve comprehensive SYSTEM INTEGRATION through sophisticated ARCHITECTURAL PATTERNS including LAYERED MODELS, COMPONENT-BASED FRAMEWORKS, and SERVICE-ORIENTED ARCHITECTURES. Program execution encompasses LINK-TIME and LOAD-TIME optimizations with POSITION-INDEPENDENT CODE generation, DYNAMIC SYMBOL INTERPOSITION, and SHARED LIBRARY MANAGEMENT through sophisticated DEPENDENCY RESOLUTION algorithms. The OS implements HARDWARE ABSTRACTION LAYERS using DRIVER FRAMEWORKS (WDM, Linux Device Model) with PLUG-AND-PLAY DETECTION, HOT-SWAPPABLE DEVICE SUPPORT, and POWER MANAGEMENT INTEGRATION. Advanced resource management incorporates COPY-ON-WRITE SEMANTICS for memory efficiency, WRITE-AHEAD LOGGING for filesystem integrity, and QUALITY-OF-SERVICE mechanisms for resource allocation. Performance optimization utilizes KERNEL BYPASS TECHNIQUES (DPDK, SPDK), USER-MODE DRIVERS for low-latency applications, and NUMA-AWARE SCHEDULING for multi-processor systems. Security integration features include MANDATORY ACCESS CONTROL (SELinux, AppArmor), CONTROL FLOW INTEGRITY enforcement, and HARDWARE SECURITY MODULES for cryptographic operations. Modern systems support SOFTWARE-DEFINED INFRASTRUCTURE through ORCHESTRATION FRAMEWORKS enabling dynamic resource provisioning and automated system configuration.", + "vocab_undergraduate": [ + { + "word": "architectural patterns", + "definition": "Fundamental structural designs that organize system components and their interactions" + }, + { + "word": "layered models", + "definition": "System organization where functionality is arranged in hierarchical levels" + }, + { + "word": "component-based frameworks", + "definition": "Software architecture emphasizing modular, reusable, and interchangeable components" + }, + { + "word": "service-oriented architectures", + "definition": "Design paradigm organizing functionality as discrete services with defined interfaces" + }, + { + "word": "link-time optimization", + "definition": "Compiler optimizations performed when combining object files into executables" + }, + { + "word": "load-time optimization", + "definition": "Performance improvements applied when programs are loaded into memory" + }, + { + "word": "position-independent code", + "definition": "Machine code that executes correctly regardless of absolute memory address" + }, + { + "word": "dynamic symbol interposition", + "definition": "Runtime replacement of function implementations in dynamically linked programs" + }, + { + "word": "dependency resolution algorithms", + "definition": "Methods for determining correct order and versions of required software libraries" + }, + { + "word": "driver frameworks", + "definition": "Standardized architectures for developing and managing hardware device drivers" + }, + { + "word": "plug-and-play detection", + "definition": "Automatic identification and configuration of newly connected hardware devices" + }, + { + "word": "hot-swappable device support", + "definition": "Ability to add or remove hardware components without system shutdown" + }, + { + "word": "power management integration", + "definition": "Coordination of system components to optimize energy consumption" + }, + { + "word": "copy-on-write semantics", + "definition": "Memory management technique deferring data copying until actual modification" + }, + { + "word": "write-ahead logging", + "definition": "Database technique ensuring durability by logging changes before applying them" + }, + { + "word": "quality-of-service mechanisms", + "definition": "Systems ensuring specified levels of performance for different applications or users" + }, + { + "word": "kernel bypass techniques", + "definition": "Methods allowing applications to access hardware directly without kernel mediation" + }, + { + "word": "user-mode drivers", + "definition": "Device drivers running in user space rather than privileged kernel mode" + }, + { + "word": "NUMA-aware scheduling", + "definition": "Process scheduling that considers Non-Uniform Memory Access topology for optimization" + }, + { + "word": "mandatory access control", + "definition": "Security policies enforced by the system regardless of user preferences" + }, + { + "word": "control flow integrity", + "definition": "Security technique preventing unauthorized modification of program execution paths" + }, + { + "word": "hardware security modules", + "definition": "Dedicated cryptographic devices providing secure key storage and operations" + }, + { + "word": "software-defined infrastructure", + "definition": "Computing resources managed and configured through software rather than hardware" + }, + { + "word": "orchestration frameworks", + "definition": "Systems that coordinate and automate complex workflows and resource management" + } + ], + "topics": [ + "system integration", + "program execution", + "hardware abstraction", + "operating systems", + "software architecture" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/os/explain-os-hardware-software-integration.yml", + compiledAt: "2026-02-23T00:32:17.179Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/os/explain-role-of-operating-system.yml': { + module: { + "id": 2, + "question": "Explain the role of the operating system", + "answer": "The operating system serves as the fundamental software layer that abstracts hardware complexity, manages system resources, and provides essential services to applications. Key functions include process and thread scheduling to enable multitasking, memory management with virtual addressing and protection, filesystem organization and I/O coordination, security enforcement through authentication and access control, network communication management, and API provisioning for application development. The OS acts as an intermediary between user applications and hardware, ensuring resource sharing, system stability, and security while providing a consistent programming interface across diverse hardware platforms.", + "vocab_answer": [ + { + "word": "operating system", + "definition": "Fundamental software that manages computer hardware and provides services to application programs" + }, + { + "word": "abstracts hardware", + "definition": "Hides complex hardware details behind simplified, standardized interfaces" + }, + { + "word": "system resources", + "definition": "Computer components like memory, CPU time, storage, and I/O devices that programs need" + }, + { + "word": "process scheduling", + "definition": "System for determining which programs get to use the CPU and when" + }, + { + "word": "thread scheduling", + "definition": "Management of multiple execution paths within programs for concurrent operation" + }, + { + "word": "memory management", + "definition": "Control and allocation of RAM among different programs and system functions" + }, + { + "word": "virtual addressing", + "definition": "System allowing programs to use memory addresses independent of physical RAM locations" + }, + { + "word": "filesystem organization", + "definition": "Structure and management of how files are stored and retrieved from storage devices" + }, + { + "word": "I/O coordination", + "definition": "Management of input and output operations between programs and hardware devices" + }, + { + "word": "authentication", + "definition": "Process of verifying user identity before granting system access" + }, + { + "word": "access control", + "definition": "Security system determining what resources users and programs can access" + }, + { + "word": "API provisioning", + "definition": "Providing programming interfaces that applications can use to request system services" + } + ], + "answer_kindergarten": "The operating system is like the BOSS of your computer! Just like a teacher manages a classroom, the operating system manages everything in your computer. It makes sure all your programs (like games and drawing apps) get a turn to use the computer's brain (CPU), it organizes where your files are stored (like putting toys in the right boxes), and it makes sure different programs don't fight over who gets to use what. The OS also acts like a SECURITY GUARD - it checks who you are when you log in and decides what you're allowed to do. Without an operating system, your computer would just be a bunch of parts that don't know how to work together!", + "vocab_kindergarten": [ + { + "word": "operating system", + "definition": "The boss program that runs your computer and manages all other programs" + }, + { + "word": "boss", + "definition": "The person in charge who tells everyone else what to do and when" + }, + { + "word": "manages", + "definition": "Takes care of and organizes things to make sure they work properly" + }, + { + "word": "programs", + "definition": "Different apps and games that you can run on your computer" + }, + { + "word": "CPU", + "definition": "The computer's brain that thinks and does the actual work" + }, + { + "word": "files", + "definition": "Documents, pictures, videos, and other things stored on your computer" + }, + { + "word": "security guard", + "definition": "Someone who checks who you are and makes sure you're allowed to be somewhere" + }, + { + "word": "log in", + "definition": "Telling the computer who you are with your username and password" + } + ], + "answer_3rd_grade": "The operating system (OS) is like the MANAGER of a big office building (your computer)! It has several important jobs: First, it's like a SCHEDULER that decides which worker (program) gets to use the main workspace (CPU) and for how long. Second, it's like a LIBRARIAN that organizes and keeps track of all the files and documents, making sure everything is stored in the right place. Third, it acts like SECURITY that checks badges (passwords) and decides who can enter which rooms (access different files). The OS also works like a TRANSLATOR, helping different programs talk to the printer, speakers, and other equipment. Most importantly, it makes sure all the workers can share the building's resources (memory, storage) fairly without causing conflicts or chaos!", + "vocab_3rd_grade": [ + { + "word": "operating system", + "definition": "The main program that manages all other programs and hardware on a computer" + }, + { + "word": "manager", + "definition": "Person in charge of organizing work and making sure everything runs smoothly" + }, + { + "word": "scheduler", + "definition": "System that decides the order and timing of when things happen" + }, + { + "word": "CPU", + "definition": "Central Processing Unit - the computer's main chip that does calculations and thinking" + }, + { + "word": "librarian", + "definition": "Person who organizes books and helps people find information" + }, + { + "word": "files and documents", + "definition": "Digital information like text files, pictures, videos, and programs" + }, + { + "word": "security", + "definition": "Systems and people that protect against unauthorized access" + }, + { + "word": "passwords", + "definition": "Secret words or codes that prove you're allowed to use something" + }, + { + "word": "translator", + "definition": "Someone or something that helps different languages or systems communicate" + }, + { + "word": "resources", + "definition": "Things that programs need to work, like memory, storage space, and processing power" + } + ], + "answer_7th_grade": "Operating systems function as RESOURCE MANAGEMENT PLATFORMS that coordinate hardware utilization, enforce security policies, and provide standardized application interfaces. Core responsibilities include PROCESS MANAGEMENT through scheduling algorithms that enable multitasking by rapidly switching CPU time between programs, MEMORY MANAGEMENT using virtual memory systems that provide each program with its own protected address space, and FILE SYSTEM MANAGEMENT that organizes storage hierarchically with permissions and metadata. The OS implements DEVICE ABSTRACTION through driver interfaces, enabling applications to use hardware without device-specific programming. SECURITY ENFORCEMENT occurs through user authentication, access control lists, and privilege separation that prevents unauthorized access. The OS also provides SYSTEM CALL APIS that applications use to request services like file operations, network communication, and process creation, creating a stable platform for software development across diverse hardware configurations.", + "vocab_7th_grade": [ + { + "word": "resource management platforms", + "definition": "Software systems that coordinate the use of computer hardware and services" + }, + { + "word": "hardware utilization", + "definition": "Efficient use of computer components like CPU, memory, and storage" + }, + { + "word": "security policies", + "definition": "Rules that determine what users and programs are allowed to do" + }, + { + "word": "standardized application interfaces", + "definition": "Consistent ways for programs to request services from the operating system" + }, + { + "word": "process management", + "definition": "System for controlling and coordinating running programs" + }, + { + "word": "scheduling algorithms", + "definition": "Mathematical methods for deciding which program gets CPU time when" + }, + { + "word": "multitasking", + "definition": "Running multiple programs at the same time by quickly switching between them" + }, + { + "word": "virtual memory systems", + "definition": "Technology that makes each program think it has its own separate memory space" + }, + { + "word": "protected address space", + "definition": "Memory area that belongs to one program and can't be accessed by others" + }, + { + "word": "file system management", + "definition": "Organization and control of how files are stored and retrieved" + }, + { + "word": "hierarchically", + "definition": "Organized in levels like a tree, with folders containing subfolders" + }, + { + "word": "device abstraction", + "definition": "Hiding hardware complexity so programs can use devices through simple interfaces" + }, + { + "word": "driver interfaces", + "definition": "Standardized connections between the OS and hardware device drivers" + }, + { + "word": "privilege separation", + "definition": "Security technique that limits what different programs and users can do" + }, + { + "word": "system call APIs", + "definition": "Programming interfaces that allow applications to request OS services" + } + ], + "answer_high_school": "Operating systems implement MULTI-LAYERED SYSTEM ARCHITECTURES providing hardware abstraction, resource virtualization, and security enforcement through sophisticated kernel designs. Primary functions encompass PROCESS AND THREAD MANAGEMENT with preemptive scheduling algorithms, context switching mechanisms, and inter-process communication facilities, VIRTUAL MEMORY MANAGEMENT implementing paging systems with demand loading and memory protection, and FILESYSTEM SERVICES including journaling, caching, and access control enforcement. Advanced capabilities include DEVICE DRIVER FRAMEWORKS supporting plug-and-play hardware, NETWORK STACK IMPLEMENTATION for communication protocols, and SECURITY SUBSYSTEMS implementing mandatory access controls, encryption services, and audit logging. Modern OS designs utilize MICROKERNEL or HYBRID ARCHITECTURES that isolate system services for reliability, support CONTAINERIZATION and virtualization technologies, and provide REAL-TIME CAPABILITIES for embedded and industrial applications. The OS serves as the foundational platform enabling software portability, system stability, and secure multi-user operation across diverse computing environments.", + "vocab_high_school": [ + { + "word": "multi-layered system architectures", + "definition": "Complex software designs with multiple levels of abstraction and functionality" + }, + { + "word": "resource virtualization", + "definition": "Creating abstract versions of hardware resources that multiple programs can share" + }, + { + "word": "kernel designs", + "definition": "Core operating system architectures that manage fundamental system operations" + }, + { + "word": "preemptive scheduling", + "definition": "System ability to interrupt running programs to give CPU time to others" + }, + { + "word": "context switching", + "definition": "Process of saving one program's state and loading another's to switch execution" + }, + { + "word": "inter-process communication", + "definition": "Methods allowing different programs to exchange data and coordinate actions" + }, + { + "word": "paging systems", + "definition": "Memory management technique using fixed-size blocks for virtual memory" + }, + { + "word": "demand loading", + "definition": "Loading program parts into memory only when actually needed" + }, + { + "word": "journaling", + "definition": "File system technique recording changes before applying them for crash recovery" + }, + { + "word": "plug-and-play hardware", + "definition": "Device technology allowing automatic configuration when connected to computer" + }, + { + "word": "network stack implementation", + "definition": "Software layers handling different aspects of network communication protocols" + }, + { + "word": "mandatory access controls", + "definition": "Security policies enforced by the system regardless of user preferences" + }, + { + "word": "audit logging", + "definition": "Recording system activities for security monitoring and compliance" + }, + { + "word": "microkernel architectures", + "definition": "OS design minimizing kernel code by running services in separate processes" + }, + { + "word": "containerization", + "definition": "Lightweight virtualization technology isolating applications in shared OS environments" + }, + { + "word": "software portability", + "definition": "Ability for programs to run on different hardware and OS platforms" + } + ], + "answer_undergraduate": "Operating systems constitute DISTRIBUTED SYSTEM KERNELS implementing resource virtualization, process abstraction, and security isolation through sophisticated SOFTWARE-HARDWARE CO-DESIGN methodologies. Core functions encompass SCHEDULER IMPLEMENTATIONS utilizing proportional-share algorithms, COMPLETELY FAIR SCHEDULERS, and real-time scheduling with priority inheritance protocols, VIRTUAL MEMORY SUBSYSTEMS employing translation lookaside buffers (TLBs), page replacement algorithms, and NUMA-aware memory allocation, plus FILESYSTEM ARCHITECTURES supporting copy-on-write semantics, distributed consistency protocols, and metadata journaling. Advanced capabilities include HYPERVISOR INTEGRATION for virtualization support, SOFTWARE-DEFINED NETWORKING for container orchestration, and CAPABILITY-BASED SECURITY models with fine-grained access controls. Contemporary OS research addresses HETEROGENEOUS COMPUTING with GPU scheduling integration, PERSISTENT MEMORY technologies requiring novel programming models, and FORMAL VERIFICATION techniques ensuring system correctness. Modern implementations leverage MACHINE LEARNING for adaptive resource management, BLOCKCHAIN TECHNOLOGIES for distributed trust, and QUANTUM-RESISTANT CRYPTOGRAPHY for future security requirements.", + "vocab_undergraduate": [ + { + "word": "distributed system kernels", + "definition": "Operating system cores designed to manage resources across multiple networked computers" + }, + { + "word": "software-hardware co-design", + "definition": "Integrated approach optimizing both software and hardware together for better performance" + }, + { + "word": "proportional-share algorithms", + "definition": "Scheduling methods that allocate CPU time based on assigned priority ratios" + }, + { + "word": "completely fair schedulers", + "definition": "CPU scheduling algorithms ensuring all processes receive equitable processor time" + }, + { + "word": "priority inheritance protocols", + "definition": "Real-time scheduling mechanisms preventing priority inversion problems" + }, + { + "word": "translation lookaside buffers", + "definition": "High-speed caches storing recent virtual-to-physical memory address translations" + }, + { + "word": "NUMA-aware allocation", + "definition": "Memory management optimized for Non-Uniform Memory Access architectures" + }, + { + "word": "copy-on-write semantics", + "definition": "Memory optimization where data is only copied when actually modified" + }, + { + "word": "distributed consistency protocols", + "definition": "Algorithms ensuring data coherence across multiple networked storage nodes" + }, + { + "word": "metadata journaling", + "definition": "File system technique logging metadata changes for crash recovery" + }, + { + "word": "hypervisor integration", + "definition": "OS support for virtual machine management and hardware virtualization" + }, + { + "word": "software-defined networking", + "definition": "Network architecture separating control plane from data plane for programmability" + }, + { + "word": "container orchestration", + "definition": "Automated management of containerized application deployment and scaling" + }, + { + "word": "capability-based security", + "definition": "Access control using unforgeable tokens representing specific permissions" + }, + { + "word": "heterogeneous computing", + "definition": "Systems combining different processor types (CPU, GPU, FPGA) for optimization" + }, + { + "word": "persistent memory technologies", + "definition": "Storage that combines the speed of RAM with the permanence of traditional storage" + }, + { + "word": "formal verification", + "definition": "Mathematical proofs demonstrating system correctness and safety properties" + }, + { + "word": "quantum-resistant cryptography", + "definition": "Encryption methods secure against potential quantum computer attacks" + } + ], + "topics": [ + "operating systems", + "system management", + "resource allocation", + "kernel architecture", + "system services" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/os/explain-role-of-operating-system.yml", + compiledAt: "2026-02-23T00:32:17.181Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/analyze-computer-system-execution.yml': { + module: { + "id": 6, + "question": "Analyze how the components of a computer system work together to execute a simple program", + "answer": "User initiates program (stored on persistent storage) → OS loader copies executable segments into RAM → CPU fetches instructions using addresses resolved via MMU/cache hierarchy → instructions request data (caches / RAM / storage via I/O bus) → results buffered and eventually output via drivers to devices; OS schedules CPU time and manages resources throughout.", + "vocab_answer": [ + { + "word": "program execution", + "definition": "The process of running a computer program by following its instructions" + }, + { + "word": "persistent storage", + "definition": "Non-volatile storage like hard drives that keeps data when power is off" + }, + { + "word": "OS loader", + "definition": "Operating system component that loads programs from storage into memory" + }, + { + "word": "executable segments", + "definition": "Different parts of a program like code, data, and resources" + }, + { + "word": "RAM", + "definition": "Random Access Memory - fast temporary storage for active programs and data" + }, + { + "word": "CPU", + "definition": "Central Processing Unit - the processor that executes program instructions" + }, + { + "word": "MMU", + "definition": "Memory Management Unit - hardware that manages memory access and virtual addresses" + }, + { + "word": "cache hierarchy", + "definition": "Multiple levels of fast memory that speed up data access" + }, + { + "word": "I/O bus", + "definition": "Communication pathway for data transfer between components" + }, + { + "word": "drivers", + "definition": "Software that allows the operating system to control hardware devices" + }, + { + "word": "OS schedules", + "definition": "Operating system process of managing when programs get to use the CPU" + }, + { + "word": "resources", + "definition": "System components like memory, processor time, and storage that programs need" + } + ], + "answer_kindergarten": "When you want to play a game on the computer, it's like organizing a big playdate with all your toys working together! First, you click on the game (that's like asking to play). Then the computer finds the game in its big toy closet (storage) and brings all the game pieces to the play table (RAM memory) where it's easier to reach them. The computer's brain (CPU) then looks at the game instructions and starts following them step by step. While playing, it might need to get more pieces from the closet or put finished work on the screen for you to see. All the different parts - the brain, the memory table, the toy closet, and the screen - work together like a team to make sure you can play your game!", + "vocab_kindergarten": [ + { + "word": "game", + "definition": "A fun activity you can play on the computer, like puzzles or adventures" + }, + { + "word": "computer", + "definition": "A smart machine that can help you do things like play games and look at pictures" + }, + { + "word": "click", + "definition": "Pressing a button on the mouse to choose something on the screen" + }, + { + "word": "toy closet", + "definition": "A place where you keep your toys organized and safe until you want to play with them" + }, + { + "word": "storage", + "definition": "The computer's special place where it keeps all its programs and files safe" + }, + { + "word": "game pieces", + "definition": "All the parts that make a game work, like characters, sounds, and pictures" + }, + { + "word": "play table", + "definition": "A flat surface where you spread out your toys so you can easily reach and use them" + }, + { + "word": "RAM memory", + "definition": "The computer's workspace where it puts things it's using right now" + }, + { + "word": "brain", + "definition": "The smart part that thinks and makes decisions about what to do" + }, + { + "word": "CPU", + "definition": "The computer's brain that follows instructions super fast" + }, + { + "word": "instructions", + "definition": "Step-by-step directions that tell someone exactly what to do" + }, + { + "word": "screen", + "definition": "The flat part of the computer that shows you pictures, words, and games" + }, + { + "word": "team", + "definition": "A group that works together to accomplish something important" + } + ], + "answer_3rd_grade": "When you double-click on a program, it's like starting a chain reaction where all the computer parts work as a team. First, the computer finds your program stored on the hard drive (like finding a book in a library). Then it copies the important parts into RAM memory (like checking out the book and putting it on your desk). The CPU (processor) reads the program instructions one by one and follows them, kind of like following a recipe. As it works, it might need to get more information from storage or RAM, and it sends results to the screen or speakers so you can see what's happening. The operating system acts like a teacher, making sure everyone takes turns and plays nicely together!", + "vocab_3rd_grade": [ + { + "word": "double-click", + "definition": "Clicking the mouse button twice quickly to open a program or file" + }, + { + "word": "program", + "definition": "A set of instructions that tells the computer how to do a specific job" + }, + { + "word": "chain reaction", + "definition": "When one thing causes another thing to happen, which causes another thing, like dominoes falling" + }, + { + "word": "computer parts", + "definition": "All the different pieces inside a computer that work together to make it function" + }, + { + "word": "hard drive", + "definition": "The computer's storage space where it keeps programs and files permanently" + }, + { + "word": "library", + "definition": "A place where books are organized and stored so people can find what they need" + }, + { + "word": "RAM memory", + "definition": "Fast memory where the computer puts things it's currently working with" + }, + { + "word": "processor", + "definition": "The computer's brain that does all the thinking and calculating work" + }, + { + "word": "recipe", + "definition": "Step-by-step directions for making something, like instructions for cooking" + }, + { + "word": "operating system", + "definition": "The main program that controls the computer and helps other programs work" + }, + { + "word": "teacher", + "definition": "Someone who helps organize activities and makes sure everyone follows the rules" + } + ], + "answer_7th_grade": "Program execution involves coordinated interaction between all major computer components. When you launch a program, the operating system first locates the executable file on storage (hard drive or SSD) and begins the loading process. The OS allocates space in RAM and copies the program's code and initial data into memory, creating the program's 'address space.' The CPU then begins executing instructions from RAM, using its program counter to track which instruction to execute next. As the program runs, different components collaborate: the CPU performs calculations and logic operations, RAM provides fast access to program code and data, storage may be accessed for additional files, and I/O devices handle user interaction. The operating system coordinates this entire process, managing memory allocation, scheduling CPU time if multiple programs are running, and handling system calls when the program needs OS services.", + "vocab_7th_grade": [ + { + "word": "program execution", + "definition": "The complete process of running a computer program from start to finish" + }, + { + "word": "coordinated interaction", + "definition": "Different parts working together in an organized way to achieve a goal" + }, + { + "word": "executable file", + "definition": "A computer file that contains a program ready to be run" + }, + { + "word": "SSD", + "definition": "Solid State Drive - fast storage that uses memory chips instead of spinning disks" + }, + { + "word": "loading process", + "definition": "The steps of preparing a program to run by copying it into memory" + }, + { + "word": "address space", + "definition": "The range of memory locations that a program is allowed to use" + }, + { + "word": "program counter", + "definition": "A register that keeps track of which instruction the processor should execute next" + }, + { + "word": "collaborate", + "definition": "To work together with others to accomplish a shared task" + }, + { + "word": "calculations", + "definition": "Mathematical operations like addition, subtraction, multiplication, and division" + }, + { + "word": "logic operations", + "definition": "Decision-making processes that involve true/false or yes/no choices" + }, + { + "word": "I/O devices", + "definition": "Input/Output devices that allow users to interact with the computer" + }, + { + "word": "memory allocation", + "definition": "The process of assigning specific memory spaces for programs to use" + }, + { + "word": "scheduling", + "definition": "Organizing when different programs get to use the processor" + }, + { + "word": "system calls", + "definition": "Requests that programs make to the operating system for help with tasks" + }, + { + "word": "OS services", + "definition": "Functions that the operating system provides to help programs work properly" + } + ], + "answer_high_school": "Computer system components orchestrate program execution through a multi-stage process involving memory management, instruction processing, and I/O coordination. Program initiation begins when the operating system's loader reads the executable file format (PE on Windows, ELF on Linux), verifies signatures and dependencies, and creates a virtual memory space. The loader maps program segments (code, data, stack, heap) into virtual memory and establishes initial CPU register states. During execution, the CPU fetches instructions from RAM through the memory management unit (MMU), which translates virtual addresses to physical RAM locations while enforcing access permissions. The memory hierarchy (L1/L2/L3 caches, RAM, storage) optimizes data access patterns through predictive caching and prefetching. System calls enable program interaction with hardware through OS-mediated drivers, while interrupt mechanisms allow asynchronous I/O and multi-tasking. The operating system's scheduler ensures fair CPU time allocation among concurrent programs, while memory management handles dynamic allocation, garbage collection, and virtual memory paging to storage when RAM becomes insufficient.", + "vocab_high_school": [ + { + "word": "orchestrate", + "definition": "To coordinate and organize multiple complex activities to work together smoothly" + }, + { + "word": "multi-stage process", + "definition": "A procedure that involves several distinct phases or steps" + }, + { + "word": "memory management", + "definition": "The system of controlling and organizing how computer memory is used" + }, + { + "word": "instruction processing", + "definition": "The steps involved in fetching, decoding, and executing program instructions" + }, + { + "word": "I/O coordination", + "definition": "Managing the flow of data between the computer and external devices" + }, + { + "word": "loader", + "definition": "System software that prepares programs for execution by loading them into memory" + }, + { + "word": "executable file format", + "definition": "The standardized structure that defines how program files are organized" + }, + { + "word": "PE", + "definition": "Portable Executable - the file format used for programs on Windows systems" + }, + { + "word": "ELF", + "definition": "Executable and Linkable Format - the file format used for programs on Linux systems" + }, + { + "word": "signatures", + "definition": "Digital verification codes that confirm a program's authenticity and integrity" + }, + { + "word": "dependencies", + "definition": "Other programs or libraries that a program needs in order to function properly" + }, + { + "word": "virtual memory space", + "definition": "The logical memory area that the operating system provides to each program" + }, + { + "word": "program segments", + "definition": "Different sections of a program like code instructions, data, and variables" + }, + { + "word": "stack", + "definition": "Memory area used for temporary data and function calls" + }, + { + "word": "heap", + "definition": "Memory area used for dynamic data that can grow and shrink during execution" + }, + { + "word": "register states", + "definition": "The initial values stored in the processor's high-speed storage locations" + }, + { + "word": "MMU", + "definition": "Memory Management Unit - hardware that translates virtual addresses to physical addresses" + }, + { + "word": "virtual addresses", + "definition": "Memory addresses that programs use, which get translated to real memory locations" + }, + { + "word": "physical RAM", + "definition": "The actual hardware memory chips installed in the computer" + }, + { + "word": "access permissions", + "definition": "Rules that control whether programs can read, write, or execute specific memory areas" + }, + { + "word": "memory hierarchy", + "definition": "The organized levels of memory from fastest/smallest to slowest/largest" + }, + { + "word": "caches", + "definition": "Very fast, small memory units that store frequently accessed data" + }, + { + "word": "predictive caching", + "definition": "Anticipating what data will be needed next and loading it into fast memory" + }, + { + "word": "prefetching", + "definition": "Loading data or instructions into cache before they are actually requested" + }, + { + "word": "system calls", + "definition": "Controlled interfaces that allow programs to request operating system services" + }, + { + "word": "OS-mediated drivers", + "definition": "Device control software that operates through the operating system" + }, + { + "word": "interrupt mechanisms", + "definition": "Hardware and software systems for handling urgent events that need immediate attention" + }, + { + "word": "asynchronous I/O", + "definition": "Input/output operations that can happen independently without waiting" + }, + { + "word": "multi-tasking", + "definition": "The ability to run multiple programs at the same time" + }, + { + "word": "scheduler", + "definition": "Operating system component that decides which program gets to use the processor" + }, + { + "word": "concurrent programs", + "definition": "Multiple programs that appear to run simultaneously by sharing processor time" + }, + { + "word": "dynamic allocation", + "definition": "Assigning memory to programs as they need it during execution" + }, + { + "word": "garbage collection", + "definition": "Automatic cleanup of unused memory to prevent programs from running out of space" + }, + { + "word": "virtual memory paging", + "definition": "Moving data between RAM and storage to make more memory available than physically exists" + } + ], + "answer_undergraduate": "Program execution represents a complex orchestration of hardware and software components mediated by system software layers including the operating system kernel, memory management subsystem, and I/O infrastructure. The execution process begins with the program loader parsing executable formats (ELF, PE, Mach-O) containing metadata about memory layout requirements, symbol tables, and dependency specifications. Virtual memory management creates isolated address spaces through page tables and memory mapping units, enabling memory protection, demand paging, and copy-on-write optimization. The CPU's instruction execution involves multiple pipeline stages with sophisticated mechanisms including branch prediction, speculative execution, and out-of-order completion, while cache coherency protocols maintain data consistency across multi-core architectures. System call interfaces provide controlled access to kernel services through software interrupts, enabling user programs to access hardware resources while maintaining security boundaries. The I/O subsystem employs interrupt-driven and DMA-based data transfer mechanisms, with device drivers abstracting hardware-specific protocols through standardized kernel interfaces. Modern systems incorporate additional complexity including dynamic linking/loading, address space layout randomization (ASLR) for security, and containerization technologies that virtualize system resources. Performance optimization involves careful consideration of memory access patterns, cache locality, thread synchronization primitives, and system call overhead, while modern architectures integrate hardware-accelerated features including virtualization extensions, encryption engines, and specialized processing units (GPUs, AI accelerators) accessible through standardized APIs and runtime systems.", + "vocab_undergraduate": [ + { + "word": "complex orchestration", + "definition": "Sophisticated coordination of multiple interacting systems and processes" + }, + { + "word": "system software layers", + "definition": "Hierarchical levels of software that provide different abstraction levels and services" + }, + { + "word": "operating system kernel", + "definition": "The core component of an OS that manages hardware resources and provides basic services" + }, + { + "word": "memory management subsystem", + "definition": "Specialized software components responsible for controlling and organizing memory usage" + }, + { + "word": "I/O infrastructure", + "definition": "The complete system of hardware and software that handles input/output operations" + }, + { + "word": "parsing", + "definition": "Analyzing and interpreting structured data or code according to formal grammar rules" + }, + { + "word": "Mach-O", + "definition": "Mach Object - the executable file format used by macOS and iOS systems" + }, + { + "word": "metadata", + "definition": "Descriptive information about data or programs, such as structure and requirements" + }, + { + "word": "memory layout requirements", + "definition": "Specifications for how a program's components must be arranged in memory" + }, + { + "word": "symbol tables", + "definition": "Data structures mapping program identifiers to their memory addresses and attributes" + }, + { + "word": "dependency specifications", + "definition": "Formal declarations of external libraries and components a program requires" + }, + { + "word": "isolated address spaces", + "definition": "Separate memory areas for each program that prevent interference between processes" + }, + { + "word": "page tables", + "definition": "Data structures that map virtual memory addresses to physical memory locations" + }, + { + "word": "memory mapping units", + "definition": "Hardware components that translate virtual addresses to physical addresses" + }, + { + "word": "memory protection", + "definition": "Mechanisms that prevent programs from accessing memory they shouldn't use" + }, + { + "word": "demand paging", + "definition": "Loading memory pages from storage only when they are actually needed" + }, + { + "word": "copy-on-write optimization", + "definition": "Sharing memory between processes until one needs to modify it, then creating a copy" + }, + { + "word": "pipeline stages", + "definition": "Sequential phases of instruction processing that can operate simultaneously" + }, + { + "word": "branch prediction", + "definition": "Hardware techniques for guessing which direction conditional jumps will take" + }, + { + "word": "speculative execution", + "definition": "Executing instructions based on predictions before knowing if they're needed" + }, + { + "word": "out-of-order completion", + "definition": "Finishing instructions in a different sequence than they were issued" + }, + { + "word": "cache coherency protocols", + "definition": "Methods for maintaining data consistency across multiple processor caches" + }, + { + "word": "data consistency", + "definition": "Ensuring that all copies of data remain synchronized and accurate" + }, + { + "word": "multi-core architectures", + "definition": "Processor designs with multiple independent execution units on the same chip" + }, + { + "word": "software interrupts", + "definition": "Program-initiated signals that request immediate operating system attention" + }, + { + "word": "security boundaries", + "definition": "Protective barriers that separate different security domains or privilege levels" + }, + { + "word": "interrupt-driven", + "definition": "System design where operations are initiated by hardware or software signals" + }, + { + "word": "DMA-based data transfer", + "definition": "Direct Memory Access - moving data without CPU intervention for efficiency" + }, + { + "word": "device drivers", + "definition": "Specialized software that translates OS requests into hardware-specific commands" + }, + { + "word": "hardware-specific protocols", + "definition": "Communication standards unique to particular types of hardware devices" + }, + { + "word": "standardized kernel interfaces", + "definition": "Uniform APIs that allow consistent interaction with operating system services" + }, + { + "word": "dynamic linking/loading", + "definition": "Connecting program components at runtime rather than compile time" + }, + { + "word": "address space layout randomization", + "definition": "Security technique that randomizes memory locations to prevent exploitation" + }, + { + "word": "ASLR", + "definition": "Address Space Layout Randomization - security feature that randomizes memory layout" + }, + { + "word": "containerization technologies", + "definition": "Systems that isolate applications in lightweight, portable execution environments" + }, + { + "word": "virtualize system resources", + "definition": "Creating abstracted versions of hardware resources that can be shared efficiently" + }, + { + "word": "performance optimization", + "definition": "Techniques for improving system speed, efficiency, and resource utilization" + }, + { + "word": "cache locality", + "definition": "Organizing data access patterns to maximize the use of fast cache memory" + }, + { + "word": "thread synchronization primitives", + "definition": "Low-level mechanisms for coordinating execution between concurrent threads" + }, + { + "word": "system call overhead", + "definition": "The performance cost associated with transitioning between user and kernel modes" + }, + { + "word": "hardware-accelerated features", + "definition": "Capabilities implemented in specialized hardware for improved performance" + }, + { + "word": "virtualization extensions", + "definition": "CPU features that improve the efficiency of virtual machine implementations" + }, + { + "word": "encryption engines", + "definition": "Specialized hardware units optimized for cryptographic operations" + }, + { + "word": "AI accelerators", + "definition": "Specialized processors designed for artificial intelligence and machine learning workloads" + }, + { + "word": "standardized APIs", + "definition": "Application Programming Interfaces that provide consistent access to system features" + }, + { + "word": "runtime systems", + "definition": "Software frameworks that provide execution environments for applications" + } + ], + "topics": [ + "system integration", + "program execution", + "OS", + "hardware coordination" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/analyze-computer-system-execution.yml", + compiledAt: "2026-02-23T00:32:17.182Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/compare-compiler-interpreter.yml': { + module: { + "id": 19, + "question": "Explain the difference between a compiler and an interpreter", + "answer": "A compiler and interpreter are both tools that process programming code, but they work differently. A **compiler** translates the entire program into machine code before execution, creating a separate executable file that can run independently and typically runs faster. An **interpreter** reads and executes the program line-by-line in real-time without creating a separate executable file, making it easier to test and debug but generally slower to run. Compiled languages (like C++) must be compiled before running, while interpreted languages (like Python) can be run directly from source code. Some languages use both approaches - for example, Java compiles to bytecode which is then interpreted by the Java Virtual Machine.", + "answer_kindergarten": "🧸 A compiler is like having your mom help you pack your lunch the night before school - she puts everything together ahead of time, and in the morning you just grab your lunchbox and go! An interpreter is like making your sandwich fresh each morning - it takes more time, but you can change what you want as you go.", + "answer_3rd_grade": "📚 Think of code like a recipe written in another language. A compiler is like translating the whole recipe into English before you start cooking - this takes time at first, but then you can cook really fast! An interpreter is like having a translator help you while you cook - they tell you each step as you go, which is slower but lets you change things easily.", + "answer_7th_grade": "🤔 A compiler reads your entire program and converts it all into machine code (the 1s and 0s the computer understands) before the program runs. This creates a fast executable file, but you have to recompile every time you change the code. An interpreter reads and executes your code line by line as the program runs. This makes testing easier since you can see results immediately, but the program runs slower because translation happens during execution.", + "answer_high_school": "🎓 Compilers perform static analysis and optimization, translating source code to machine code or intermediate code in a separate compilation phase. This enables aggressive optimization and faster runtime execution, but requires recompilation after code changes. Interpreters use dynamic execution, parsing and executing source code at runtime. This provides immediate feedback and easier debugging through interactive environments, but with runtime overhead. Modern approaches include JIT (Just-In-Time) compilation, which combines benefits by compiling code during execution based on runtime behavior.", + "answer_undergraduate": "🧠 Compilers implement multi-phase translation pipelines (lexical analysis, parsing, semantic analysis, optimization, code generation) that enable sophisticated static optimizations like dead code elimination, loop unrolling, and register allocation. They produce self-contained executables with minimal runtime dependencies. Interpreters use runtime execution engines that maintain program state and execution context, enabling dynamic features like reflection, runtime type checking, and interactive REPLs. Hybrid approaches include bytecode compilation (Java, C#) and transpilation (TypeScript→JavaScript), while modern JIT systems use adaptive optimization based on profiling data to optimize hot code paths at runtime.", + "vocab_answer": [ + { + "word": "interpreter", + "definition": "Program that executes source code directly, line by line" + }, + { + "word": "compilation", + "definition": "Process of translating entire program to machine code before execution" + }, + { + "word": "interpretation", + "definition": "Process of executing source code directly without pre-compilation" + }, + { + "word": "bytecode", + "definition": "Intermediate code between source code and machine code" + }, + { + "word": "virtual machine", + "definition": "Software that simulates a computer to run bytecode or interpreted programs" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Compare compilation and interpretation approaches", + "Understand trade-offs between speed and flexibility", + "Recognize different program execution models" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/compare-compiler-interpreter.yml", + compiledAt: "2026-02-23T00:32:17.183Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/describe-stored-program-concept.yml': { + module: { + "id": 2, + "question": "Describe the stored program concept and why it distinguishes computers from other simpler devices", + "answer": "Instructions are stored in memory alongside data, allowing a general‑purpose machine to change behavior simply by loading different code (flexibility, reprogrammability). Simpler devices (e.g., hard‑wired calculators) have fixed logic; changing behavior requires hardware redesign.", + "vocab_answer": [ + { + "word": "stored program concept", + "definition": "The fundamental principle where instructions and data are both stored in memory, allowing machines to change behavior by loading different code" + }, + { + "word": "instructions", + "definition": "Commands or code that tell the computer what operations to perform" + }, + { + "word": "memory", + "definition": "Storage space where both program instructions and data are kept for processing" + }, + { + "word": "data", + "definition": "Information that the computer processes according to the stored instructions" + }, + { + "word": "general-purpose machine", + "definition": "A computer that can perform many different tasks by changing its software rather than its hardware" + }, + { + "word": "reprogrammability", + "definition": "The ability to change a computer's behavior and functionality by loading different software" + }, + { + "word": "hard-wired", + "definition": "Devices with fixed logic built directly into their circuits that cannot be changed through software" + }, + { + "word": "fixed logic", + "definition": "Unchangeable operational behavior that is permanently built into a device's hardware" + } + ], + "answer_kindergarten": "A computer is super special because it can learn to do lots of different things! It's like having a toy robot that you can teach new tricks just by giving it different instruction cards. You can teach it to play games, draw pictures, or play music - all with the same robot! But some toys, like a simple calculator, can only do one thing (like adding numbers) because that's all they were built to do. The computer is like a magical toy that can become any toy you want just by changing its instructions!", + "vocab_kindergarten": [ + { + "word": "computer", + "definition": "A special machine that can learn to do many different things like play games, make music, and draw pictures" + }, + { + "word": "instructions", + "definition": "Like instruction cards that tell the computer what to do, just like recipe steps tell you how to cook" + }, + { + "word": "robot", + "definition": "A machine that can move and do things when you give it instructions" + }, + { + "word": "calculator", + "definition": "A simple machine that can only add numbers and do math, but can't do other things" + }, + { + "word": "games", + "definition": "Fun activities you can play on a computer, like puzzles or adventures" + }, + { + "word": "music", + "definition": "Sounds and songs that the computer can play for you to hear" + }, + { + "word": "pictures", + "definition": "Images and drawings that you can see on the computer screen" + } + ], + "answer_3rd_grade": "What makes computers amazing is that they can store their instructions in memory, just like how you might write down the rules for different games on index cards. The same computer can play music, edit photos, browse the internet, or run games just by loading different sets of instructions (called programs or software). This is different from simple devices like calculators or digital clocks - those can only do one job because their instructions are built right into their circuits and can't be changed. A computer is like having one machine that can transform into many different tools just by changing its software!", + "vocab_3rd_grade": [ + { + "word": "memory", + "definition": "The place inside a computer where it keeps information and instructions, like a filing cabinet for computer stuff" + }, + { + "word": "instructions", + "definition": "Step-by-step directions that tell the computer exactly what to do, like a recipe" + }, + { + "word": "programs", + "definition": "Collections of instructions that make the computer do specific things like play music or edit photos" + }, + { + "word": "software", + "definition": "Another word for programs - the invisible instructions that make computers work" + }, + { + "word": "circuits", + "definition": "Tiny pathways inside machines where electricity flows to make them work" + }, + { + "word": "digital clocks", + "definition": "Simple devices that only show the time and can't do other jobs" + }, + { + "word": "browse", + "definition": "To look through and explore different websites on the internet" + }, + { + "word": "internet", + "definition": "A huge network that connects computers all over the world so they can share information" + }, + { + "word": "machine", + "definition": "A device built to do work or perform tasks" + }, + { + "word": "tools", + "definition": "Things that help you do jobs more easily, like a hammer helps you build things" + } + ], + "answer_7th_grade": "The stored program concept is the key innovation that makes computers so versatile. Unlike fixed-function devices where the logic is hardwired into circuits, computers store both their instructions (programs) and data in the same memory system. This means you can completely change what a computer does just by loading different software - the same hardware can run a word processor, play games, edit videos, or browse the internet. Early computers required manual rewiring to change their function, but stored program computers like those designed by John von Neumann revolutionized computing by making machines programmable through software alone. This flexibility is why your smartphone can download new apps that give it entirely new capabilities.", + "vocab_7th_grade": [ + { + "word": "stored program concept", + "definition": "The key idea that computers store both instructions and data in memory, making them flexible and reprogrammable" + }, + { + "word": "innovation", + "definition": "A new and creative way of doing something that improves how things work" + }, + { + "word": "versatile", + "definition": "Able to do many different things well, adaptable to various tasks" + }, + { + "word": "fixed-function devices", + "definition": "Machines built to do only one specific job and cannot be changed to do other tasks" + }, + { + "word": "hardwired", + "definition": "When the function of a device is built permanently into its physical circuits" + }, + { + "word": "logic", + "definition": "The rules and reasoning that determine how something works or makes decisions" + }, + { + "word": "memory system", + "definition": "The organized way a computer stores and accesses both programs and data" + }, + { + "word": "hardware", + "definition": "The physical parts of a computer that you can touch, like the processor and circuits" + }, + { + "word": "software", + "definition": "Programs and instructions that run on hardware to make the computer do useful work" + }, + { + "word": "word processor", + "definition": "A program that helps you write, edit, and format text documents" + }, + { + "word": "manual rewiring", + "definition": "Having to physically change the connections inside a machine to make it do something different" + }, + { + "word": "John von Neumann", + "definition": "A famous mathematician who helped design the basic architecture that most computers still use today" + }, + { + "word": "programmable", + "definition": "Able to be given new instructions to change what it does without changing its physical parts" + }, + { + "word": "smartphone", + "definition": "A mobile phone that can run many different programs and connect to the internet" + }, + { + "word": "apps", + "definition": "Short for applications - programs designed to do specific tasks on phones and computers" + }, + { + "word": "capabilities", + "definition": "The different things a machine or person is able to do" + } + ], + "answer_high_school": "The stored program architecture, formalized by John von Neumann and others in the 1940s, fundamentally distinguishes general-purpose computers from fixed-function devices. In this model, both program instructions and data reside in the same addressable memory space, allowing the CPU to fetch, decode, and execute instructions dynamically. This contrasts sharply with hardwired devices like early calculators or dedicated circuits where functionality is permanently embedded in the hardware design. The stored program concept enables software-defined behavior: changing the program changes the machine's function without any hardware modifications. This architectural decision created the foundation for modern computing, enabling everything from operating systems that manage hardware resources to application software that provides user functionality. The universality of this approach means that any computation that can be algorithmically described can be implemented on a stored program computer, making these machines truly general-purpose.", + "vocab_high_school": [ + { + "word": "stored program architecture", + "definition": "The computer design where instructions and data share the same memory space, enabling software-defined functionality" + }, + { + "word": "formalized", + "definition": "Made official and clearly defined through systematic documentation and specifications" + }, + { + "word": "John von Neumann", + "definition": "Mathematician who helped establish the fundamental architecture used in most modern computers" + }, + { + "word": "general-purpose computers", + "definition": "Machines capable of performing any computation that can be programmed, not limited to specific tasks" + }, + { + "word": "addressable memory space", + "definition": "Memory organized so each location has a unique address that the CPU can directly access" + }, + { + "word": "fetch", + "definition": "The CPU operation of retrieving an instruction from memory to be processed" + }, + { + "word": "decode", + "definition": "The CPU process of interpreting an instruction to understand what operation to perform" + }, + { + "word": "execute", + "definition": "The CPU action of actually carrying out the operation specified by an instruction" + }, + { + "word": "dynamically", + "definition": "Happening during runtime in response to current conditions, not predetermined" + }, + { + "word": "hardwired devices", + "definition": "Machines whose functions are permanently built into their physical circuits and cannot be changed" + }, + { + "word": "dedicated circuits", + "definition": "Electronic pathways designed and optimized for one specific function or task" + }, + { + "word": "functionality", + "definition": "The specific operations and capabilities that a system or device can perform" + }, + { + "word": "embedded", + "definition": "Built directly into the hardware as a permanent part of the system design" + }, + { + "word": "software-defined behavior", + "definition": "When a machine's actions and capabilities are determined by programs rather than fixed hardware" + }, + { + "word": "architectural decision", + "definition": "A fundamental design choice that affects how an entire system is structured and operates" + }, + { + "word": "operating systems", + "definition": "Software that manages computer hardware resources and provides services for other programs" + }, + { + "word": "hardware resources", + "definition": "Physical components like memory, processors, and storage that programs need to function" + }, + { + "word": "application software", + "definition": "Programs designed to help users accomplish specific tasks like word processing or web browsing" + }, + { + "word": "universality", + "definition": "The principle that a general-purpose computer can perform any computation that can be algorithmically described" + }, + { + "word": "algorithmically", + "definition": "Described as a step-by-step procedure that can be followed to solve a problem" + }, + { + "word": "implemented", + "definition": "Put into practice or made to work in a real system" + } + ], + "answer_undergraduate": "The stored program concept represents a fundamental architectural paradigm that establishes the theoretical and practical foundation of modern digital computing. This concept, crystallized in the von Neumann architecture, unifies instruction and data storage in a common, addressable memory space, enabling the CPU to treat instructions as data that can be dynamically loaded, modified, and executed. This architectural decision contrasts with Harvard architecture (separate instruction and data memory) and fundamentally differs from fixed-function devices where computational logic is embedded directly in hardware circuits. The stored program model enables software-defined functionality through the principle of universality: any computation expressible as an algorithm can be encoded as a sequence of instructions and executed on the hardware. This paradigm supports key computing concepts including self-modifying code, dynamic program loading, virtual machines, and interpreted languages. The flexibility inherent in stored program architecture enables modern concepts like operating systems that provide hardware abstraction layers, compilers that translate high-level languages to machine code, and the entire software ecosystem that transforms general-purpose hardware into specialized computational tools. This architectural choice established the programmability that distinguishes computers from all other machines and enables the software industry's existence.", + "vocab_undergraduate": [ + { + "word": "architectural paradigm", + "definition": "A fundamental model or pattern that defines how computer systems are designed and structured" + }, + { + "word": "theoretical foundation", + "definition": "The underlying mathematical and logical principles that support and explain how something works" + }, + { + "word": "practical foundation", + "definition": "The real-world implementation principles that make a system actually function in practice" + }, + { + "word": "digital computing", + "definition": "Computation using discrete values and binary representation rather than continuous analog signals" + }, + { + "word": "von Neumann architecture", + "definition": "The dominant computer architecture where instructions and data share the same memory and address space" + }, + { + "word": "addressable memory space", + "definition": "Memory organized with unique addresses allowing direct random access to any location" + }, + { + "word": "dynamically loaded", + "definition": "Loaded into memory and processed during program execution rather than being fixed at compile time" + }, + { + "word": "Harvard architecture", + "definition": "Computer architecture with physically separate memory systems for instructions and data" + }, + { + "word": "computational logic", + "definition": "The mathematical and logical operations that define how a system processes information" + }, + { + "word": "software-defined functionality", + "definition": "System capabilities determined by programmable instructions rather than fixed hardware implementations" + }, + { + "word": "principle of universality", + "definition": "The theoretical concept that any computable problem can be solved by a general-purpose computer" + }, + { + "word": "expressible", + "definition": "Capable of being represented or described in a formal language or notation system" + }, + { + "word": "algorithm", + "definition": "A well-defined sequence of computational steps that transforms input into output to solve a problem" + }, + { + "word": "encoded", + "definition": "Translated into a specific format or representation that a system can interpret and process" + }, + { + "word": "sequence of instructions", + "definition": "An ordered series of commands that collectively implement an algorithm or program" + }, + { + "word": "paradigm", + "definition": "A conceptual framework that provides the foundation for understanding and approaching problems" + }, + { + "word": "self-modifying code", + "definition": "Programs that can alter their own instructions during execution, enabled by stored program architecture" + }, + { + "word": "dynamic program loading", + "definition": "The ability to load and execute code during runtime rather than having all code present at startup" + }, + { + "word": "virtual machines", + "definition": "Software abstractions that provide an interface simulating a complete hardware environment" + }, + { + "word": "interpreted languages", + "definition": "Programming languages executed by translating and running source code statements in real-time" + }, + { + "word": "hardware abstraction layers", + "definition": "Software interfaces that hide hardware complexity and provide standardized access to system resources" + }, + { + "word": "compilers", + "definition": "Programs that translate high-level source code into machine language before execution" + }, + { + "word": "high-level languages", + "definition": "Programming languages with abstractions closer to human reasoning than machine instruction sets" + }, + { + "word": "machine code", + "definition": "Binary instructions that can be directly executed by a computer's processor" + }, + { + "word": "software ecosystem", + "definition": "The interconnected network of programs, libraries, tools, and services that support software development" + }, + { + "word": "specialized computational tools", + "definition": "Software applications optimized for specific domains like scientific computing or data analysis" + }, + { + "word": "programmability", + "definition": "The fundamental characteristic that allows changing system behavior through software rather than hardware" + }, + { + "word": "software industry", + "definition": "The economic sector dedicated to developing, maintaining, and distributing computer programs and services" + } + ], + "topics": [ + "stored program concept", + "computer architecture", + "flexibility" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/describe-stored-program-concept.yml", + compiledAt: "2026-02-23T00:32:17.184Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/explain-assembly-language.yml': { + module: { + "id": 22, + "question": "Explain what assembly language is and how it relates to machine code", + "answer": "Assembly language is a low-level programming language that uses human-readable mnemonics (like ADD, LOAD, STORE) to represent machine code instructions. Each assembly instruction corresponds directly to one machine code instruction, making it a one-to-one translation. For example, 'ADD R1, R2' in assembly might translate to the binary machine code '01001001 00000001 00000010'. Assembly language makes machine code programming more manageable for humans while still giving direct control over the CPU. An assembler (a simple type of compiler) translates assembly language into machine code. Assembly is used for system programming, device drivers, and situations requiring precise hardware control, though most modern programming is done in higher-level languages.", + "answer_kindergarten": "🧸 Imagine if computers only understood numbers like 0110100110, but that's really hard for people to remember! Assembly language is like giving nicknames to those long numbers - instead of remembering 0110100110, you can just say 'ADD' which means 'add these numbers together.' It's like having a secret code that both you and the computer can understand!", + "answer_3rd_grade": "📚 Computers only understand 1s and 0s (called machine code), but that's super hard for people to read and write. Assembly language gives easy-to-remember names to those 1s and 0s. Instead of writing '01001001 00000001', you can write 'ADD R1, R2' which means 'add the numbers in box R1 and box R2.' It's like having a translation dictionary between human words and computer numbers!", + "answer_7th_grade": "🤔 Assembly language uses simple English-like commands (called mnemonics) to represent the 1s and 0s that processors actually execute. Each assembly instruction matches exactly one machine code instruction. For example, 'MOV AX, 5' means 'put the number 5 into register AX' and translates to a specific pattern of binary digits. An assembler program converts assembly code into machine code. Assembly is still used today for writing operating systems, device drivers, and programs that need to control hardware directly.", + "answer_high_school": "🎓 Assembly language provides a symbolic representation of machine code using mnemonics, registers, and memory addressing modes. Each assembly instruction maps directly to one machine instruction with no abstraction layer - this one-to-one correspondence gives programmers precise control over CPU operations. Different processor architectures (x86, ARM, RISC-V) have different assembly languages reflecting their instruction sets. Assembly programming involves managing registers, memory addresses, and control flow explicitly. Modern compilers can generate optimized assembly code, but hand-written assembly is still used for performance-critical code sections and system-level programming.", + "answer_undergraduate": "🧠 Assembly language serves as the symbolic representation of a processor's instruction set architecture (ISA), providing human-readable mnemonics for opcodes, operands, and addressing modes. The assembler performs lexical analysis and symbol resolution, handling labels, directives, and macro expansions while maintaining the direct mapping to machine code. Different assembly syntaxes (Intel vs AT&T for x86) reflect various conventions for operand ordering and addressing notation. Modern assembly programming involves understanding processor pipelines, cache behavior, and SIMD instructions for optimization. Assembly remains critical for bootloaders, kernel development, compiler backends, and reverse engineering where precise hardware control and minimal overhead are essential.", + "vocab_answer": [ + { + "word": "assembly language", + "definition": "Low-level programming language using mnemonics for machine instructions" + }, + { + "word": "mnemonics", + "definition": "Human-readable abbreviations for machine code instructions (like ADD, LOAD)" + }, + { + "word": "assembler", + "definition": "Program that translates assembly language into machine code" + }, + { + "word": "one-to-one translation", + "definition": "Direct correspondence between assembly instructions and machine code" + }, + { + "word": "low-level language", + "definition": "Programming language close to machine code with minimal abstraction" + }, + { + "word": "device drivers", + "definition": "Programs that control specific hardware components" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand assembly language as machine code abstraction", + "Recognize the relationship between assembly and machine code", + "Identify use cases for low-level programming" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/explain-assembly-language.yml", + compiledAt: "2026-02-23T00:32:17.185Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/explain-programming-process.yml': { + module: { + "id": 21, + "question": "List some of the basic steps in the programming process from writing code to running it", + "answer": "The programming process involves several key steps: \n**1. Writing Source Code** - Programmer writes instructions in a high-level language using a text editor or IDE. \n**2. Compilation/Translation** - A compiler or interpreter processes the source code, checking for syntax errors and translating it to machine code or preparing it for execution. \n**3. Loading** - The operating system loads the program from storage into memory. \n**4. Execution** - The CPU fetches, decodes, and executes the machine code instructions one by one. \n**5. Runtime** - The program runs, potentially interacting with users, reading files, or communicating over networks. Each step transforms the human-readable code into something the computer can execute.", + "answer_kindergarten": "🧸 Making a computer program is like building with LEGO! First, you draw a picture of what you want to build (writing code). Then you follow the instructions to put the blocks together (compiling). Finally, you can play with your creation (running the program)! The computer needs to understand your instructions step by step, just like following a LEGO instruction book.", + "answer_3rd_grade": "📚 Programming is like writing a recipe for the computer to follow! First, you write the recipe in a special computer language. Then a helper program checks if your recipe makes sense and translates it into computer language. The computer then follows your recipe step by step to do what you wanted - like showing a game on the screen or solving a math problem!", + "answer_7th_grade": "🤔 Programming follows these main steps: 1) Write your code in a programming language like Python or Java using a text editor, 2) A compiler or interpreter checks your code for mistakes and converts it into instructions the computer understands, 3) The operating system loads your program into the computer's memory, 4) The processor executes your program's instructions one by one, 5) Your program runs and does whatever you programmed it to do - like displaying graphics or calculating results.", + "answer_high_school": "🎓 The programming workflow includes: 1) **Source code creation** using IDEs with syntax highlighting and debugging tools, 2) **Static analysis** where compilers perform lexical analysis, parsing, and semantic checking while optimizing code, 3) **Linking** to combine object files and libraries into executables, 4) **Loading** where the OS creates process memory space and loads the executable, 5) **Runtime execution** where the CPU executes instructions while the program manages memory, handles I/O, and responds to events. Modern development includes additional steps like testing, version control, and deployment.", + "answer_undergraduate": "🧠 The programming process involves multiple compilation phases: lexical analysis (tokenization), syntactic analysis (parsing to AST), semantic analysis (type checking, scope resolution), intermediate code generation, optimization passes (constant folding, dead code elimination, register allocation), and machine code generation. The runtime system includes program loading (ELF/PE parsing, relocation, symbol resolution), virtual memory management, dynamic linking, garbage collection (for managed languages), exception handling, and system call interfaces. Modern toolchains integrate static analysis, profiling, debugging symbols, and runtime instrumentation for performance optimization and security analysis.", + "vocab_answer": [ + { + "word": "IDE", + "definition": "Integrated Development Environment - software for writing and testing programs" + }, + { + "word": "loading", + "definition": "Process of copying a program from storage into memory for execution" + }, + { + "word": "runtime", + "definition": "Period when a program is actively executing" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the complete programming workflow", + "Recognize the role of different software tools", + "Connect programming concepts to execution" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/explain-programming-process.yml", + compiledAt: "2026-02-23T00:32:17.186Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/explain-what-is-compiler.yml': { + module: { + "id": 18, + "question": "Explain the purpose of a compiler and what it does", + "answer": "A compiler is a special program that translates source code written in a high-level programming language into machine code that the CPU can directly execute. The compiler reads the entire program, checks it for syntax errors, and converts it into binary instructions specific to the target processor. This translation happens before the program runs, creating an executable file that can run independently. The compiler optimizes the code for better performance and ensures that the programmer's instructions are correctly converted to the low-level operations the computer understands. Without compilers, programmers would have to write directly in machine code, which is extremely difficult and time-consuming.", + "answer_kindergarten": "🧸 A compiler is like a super smart translator! You write your ideas in words the computer can almost understand, and the compiler changes them into the secret language (1s and 0s) that the computer really understands. It's like having a friend who speaks both English and computer language help you talk to your computer!", + "answer_3rd_grade": "📚 Think of a compiler like a translator at the United Nations. You write your program in a language like Python or Java (that's easier for people to understand), and the compiler translates it into machine code (the 1s and 0s that computers understand). Just like how a translator helps people who speak different languages talk to each other, a compiler helps you talk to the computer!", + "answer_7th_grade": "🤔 A compiler is a program that takes source code written in programming languages like C++ or Java and converts it entirely into machine code (binary) before your program runs. It's like translating a whole book from English to Spanish before anyone reads it. The compiler also checks for errors and optimizes your code to run faster. Once compiled, the resulting executable file can run directly on the computer without needing the original source code.", + "answer_high_school": "🎓 A compiler performs lexical analysis (tokenization), syntax analysis (parsing), semantic analysis (type checking), and code generation to transform high-level source code into optimized machine code. It includes multiple optimization passes like constant folding, dead code elimination, and register allocation to improve performance. The compiler produces object files that are linked with libraries to create executable programs. Modern compilers support cross-compilation (targeting different architectures), profile-guided optimization, and can generate intermediate representations for platform independence.", + "answer_undergraduate": "🧠 Compilers implement sophisticated multi-phase translation pipelines with front-end (lexical, syntactic, semantic analysis), middle-end (intermediate representation, optimization), and back-end (target code generation) components. Advanced techniques include SSA (Static Single Assignment) form for optimization, dataflow analysis for program behavior understanding, and instruction scheduling for superscalar processors. Modern compilers support whole-program optimization, link-time optimization (LTO), auto-vectorization, and can target heterogeneous architectures (CPU/GPU). The compilation process involves symbol table management, type inference, memory layout optimization, and integration with debuggers and profilers for development toolchain support.", + "vocab_answer": [ + { + "word": "compiler", + "definition": "Program that translates high-level source code into machine code" + }, + { + "word": "source code", + "definition": "Human-readable program written in a programming language" + }, + { + "word": "machine code", + "definition": "Binary instructions that the CPU can directly execute" + }, + { + "word": "high-level language", + "definition": "Programming language designed to be easy for humans to read and write" + }, + { + "word": "executable file", + "definition": "Compiled program that can run directly on a computer" + }, + { + "word": "syntax errors", + "definition": "Mistakes in the structure or grammar of programming code" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the role of compilers in programming", + "Distinguish between source code and machine code", + "Recognize compilation as a translation process" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/explain-what-is-compiler.yml", + compiledAt: "2026-02-23T00:32:17.186Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/01-one-computer/questions/programs/trace-machine-code-execution.yml': { + module: { + "id": 20, + "question": "Trace the execution of this machine code program and explain what happens: \n0) LOAD 4\n1) ADD 5\n2) STO 4\n3) JMP 0\n4) 0\n5) 8", + "answer": "This program creates an infinite loop that continuously increments a value in memory: \n**Step 0:** LOAD 4 - Load the value from memory address 4 (initially 0) into the accumulator. \n**Step 1:** ADD 5 - Add the value from memory address 5 (which is 8) to the accumulator (0+8=8). \n**Step 2:** STO 4 - Store the accumulator value (8) back to memory address 4. \n**Step 3:** JMP 0 - Jump back to instruction 0, creating a loop. \nThe program will repeat indefinitely: loading the current value from address 4, adding 8 to it, storing the result back, then jumping to start over. After each iteration, address 4 contains: 0→8→16→24→32... This demonstrates loops, memory modification, and how programs can run continuously.", + "answer_kindergarten": "🧸 Imagine the computer has a special counting game! It looks at box 4 (which starts with 0), then adds 8 from box 5, and puts the new number back in box 4. Then it says 'Let's do it again!' and goes back to the beginning. So box 4 keeps getting bigger: 0, then 8, then 16, then 24... It's like a counting machine that never stops adding 8!", + "answer_3rd_grade": "📚 This program is like a recipe that repeats forever! 1) Take the number from memory slot 4 (starts at 0), 2) Add the number from slot 5 (which is 8), 3) Put the result back in slot 4, 4) Go back to step 1 and repeat! It's like having a piggy bank where you keep adding 8 coins over and over. The computer never stops - it keeps adding 8 each time: 0+8=8, then 8+8=16, then 16+8=24, and so on!", + "answer_7th_grade": "🤔 Let's trace this infinite loop program: 0) LOAD 4 - CPU loads value from address 4 (initially 0) into accumulator, 1) ADD 5 - CPU adds value from address 5 (8) to accumulator (0+8=8), 2) STO 4 - CPU stores accumulator (8) back to address 4, 3) JMP 0 - CPU jumps to instruction 0, creating a loop. Each iteration: address 4 increases by 8. After 1st loop: 8, after 2nd: 16, after 3rd: 24... The program counter keeps jumping back to 0, so it never reaches instruction 4 or beyond. This demonstrates how loops work and how programs can modify their own data.", + "answer_high_school": "🎓 This program demonstrates an infinite loop with memory-indirect addressing: 0) LOAD 4 - Fetch instruction at PC=0, decode as load from memory address 4, execute by reading mem[4] to accumulator, 1) ADD 5 - Fetch at PC=1, decode as add from address 5, ALU adds mem[5] (8) to accumulator, 2) STO 4 - Store accumulator to mem[4], 3) JMP 0 - Unconditional jump sets PC=0. Program counter cycles: 0→1→2→3→0... Memory address 4 acts as a counter variable, incrementing by 8 each iteration. This creates an arithmetic sequence: 0, 8, 16, 24, 32... The loop continues indefinitely unless interrupted by external means.", + "answer_undergraduate": "🧠 Microarchitectural execution of infinite loop: 0) LOAD 4 - IF stage fetches from I-cache at PC, ID decodes memory-direct load, EX calculates effective address 4, MEM reads from D-cache/RAM, WB updates accumulator, 1) ADD 5 - Similar pipeline with ALU operation in EX stage, 2) STO 4 - Memory write operation with potential cache coherency implications, 3) JMP 0 - Branch instruction flushes pipeline, updates PC to 0. Modern processors would use branch prediction to minimize pipeline stalls, potentially predicting the backward jump as taken. Loop creates data dependency chain through memory location 4, preventing aggressive optimization. Cache locality benefits from repeated access to addresses 4-5. Speculative execution might prefetch beyond the loop boundary.", + "vocab_answer": [ + { + "word": "accumulator", + "definition": "Special register that stores intermediate results during calculations" + }, + { + "word": "LOAD instruction", + "definition": "Machine code command to copy data from memory address to accumulator" + }, + { + "word": "ADD instruction", + "definition": "Machine code command to add a value from memory to the accumulator" + }, + { + "word": "STO instruction", + "definition": "Machine code command to store accumulator contents to memory address" + }, + { + "word": "JMP instruction", + "definition": "Machine code command to jump to a different instruction address" + }, + { + "word": "infinite loop", + "definition": "Program sequence that repeats continuously without termination" + }, + { + "word": "program counter", + "definition": "CPU register that tracks the address of the current instruction" + }, + { + "word": "memory address", + "definition": "Numerical location where data or instructions are stored in memory" + } + ], + "type": "problem_solving", + "points": 7, + "difficulty": "beginner", + "learning_objectives": [ + "Trace execution of simple machine code", + "Understand CPU register operations", + "Connect machine instructions to hardware behavior" + ] +}, + metadata: { + sourceFile: "content/overviews/01-one-computer/questions/programs/trace-machine-code-execution.yml", + compiledAt: "2026-02-23T00:32:17.187Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/concept-map.yml': { + module: { + "concept_map": [ + { + "category": "Web Technologies", + "concepts": [ + { + "name": "Browsers", + "exam_questions": [ + "questions/browsers/explain-web-browser-purpose.yml", + "questions/browsers/explain-browser-caching-history-privacy.yml", + "questions/browsers/explain-http-https.yml", + "questions/browsers/explain-web-cookies.yml", + "questions/browsers/explain-html.yml", + "questions/browsers/list-common-html-tags.yml", + "questions/browsers/explain-css.yml", + "questions/browsers/explain-javascript-role.yml" + ] + }, + { + "name": "Networks", + "exam_questions": [ + "questions/networks/explain-internet-vs-web.yml", + "questions/networks/explain-ip-address-importance.yml", + "questions/networks/explain-url-behind-scenes.yml" + ] + }, + { + "name": "Cloud Computing", + "exam_questions": [ + "questions/the_cloud/explain-cloud-computing-benefits.yml", + "questions/the_cloud/identify-cloud-service-examples.yml" + ] + }, + { + "name": "Web Apps", + "exam_questions": [ + "questions/web_apps/explain-web-vs-desktop-apps.yml", + "questions/web_apps/identify-useful-web-applications.yml", + "questions/web_apps/explain-what-is-database.yml", + "questions/web_apps/define-database-terminology.yml", + "questions/web_apps/explain-browser-webserver-database-interaction.yml" + ] + } + ] + } + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/concept-map.yml", + compiledAt: "2026-02-23T00:32:17.188Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-browser-caching-history-privacy.yml': { + module: { + "id": 12, + "question": "Explain the role of a Web browser with respect to caching, history, and privacy", + "answer": "Web browsers manage three key areas: **Caching** - browsers store copies of web pages, images, and files locally to load sites faster on repeat visits and reduce bandwidth usage. **History** - browsers track websites you visit, creating a chronological record that helps you revisit sites and provides autocomplete suggestions. **Privacy** - browsers offer features like private/incognito mode (doesn't save history or cookies), cookie management, tracking protection, and password storage. Modern browsers also include privacy settings to block ads, prevent tracking, and manage what data websites can access. These features balance user convenience with privacy protection and performance optimization.", + "answer_kindergarten": "🧸 Your web browser is like a helpful friend that remembers things for you! It saves pictures from websites so they load super fast next time (like keeping your favorite book ready). It remembers which websites you visited (like keeping a list of playgrounds you've been to). And it has a 'secret mode' where it promises not to remember anything you do - like playing a game where you agree to forget what happened!", + "answer_3rd_grade": "📚 Web browsers do three important jobs: 1) **Caching** - They save copies of websites on your computer so they load faster next time, like keeping a photocopy of your homework so you don't have to rewrite it. 2) **History** - They remember every website you visit, like keeping a diary of places you've been online. 3) **Privacy** - They have special modes that don't save anything and help keep your information safe from strangers on the internet.", + "answer_7th_grade": "🤔 Browsers handle data in three main ways: **Caching** stores website files (HTML, images, CSS) on your hard drive so pages load instantly on repeat visits instead of downloading everything again. **History** creates a chronological log of every site you visit, which enables features like autocomplete and the back button. **Privacy** includes incognito mode (no history/cookies saved), tracking blockers that stop websites from following you around the internet, and cookie management to control what data sites can store.", + "answer_high_school": "🎓 Browser data management involves sophisticated systems: **Caching** uses HTTP cache headers (expires, last-modified, etag) to determine file freshness and implements cache policies (LRU eviction, size limits). **History** maintains browsing databases with visit frequency for ranking suggestions and includes session restoration. **Privacy** features include sandboxing (isolating tabs), same-origin policy enforcement, content security policies, and privacy APIs that let users control location access, camera permissions, and notification rights. Modern browsers also implement tracking protection lists and fingerprinting resistance.", + "answer_undergraduate": "🧠 Browser architecture implements complex caching hierarchies (memory cache, disk cache, HTTP/2 push cache) with cache-control directives, conditional requests, and service worker programmable caching. History management involves SQLite databases with full-text indexing, frecency algorithms (frequency + recency), and sync protocols for cross-device consistency. Privacy mechanisms include process isolation, site isolation for Spectre mitigation, content blocking using filter lists (EasyList), certificate transparency monitoring, and advanced features like DNS-over-HTTPS, first-party isolation, and differential privacy for telemetry collection while preserving user anonymity.", + "vocab_answer": [ + { + "word": "caching", + "definition": "Storing copies of web files locally for faster future access" + }, + { + "word": "browser history", + "definition": "Record of websites visited in chronological order" + }, + { + "word": "private browsing", + "definition": "Browser mode that doesn't save history, cookies, or other data" + }, + { + "word": "tracking protection", + "definition": "Browser feature that blocks websites from tracking user behavior" + }, + { + "word": "bandwidth", + "definition": "Amount of data that can be transmitted over an internet connection" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Understand browser privacy features", + "Explain browser performance optimization", + "Recognize browser data management" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-browser-caching-history-privacy.yml", + compiledAt: "2026-02-23T00:32:17.188Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-css.yml': { + module: { + "id": 17, + "question": "Explain what CSS is", + "answer": "CSS (Cascading Style Sheets) is a language used to control the visual appearance and layout of web pages. While HTML provides the structure and content, CSS defines how that content should look - colors, fonts, spacing, positioning, and responsive design. CSS works by selecting HTML elements and applying style rules to them. The 'cascading' refers to how styles can inherit from parent elements and how more specific rules override general ones. CSS can be written inline (in HTML tags), internal (in the HTML document), or external (separate .css files). This separation of content (HTML) and presentation (CSS) makes websites easier to maintain and allows the same content to have different visual designs.", + "answer_kindergarten": "🧸 CSS is like choosing what clothes your website wears! HTML is like the body of your website - it has all the important parts like the head, arms, and legs. CSS is like picking out a pretty dress, colorful shoes, and a nice hat to make your website look beautiful. You can change the colors, make text big or small, and make everything look exactly how you want!", + "answer_3rd_grade": "📚 Think of HTML as the bones and muscles of a webpage - it has all the text and pictures. CSS is like the skin, hair, and clothes that make it look good! CSS lets you choose colors for your text, pick fonts that look cool, decide where things go on the page, and make your website pretty. It's like decorating your room - the room is there (HTML), but you choose the paint colors and where to put the furniture (CSS)!", + "answer_7th_grade": "🤔 CSS (Cascading Style Sheets) is a language that controls how web pages look. HTML creates the structure (headings, paragraphs, links), while CSS makes it visually appealing (colors, fonts, layout). You write CSS rules that select HTML elements and apply styles to them. The 'cascading' means styles flow down from parent to child elements, and more specific rules override general ones. CSS can be in the same file as HTML or in separate .css files, which makes it easier to maintain websites.", + "answer_high_school": "🎓 CSS is a declarative stylesheet language that defines presentation semantics for HTML documents. It uses a selector-property-value syntax where selectors target DOM elements and properties define visual characteristics. The cascade algorithm resolves conflicts using specificity calculations (inline > ID > class > element), inheritance from parent elements, and source order. CSS supports responsive design through media queries, flexible layouts with Flexbox/Grid, and modern features like custom properties (CSS variables), animations, and transforms. The separation of content and presentation enables maintainable, accessible web design.", + "answer_undergraduate": "🧠 CSS implements a sophisticated styling system with the CSS Object Model (CSSOM) that browsers parse into render trees. The cascade resolves style conflicts using specificity weighting (1000 for inline, 100 for IDs, 10 for classes, 1 for elements), inheritance propagation, and source order precedence. Modern CSS includes advanced layout systems (Grid for 2D layouts, Flexbox for 1D), custom properties with dynamic scoping, CSS-in-JS approaches, preprocessing (Sass/Less), post-processing (PostCSS), and emerging features like container queries, subgrid, and CSS Houdini for custom layout algorithms and paint worklets.", + "vocab_answer": [ + { + "word": "CSS", + "definition": "Cascading Style Sheets - language for styling web page appearance" + }, + { + "word": "cascading", + "definition": "How CSS styles inherit and override each other based on specificity" + }, + { + "word": "style rules", + "definition": "CSS instructions that define how HTML elements should appear" + }, + { + "word": "selectors", + "definition": "CSS patterns that identify which HTML elements to style" + }, + { + "word": "responsive design", + "definition": "Web design that adapts to different screen sizes and devices" + }, + { + "word": "separation of concerns", + "definition": "Design principle separating content (HTML) from presentation (CSS)" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand CSS's role in web development", + "Distinguish between HTML structure and CSS styling", + "Recognize CSS as presentation layer" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-css.yml", + compiledAt: "2026-02-23T00:32:17.189Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-html.yml': { + module: { + "id": 15, + "question": "Explain what HTML is", + "answer": "HTML (HyperText Markup Language) is the standard markup language used to create the structure and content of web pages. HTML uses tags (keywords surrounded by angle brackets) to define different elements like headings, paragraphs, links, images, and lists. It's called 'markup' because you mark up text with tags to indicate how it should be displayed or structured. HTML provides the skeleton of a webpage - the basic content and organization - while CSS handles the visual styling and JavaScript adds interactivity. Every web page you visit is built with HTML, which browsers interpret to display the content in a formatted way.", + "answer_kindergarten": "🧸 HTML is like the instructions you give to your computer to build a webpage! Just like you might tell someone 'put the title at the top, then add a picture, then write some words,' HTML uses special codes called tags that tell the computer where to put titles, pictures, and words. It's like building with blocks - each block (tag) has a special job to make your webpage!", + "answer_3rd_grade": "📚 HTML is the language we use to make websites! It's like writing a story, but instead of just writing words, you use special codes called tags to tell the computer what each part should be. You put words between tags to make a title, between <p> tags to make a paragraph, and use <img> tags to add pictures. It's like giving the computer a recipe for how to build your webpage!", + "answer_7th_grade": "🤔 HTML (HyperText Markup Language) is the building blocks of every website. You write content (text, links, images) and wrap it in tags like <h1> for headings, <p> for paragraphs, and <a> for links. These tags tell the browser how to structure and display the content. HTML is just the skeleton - it doesn't make things look pretty (that's CSS's job) or make them interactive (that's JavaScript's job), but it provides the essential structure that every webpage needs.", + "answer_high_school": "🎓 HTML is a markup language that uses a hierarchical tree structure of elements to define web document semantics. Tags like <header>, <nav>, <main>, and <footer> provide semantic meaning beyond just structure. HTML5 introduced new semantic elements, form controls, multimedia elements (<video>, <audio>), and APIs for offline storage and geolocation. The Document Object Model (DOM) represents HTML as a tree structure that browsers parse and JavaScript can manipulate. HTML follows strict syntax rules and supports attributes that provide metadata and behavior for elements.", + "answer_undergraduate": "🧠 HTML implements a context-free grammar defining well-formed document structures using SGML-derived syntax. The HTML parser constructs a DOM tree through tokenization, tree construction, and error recovery mechanisms that handle malformed markup. HTML5 introduced living standard specifications with semantic microdata, ARIA accessibility attributes, custom elements via Web Components, and integration with CSS selectors and JavaScript APIs. Modern HTML supports progressive enhancement patterns, responsive images with srcset/picture elements, and web standards like Service Workers, Web Workers, and emerging technologies like WebAssembly integration.", + "vocab_answer": [ + { + "word": "HTML", + "definition": "HyperText Markup Language - standard language for creating web pages" + }, + { + "word": "markup language", + "definition": "System of tags used to structure and format content" + }, + { + "word": "tags", + "definition": "Keywords in angle brackets that define HTML elements" + }, + { + "word": "elements", + "definition": "Individual components of an HTML document (headings, paragraphs, etc.)" + }, + { + "word": "web page structure", + "definition": "Basic organization and hierarchy of content on a webpage" + } + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand HTML's role in web development", + "Define markup language concepts", + "Recognize HTML as webpage foundation" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-html.yml", + compiledAt: "2026-02-23T00:32:17.189Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-http-https.yml': { + module: { + "id": 13, + "question": "Explain what HTTP and HTTPS are", + "answer": "HTTP (HyperText Transfer Protocol) is the standard communication protocol used for transferring web pages and data between browsers and web servers. It defines how requests and responses should be formatted and transmitted over the internet. HTTPS (HTTP Secure) is the secure version of HTTP that adds encryption using SSL/TLS protocols. HTTPS protects data in transit by scrambling information so that intercepted data cannot be read by unauthorized parties. You can identify HTTPS websites by the lock icon in your browser's address bar and URLs that start with 'https://' instead of 'http://'. HTTPS is essential for protecting sensitive information like passwords, credit card numbers, and personal data.", + "answer_kindergarten": "🧸 HTTP and HTTPS are like the way your computer talks to websites! HTTP is like talking normally - anyone nearby can hear what you're saying. HTTPS is like whispering in a secret code - even if someone hears you, they can't understand what you're saying! When you see a little lock symbol next to a website address, it means the website is using the secret code to keep your information safe.", + "answer_3rd_grade": "📚 Think of HTTP and HTTPS like sending letters! HTTP is like sending a postcard - anyone who handles it (like the mailman) can read what you wrote. HTTPS is like putting your letter in a locked box that only you and your friend have the key to. When you visit websites with HTTPS (you'll see 'https://' and a lock icon), your information travels in a secret code that protects your passwords and personal information from bad guys.", + "answer_7th_grade": "🤔 HTTP (HyperText Transfer Protocol) is the language browsers and web servers use to communicate - it defines how to request web pages and send responses. HTTPS adds a security layer using encryption, which scrambles your data so that if anyone intercepts it while traveling across the internet, they can't read it. You can tell if a site uses HTTPS by looking for the lock icon in your browser and 'https://' in the URL. HTTPS is crucial for protecting passwords, credit card info, and any sensitive data.", + "answer_high_school": "🎓 HTTP is a stateless, client-server protocol operating over TCP that uses methods (GET, POST, PUT, DELETE) to transfer resources identified by URLs. HTTPS implements transport layer security using TLS/SSL certificates to establish encrypted tunnels between clients and servers. The TLS handshake involves certificate verification, cipher suite negotiation, and key exchange to create symmetric encryption keys. HTTPS prevents man-in-the-middle attacks, eavesdropping, and data tampering. Modern browsers enforce HTTPS through features like HSTS (HTTP Strict Transport Security) and mixed content blocking.", + "answer_undergraduate": "🧠 HTTP/1.1 implements persistent connections, pipelining, and chunked transfer encoding, while HTTP/2 introduces binary framing, multiplexing, server push, and header compression (HPACK). HTTPS establishes secure channels through TLS 1.3's improved handshake with forward secrecy, using elliptic curve cryptography and authenticated encryption. Certificate transparency, OCSP stapling, and public key pinning enhance security. HTTP/3 uses QUIC over UDP for reduced latency and built-in encryption. Security headers (CSP, HSTS, HPKP) and certificate authority validation ensure end-to-end security in modern web architectures.", + "vocab_answer": [ + { + "word": "HTTP", + "definition": "HyperText Transfer Protocol - standard for web communication" + }, + { + "word": "HTTPS", + "definition": "HTTP Secure - encrypted version of HTTP" + }, + { + "word": "protocol", + "definition": "Set of rules for communication between computer systems" + }, + { + "word": "SSL/TLS", + "definition": "Security protocols that encrypt data transmission" + }, + { + "word": "encryption", + "definition": "Process of scrambling data to protect it from unauthorized access" + }, + { + "word": "data in transit", + "definition": "Information being transmitted between devices" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand web communication protocols", + "Distinguish between HTTP and HTTPS", + "Recognize web security indicators" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-http-https.yml", + compiledAt: "2026-02-23T00:32:17.190Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-javascript-role.yml': { + module: { + "id": 18, + "question": "Explain the role of JavaScript in a Web page", + "answer": "JavaScript is a programming language that adds interactivity and dynamic behavior to web pages. While HTML provides structure and CSS handles styling, JavaScript makes web pages respond to user actions like clicks, form submissions, mouse movements, and keyboard input. JavaScript can modify HTML content in real-time, change CSS styles, validate form data, create animations, handle user events, and communicate with web servers without reloading the page. Examples include dropdown menus, image carousels, interactive maps, real-time chat, and form validation. JavaScript transforms static web pages into interactive applications, enabling modern web experiences like social media feeds, online games, and web-based productivity tools.", + "answer_kindergarten": "🧸 JavaScript is like magic that makes websites come alive! Without JavaScript, websites would just sit there like pictures in a book. But with JavaScript, when you click a button, something happens! Pictures can move, games can be played, and the website can talk back to you. It's like having a friend inside the computer that listens to what you do and responds!", + "answer_3rd_grade": "📚 JavaScript makes websites interactive and fun! Think of HTML as building a house and CSS as painting it pretty colors. JavaScript is like adding doors that open when you knock, lights that turn on when you flip switches, and a doorbell that rings when you press it. JavaScript lets websites respond when you click buttons, fill out forms, or move your mouse around. It turns boring websites into exciting interactive experiences!", + "answer_7th_grade": "🤔 JavaScript is the programming language that makes websites interactive. While HTML creates the structure and CSS makes it look good, JavaScript adds behavior and responses to user actions. When you click a button, hover over an image, or submit a form, JavaScript code runs to handle those events. It can change what's displayed on the page, validate your input, create animations, and even communicate with servers to get new data without refreshing the page.", + "answer_high_school": "🎓 JavaScript is a client-side scripting language that enables dynamic web applications through DOM manipulation, event handling, and asynchronous programming. It supports object-oriented and functional programming paradigms, includes modern features like promises, async/await, and modules. JavaScript interacts with Web APIs (fetch, localStorage, geolocation) and can modify CSS properties, HTML content, and page structure in real-time. Modern JavaScript also powers server-side development (Node.js), mobile apps, and desktop applications, making it a versatile full-stack language.", + "answer_undergraduate": "🧠 JavaScript implements ECMAScript specifications with dynamic typing, prototype-based inheritance, and closures as first-class concepts. The V8/SpiderMonkey engines compile JavaScript to optimized machine code using JIT compilation, inline caching, and garbage collection. Modern JavaScript features include destructuring, arrow functions, template literals, and advanced async patterns. The event loop manages asynchronous operations, Web Workers enable parallel processing, and service workers provide offline capabilities. JavaScript's role extends to WebAssembly integration, Progressive Web Apps, and sophisticated frameworks (React, Vue, Angular) that implement virtual DOM diffing algorithms and component-based architectures.", + "vocab_answer": [ + { + "word": "JavaScript", + "definition": "Programming language that adds interactivity to web pages" + }, + { + "word": "interactivity", + "definition": "Ability for users to interact with and modify web page content" + }, + { + "word": "dynamic behavior", + "definition": "Web page content that changes in response to user actions" + }, + { + "word": "event handling", + "definition": "JavaScript's ability to respond to user actions like clicks and key presses" + }, + { + "word": "DOM manipulation", + "definition": "JavaScript's ability to modify HTML content and structure" + }, + { + "word": "client-side programming", + "definition": "Code that runs in the user's browser rather than on the server" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand JavaScript's role in web development", + "Recognize interactivity in web applications", + "Distinguish between static and dynamic web content" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-javascript-role.yml", + compiledAt: "2026-02-23T00:32:17.191Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-web-browser-purpose.yml': { + module: { + "id": 1, + "question": "Explain what a web browser is and what it is for", + "answer": "A web browser is a software application that allows users to access, view, and navigate websites on the internet. Its primary purpose is to interpret and display web content (HTML, CSS, JavaScript) in a user-friendly format, enabling users to interact with web pages, follow links, and access online information and services.", + "answer_kindergarten": "🧸 A web browser is like a magic window on your computer that lets you look at websites! Just like you use your eyes to look at books and pictures, you use a web browser to look at websites. You can click on things, watch videos, play games, and explore the whole internet through this special window. Popular browsers have names like Chrome, Safari, and Firefox!", + "answer_3rd_grade": "📚 A web browser is a special program on your computer that helps you visit websites on the internet. Think of it like a translator that takes website code (which looks like gibberish to us) and turns it into pretty pictures, text, and videos that we can understand and use. When you want to go to a website, you type its address in the browser, and it goes and gets that website for you to see!", + "answer_7th_grade": "🤔 A web browser is software that fetches web pages from servers across the internet and displays them on your device. It takes website code (HTML for structure, CSS for styling, JavaScript for interactivity) and renders it as the visual web pages you see. Browsers handle things like following links, managing your browsing history, storing passwords, and running website code safely. Examples include Chrome, Firefox, Safari, and Edge.", + "answer_high_school": "🎓 Web browsers are complex applications that implement web standards (HTML5, CSS3, JavaScript ES6+) through rendering engines (Blink, Gecko, WebKit). They manage the full web stack: DNS resolution, HTTP/HTTPS requests, DOM parsing, CSS layout computation, JavaScript execution, and pixel rendering. Browsers provide security through sandboxing, same-origin policy, and content security policies. Modern browsers support Progressive Web Apps, WebAssembly, Service Workers, and advanced APIs for multimedia, geolocation, and device integration.", + "answer_undergraduate": "🧠 Browsers implement sophisticated multi-process architectures with site isolation, process-per-tab models, and GPU acceleration for rendering. The browser engine orchestrates networking (HTTP/2, HTTP/3), parsing (incremental HTML/CSS), layout (box model, flexbox, grid), painting (layers, compositing), and JavaScript execution (V8, JIT compilation). Security models include process sandboxing, certificate validation, mixed content policies, and vulnerability mitigations (ASLR, CFI). Modern browsers support emerging standards like WebXR, WebGPU, and participate in web platform evolution through standards bodies (W3C, WHATWG).", + "vocab_answer": [ + { + "word": "web browser", + "definition": "Software application used to access and display web pages on the internet" + }, + { + "word": "HTML", + "definition": "HyperText Markup Language, the standard markup language for creating web pages" + }, + { + "word": "CSS", + "definition": "Cascading Style Sheets, used to describe the presentation and styling of web pages" + }, + { + "word": "JavaScript", + "definition": "Programming language used to create interactive and dynamic web page content" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the basic function of web browsers", + "Identify the role of browsers in accessing web content" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-web-browser-purpose.yml", + compiledAt: "2026-02-23T00:32:17.191Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/explain-web-cookies.yml': { + module: { + "id": 14, + "question": "Explain what a Web cookie is", + "answer": "A web cookie is a small text file that websites store on your computer through your browser to remember information about your visit. Cookies contain data like login status, shopping cart contents, language preferences, or tracking information. When you revisit a website, your browser sends the cookie back to the site, allowing it to 'remember' you and provide a personalized experience. There are different types: session cookies (deleted when you close the browser) and persistent cookies (stay until they expire or you delete them). While cookies enable useful features like staying logged in, they also raise privacy concerns because they can track browsing behavior across websites.", + "answer_kindergarten": "🧸 A web cookie is like a little note that websites leave in your computer's pocket! When you visit a website, it might leave a note saying 'this person likes the color blue' or 'this person put a toy in their shopping cart.' Next time you visit, the website reads its note and remembers what you liked! It's like how your teacher might remember that you like dinosaurs and shows you dinosaur books.", + "answer_3rd_grade": "📚 Web cookies are tiny files that websites save on your computer to remember things about you. Think of it like a name tag that a store gives you - when you come back, they see your name tag and remember you! Cookies help websites remember if you're logged in, what's in your shopping cart, or what language you speak. Some cookies are helpful, but others might follow you around the internet to see what websites you visit.", + "answer_7th_grade": "🤔 Web cookies are small data files that websites store in your browser to remember information between visits. When you log into a site, it might store a cookie to keep you logged in. Shopping sites use cookies to remember what's in your cart. Some cookies track which pages you visit for advertising purposes. There are session cookies (disappear when you close the browser) and persistent cookies (stay longer). You can manage cookies in your browser settings to control privacy.", + "answer_high_school": "🎓 Cookies are HTTP state management mechanisms that enable stateful sessions over the stateless HTTP protocol. They include attributes like domain scope, path restrictions, expiration dates, and security flags (HttpOnly, Secure, SameSite). First-party cookies come from the site you're visiting, while third-party cookies are set by external domains (often for advertising). Modern browsers implement cookie policies, cross-site tracking prevention, and user controls. Cookies enable authentication persistence, user preferences, and analytics, but also facilitate behavioral tracking and fingerprinting.", + "answer_undergraduate": "🧠 Cookies implement RFC 6265 with name-value pairs and metadata attributes controlling scope, lifetime, and security properties. SameSite attributes (Strict, Lax, None) mitigate CSRF attacks, while Secure and HttpOnly flags prevent XSS exploitation. Third-party cookie deprecation drives adoption of Privacy Sandbox APIs (Topics, FLEDGE, Attribution Reporting) and server-side tracking alternatives. Cookie synchronization enables cross-domain identity linking, while techniques like cookie syncing, probabilistic matching, and device fingerprinting maintain tracking capabilities. Regulatory frameworks (GDPR, CCPA) mandate consent mechanisms and user control over cookie-based data collection.", + "vocab_answer": [ + { + "word": "cookie", + "definition": "Small text file stored by websites on your computer to remember information" + }, + { + "word": "session cookie", + "definition": "Temporary cookie deleted when browser is closed" + }, + { + "word": "persistent cookie", + "definition": "Cookie that remains until it expires or is manually deleted" + }, + { + "word": "tracking cookie", + "definition": "Cookie used to monitor user behavior across websites" + }, + { + "word": "personalization", + "definition": "Customizing web experiences based on user preferences" + } + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand web cookie functionality", + "Distinguish between cookie types", + "Recognize privacy implications of cookies" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/explain-web-cookies.yml", + compiledAt: "2026-02-23T00:32:17.192Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/browsers/list-common-html-tags.yml': { + module: { + "id": 16, + "question": "List 5 common HTML tags and explain what they do", + "answer": "Here are 5 common HTML tags: 1) **<h1>** - Creates the largest heading, used for main titles. 2) **<p>** - Defines a paragraph of text with automatic spacing above and below. 3) **<a>** - Creates hyperlinks to other web pages or sections, using the href attribute for the destination. 4) **<img>** - Displays images on the webpage, using src attribute for the image file location. 5) **<ul>** and **<li>** - Create unordered (bulleted) lists, where <ul> contains the list and <li> defines each list item. These tags form the building blocks of most web pages by structuring content into headings, text, links, images, and lists.", + "answer_kindergarten": "🧸 HTML tags are like labels that tell the computer what each part of a webpage should be! Here are 5 important ones: 1) <h1> makes BIG titles like the name of your favorite story, 2) <p> makes regular text like the words in your story, 3) <a> makes magic words you can click to go to other pages, 4) <img> puts pictures on your webpage, and 5) <ul> and <li> make lists with bullet points like your grocery list!", + "answer_3rd_grade": "📚 HTML tags are like instructions that tell the computer how to organize a webpage! Here are 5 common ones: 1) <h1> creates big headings for titles, 2) <p> makes paragraphs of regular text, 3) <a> creates clickable links that take you to other websites, 4) <img> shows pictures on the page, and 5) <ul> and <li> make bulleted lists. It's like using different tools to build different parts of your webpage house!", + "answer_7th_grade": "🤔 Here are 5 essential HTML tags: 1) **<h1>** creates main headings (there are also h2, h3, etc. for smaller headings), 2) **<p>** defines paragraphs of text with automatic spacing, 3) **<a href='url'>** creates clickable links to other pages or websites, 4) **<img src='filename'>** displays images (note: it's self-closing), 5) **<ul>** and **<li>** create bulleted lists where ul contains the whole list and li defines each item. These tags structure most webpage content.", + "answer_high_school": "🎓 Five fundamental HTML elements: 1) **<h1>-<h6>** create semantic heading hierarchy for document structure and SEO, 2) **<p>** defines paragraph blocks with default margin spacing, 3) **<a href='destination'>** creates hyperlinks with attributes like target='_blank' for new windows, 4) **<img src='path' alt='description'>** embeds images with required alt text for accessibility, 5) **<ul>/<li>** structure unordered lists (vs <ol> for ordered). Modern HTML emphasizes semantic meaning over presentation, with CSS handling visual styling.", + "answer_undergraduate": "🧠 Core HTML5 semantic elements: 1) **<h1-h6>** establish document outline hierarchy for accessibility screen readers and SEO ranking algorithms, 2) **<p>** creates block-level paragraph containers with collapsing margin behavior, 3) **<a>** implements hypermedia links with rel attributes (nofollow, noopener), prefetch hints, and download functionality, 4) **<img>** supports responsive images via srcset/sizes attributes, lazy loading, and WebP/AVIF formats, 5) **<ul>/<li>** provide accessible list semantics with ARIA roles, CSS list-style customization, and flexbox/grid layout integration for modern responsive design patterns.", + "vocab_answer": [ + { + "word": "heading tag", + "definition": "HTML tag (h1-h6) used to create titles and section headers" + }, + { + "word": "paragraph tag", + "definition": "HTML <p> tag used to group text into paragraphs" + }, + { + "word": "anchor tag", + "definition": "HTML <a> tag used to create hyperlinks" + }, + { + "word": "image tag", + "definition": "HTML <img> tag used to display pictures" + }, + { + "word": "list tags", + "definition": "HTML tags (<ul>, <ol>, <li>) used to create organized lists" + }, + { + "word": "attribute", + "definition": "Additional information added to HTML tags (like href or src)" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Identify common HTML tags", + "Understand basic web page structure", + "Recognize HTML tag purposes" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/browsers/list-common-html-tags.yml", + compiledAt: "2026-02-23T00:32:17.193Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/networks/explain-internet-vs-web.yml': { + module: { + "id": 3, + "question": "Explain how the internet differs from the World Wide Web", + "answer": "The internet is a global network of interconnected computers that can communicate with each other using standardized protocols. The World Wide Web (WWW) is a service that runs on the internet, consisting of websites, web pages, and web applications accessed through browsers. The internet is the infrastructure (like roads), while the web is one of many services that use that infrastructure (like cars driving on the roads). Other internet services include email, file transfer, and online gaming.", + "answer_kindergarten": "🧸 Think of the internet like all the roads in the world connected together - it's the way computers talk to each other everywhere! The World Wide Web (or just 'the web') is like all the stores and fun places you can visit using those roads. The internet is the roads, and the web is like Google, YouTube, and all the websites you visit. You need the roads (internet) to get to the stores (websites)!", + "answer_3rd_grade": "📚 The internet is like a giant highway system that connects all the computers in the world so they can send messages to each other. The World Wide Web (WWW) is like all the fun places you can visit using that highway - websites like games, videos, and information! The internet also carries other things like email and video calls. So the internet is the delivery system, and the web is one of the things it delivers!", + "answer_7th_grade": "🤔 The internet is the physical network infrastructure - cables, routers, and protocols that allow computers worldwide to communicate. The World Wide Web is a service that runs on top of the internet, consisting of websites connected by hyperlinks that you access through browsers. Think of it this way: the internet is like the postal system (infrastructure), while the web is like magazines being delivered through that system. Email, gaming, and streaming also use the internet but aren't part of the web.", + "answer_high_school": "🎓 The internet is a decentralized network of networks using TCP/IP protocols for global computer communication, including physical infrastructure (fiber optic cables, routers, ISPs) and logical addressing (IP addresses, DNS). The World Wide Web is an application layer service using HTTP/HTTPS protocols to access hyperlinked documents via URLs. The web represents just one internet service alongside SMTP (email), FTP (file transfer), SSH (remote access), and P2P protocols. The internet provides the transport mechanism; the web provides a specific content delivery and browsing experience.", + "answer_undergraduate": "🧠 The internet implements a layered protocol stack (TCP/IP model) with physical infrastructure (autonomous systems, BGP routing, submarine cables), network layer addressing (IPv4/IPv6), and transport protocols (TCP/UDP). The World Wide Web operates at the application layer using HTTP semantics, REST architectural principles, and hypermedia as the engine of application state (HATEOAS). Internet governance involves organizations like ICANN (domain management), IETF (standards), and regional registries. The web's evolution includes semantic web technologies (RDF, OWL), progressive web apps, and integration with emerging internet protocols like QUIC and DNS-over-HTTPS.", + "vocab_answer": [ + { + "word": "internet", + "definition": "Global network of interconnected computers that communicate using standardized protocols" + }, + { + "word": "World Wide Web", + "definition": "System of interlinked hypertext documents accessed via the internet using web browsers" + }, + { + "word": "protocol", + "definition": "Set of rules that define how data is transmitted between computers on a network" + }, + { + "word": "network", + "definition": "Group of interconnected computers that can share resources and communicate" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Distinguish between internet and World Wide Web", + "Understand basic networking concepts" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/networks/explain-internet-vs-web.yml", + compiledAt: "2026-02-23T00:32:17.194Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/networks/explain-ip-address-importance.yml': { + module: { + "id": 4, + "question": "Explain what an IP address is and why is it important for internet communication", + "answer": "An IP address (Internet Protocol address) is a unique numerical identifier assigned to every device connected to a network, similar to a postal address for mail delivery. It's important because it allows computers to find and communicate with each other across the internet. When you visit a website, your computer uses the website's IP address to locate the correct server and request the web pages. IP addresses ensure that data packets are delivered to the right destination in the vast network of interconnected computers.", + "answer_kindergarten": "🧸 An IP address is like your home address, but for computers! Just like your house has an address so the mailman knows where to deliver your mail, every computer has an IP address so other computers know where to send messages. When you want to watch a video online, your computer uses the video website's address to find it and ask for the video. Without addresses, computers would get lost trying to talk to each other!", + "answer_3rd_grade": "📚 An IP address is a special number that every computer and phone gets when it connects to the internet, like a mailing address for your house. When you type in a website name like 'google.com,' your computer looks up Google's IP address (like looking up someone's address in a phone book) and then sends a message to that address asking for the website. It's how computers find each other in the huge internet world!", + "answer_7th_grade": "🤔 An IP address is a unique set of numbers (like 192.168.1.1) that identifies each device on a network. Think of it as a postal address for internet communication - when you request a webpage, your router needs to know exactly where to send that request and where the response should come back to. Without IP addresses, there would be no way to route data between the billions of devices on the internet. Domain names like 'google.com' are just easier-to-remember names that translate to IP addresses.", + "answer_high_school": "🎓 IP addresses provide logical addressing for internet communication using either IPv4 (32-bit, 4.3 billion addresses) or IPv6 (128-bit, virtually unlimited addresses). They enable packet routing through networks, where routers examine destination IP addresses to forward data along optimal paths. IP addresses can be static (permanently assigned) or dynamic (assigned by DHCP servers). Network Address Translation (NAT) allows multiple devices to share a single public IP address, while subnetting divides networks into smaller segments for organization and security.", + "answer_undergraduate": "🧠 IP addressing implements hierarchical network organization through address classes (A/B/C in IPv4) and CIDR notation for subnet masks and route aggregation. IPv4 exhaustion drove IPv6 adoption with features like stateless autoconfiguration, improved multicast support, and IPSec integration. BGP uses IP prefixes for inter-domain routing decisions, while OSPF and other IGPs handle intra-domain routing. Modern developments include IPv4/IPv6 dual-stack deployment, carrier-grade NAT (CGN), and emerging protocols like segment routing for traffic engineering and network function virtualization.", + "vocab_answer": [ + { + "word": "IP address", + "definition": "Unique numerical identifier assigned to devices on a network for communication" + }, + { + "word": "Internet Protocol", + "definition": "Set of rules governing how data is sent and received over the internet" + }, + { + "word": "data packets", + "definition": "Small units of data transmitted across networks, containing both content and routing information" + }, + { + "word": "server", + "definition": "Computer that provides services, resources, or data to other computers over a network" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the purpose of IP addresses", + "Recognize the role of addressing in network communication" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/networks/explain-ip-address-importance.yml", + compiledAt: "2026-02-23T00:32:17.195Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/networks/explain-url-behind-scenes.yml': { + module: { + "id": 19, + "question": "Explain what happens 'behind the scenes' when you access a URL in your browser", + "answer": "When you type a URL like 'www.example.com' and press Enter, several steps happen automatically: \n**1. DNS Lookup** - Your browser contacts a DNS (Domain Name System) server to translate the human-readable domain name into an IP address (like 192.168.1.1). \n**2. Connection** - Your browser establishes a connection to the web server at that IP address using HTTP or HTTPS protocol. \n**3. Request** - Your browser sends an HTTP request asking for the specific webpage or resource. \n**4. Server Processing** - The web server receives the request, processes it, and prepares the response (HTML, CSS, images, etc.). \n**5. Response** - The server sends the webpage data back to your browser. \n**6. Rendering** - Your browser receives the data and renders it into the visual webpage you see. This entire process typically happens in seconds, involving multiple computers and network infrastructure working together seamlessly.", + "answer_kindergarten": "🧸 When you type a website name and press Enter, it's like asking for directions to a friend's house! First, your computer asks a special helper (like a phone book) 'Where does this website live?' The helper gives your computer the website's address. Then your computer goes to that address and knocks on the door saying 'Can I see your website please?' The website's computer then sends all the pictures and words back to your computer so you can see the website on your screen!", + "answer_3rd_grade": "📚 When you visit a website, here's what happens: 1) You type the website name, 2) Your computer asks a DNS server 'What's the real address for this website?' (like looking up a phone number), 3) Your computer connects to that address, 4) Your computer asks 'Can I have this webpage please?', 5) The website's computer sends all the webpage parts (text, pictures, videos), 6) Your browser puts all the pieces together like a puzzle to show you the complete website!", + "answer_7th_grade": "🤔 Here's what happens when you visit a URL: 1) **DNS Resolution** - Your browser contacts DNS servers to convert the domain name to an IP address, 2) **TCP Connection** - Your browser connects to the web server using that IP address, 3) **HTTP Request** - Your browser sends a request for the specific page, 4) **Server Processing** - The web server finds and prepares the requested content, 5) **HTTP Response** - The server sends back HTML, CSS, JavaScript, and images, 6) **Browser Rendering** - Your browser interprets the code and displays the visual webpage.", + "answer_high_school": "🎓 The URL request lifecycle involves: 1) **DNS Resolution** - Recursive queries through DNS hierarchy (root servers, TLD servers, authoritative servers) with caching at multiple levels, 2) **TCP Handshake** - Three-way handshake establishes reliable connection, 3) **TLS Negotiation** - For HTTPS, certificate verification and encryption key exchange, 4) **HTTP Request** - Browser sends headers (User-Agent, Accept, etc.) and request method (GET, POST), 5) **Server Processing** - Web server processes request, potentially involving databases or application logic, 6) **HTTP Response** - Server returns status code, headers, and content, 7) **Rendering Pipeline** - Browser parses HTML, builds DOM, applies CSS, executes JavaScript.", + "answer_undergraduate": "🧠 URL resolution implements complex distributed systems: 1) **DNS Resolution** uses hierarchical caching (browser cache, OS cache, recursive resolver, authoritative servers) with TTL-based invalidation and anycast for performance, 2) **Connection Establishment** involves TCP congestion control, HTTP/2 multiplexing or HTTP/3 QUIC protocols, 3) **TLS Handshake** includes certificate chain validation, OCSP stapling, and forward secrecy key exchange, 4) **Request Processing** may trigger CDN edge caching, load balancing algorithms, and microservice architectures, 5) **Response Delivery** uses HTTP caching headers, content encoding (gzip/brotli), and streaming for large payloads, 6) **Browser Rendering** implements critical rendering path optimization, progressive enhancement, and service worker interception.", + "vocab_answer": [ + { + "word": "DNS", + "definition": "Domain Name System - service that translates domain names to IP addresses" + }, + { + "word": "domain name", + "definition": "Human-readable web address like www.example.com" + }, + { + "word": "IP address", + "definition": "Numerical address that identifies a specific computer on the internet" + }, + { + "word": "HTTP request", + "definition": "Message sent by browser asking for specific web content" + }, + { + "word": "web server", + "definition": "Computer that stores and serves web pages to browsers" + }, + { + "word": "rendering", + "definition": "Process of converting HTML/CSS code into visual webpage display" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the URL resolution process", + "Recognize the role of DNS in web browsing", + "Trace the complete web request lifecycle" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/networks/explain-url-behind-scenes.yml", + compiledAt: "2026-02-23T00:32:17.196Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/the_cloud/explain-cloud-computing-benefits.yml': { + module: { + "id": 5, + "question": "Explain the concept of cloud computing and how it benefits users and developers of software", + "answer": "Cloud computing is the delivery of computing services (storage, software, processing power) over the internet instead of using only local devices. Benefits for everyday users include: accessing files from any device with internet connection, automatic backups and synchronization, reduced need for expensive hardware, access to powerful software without installation, and collaboration features that allow multiple people to work on the same documents simultaneously. Examples include Google Drive, iCloud, and Microsoft OneDrive.", + "answer_kindergarten": "🧸 The cloud is like having a magic backpack that you can reach into from anywhere! Instead of keeping all your toys (files) in your room, you put them in this special magic backpack. Then whether you're at home, at school, or at grandma's house, you can always reach into your backpack and get your toys! Plus, if you lose your regular backpack, all your toys are still safe in the magic one!", + "answer_3rd_grade": "📚 Cloud computing means using the internet to store your files and run programs instead of keeping everything on your computer. It's like having a super powerful computer that lives on the internet that you can use from any device! The benefits are: you can get your files from any computer or phone, your files are automatically saved and backed up, you don't need a super expensive computer, and you can work on projects with friends at the same time!", + "answer_7th_grade": "🤔 Cloud computing provides computing resources (storage, software, processing) over the internet instead of your local device. Key benefits: **Accessibility** - access files from any device anywhere, **Automatic Backup** - files are saved and protected automatically, **Cost Savings** - no need for expensive hardware or software licenses, **Collaboration** - multiple people can edit documents simultaneously, **Scalability** - get more storage or power when needed. Services like Google Workspace, iCloud, and Dropbox are cloud computing examples.", + "answer_high_school": "🎓 Cloud computing delivers on-demand computing resources through service models: SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service). Benefits include elastic scalability, reduced capital expenditure, automatic updates, disaster recovery, and global accessibility. Cloud providers offer security, compliance, and redundancy that individual users couldn't achieve locally. Examples range from consumer services (Netflix, Spotify) to enterprise solutions (AWS, Azure, Google Cloud) enabling everything from data analytics to machine learning.", + "answer_undergraduate": "🧠 Cloud computing implements virtualization, distributed systems, and service-oriented architectures to provide scalable, elastic resource allocation through APIs. Economic benefits include OpEx vs CapEx models, pay-per-use pricing, and economies of scale. Technical advantages encompass horizontal scaling, fault tolerance through geographic distribution, and access to cutting-edge services (ML/AI, serverless computing, edge computing). Cloud-native architectures enable microservices, containerization (Docker/Kubernetes), and DevOps practices with CI/CD pipelines, while multi-cloud and hybrid strategies provide vendor independence and regulatory compliance.", + "vocab_answer": [ + { + "word": "cloud computing", + "definition": "Delivery of computing services over the internet rather than using local devices" + }, + { + "word": "storage", + "definition": "Space where data and files are kept, either locally on a device or remotely on servers" + }, + { + "word": "synchronization", + "definition": "Process of keeping files and data consistent across multiple devices" + }, + { + "word": "collaboration", + "definition": "Working together with others, often using shared digital tools and resources" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Define cloud computing in simple terms", + "Identify benefits of cloud services for users" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/the_cloud/explain-cloud-computing-benefits.yml", + compiledAt: "2026-02-23T00:32:17.197Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/the_cloud/identify-cloud-service-examples.yml': { + module: { + "id": 6, + "question": "Give three examples of cloud services that you might use in daily life and explain what each one does.", + "answer": "Three common cloud services are: 1) Google Drive/Dropbox - cloud storage services that let you save files online and access them from any device, 2) Netflix/Spotify - streaming services that deliver entertainment content over the internet without requiring local storage, and 3) Gmail/Outlook.com - email services that store and manage your email messages on remote servers rather than on your computer. These services demonstrate how cloud computing provides storage, entertainment, and communication capabilities through internet-connected servers.", + "answer_kindergarten": "🧸 Here are three cloud services you probably use: 1) **Google Photos** - It's like a magic photo album that keeps all your pictures safe and lets you see them on any device! 2) **YouTube** - Instead of having DVDs, you can watch any video you want from the internet! 3) **Google Classroom** - Your teacher can give you assignments and you can turn them in online, like having a magic school folder that works from home!", + "answer_3rd_grade": "📚 Three cloud services you might use: 1) **Google Drive or iCloud** - These store your files (like homework, photos, videos) on the internet so you can get them from any computer or phone, 2) **Netflix or Disney+** - Instead of buying DVDs, you watch movies and shows that come through the internet, 3) **Gmail or your school email** - Your email messages live on the internet instead of just on one computer, so you can check them anywhere!", + "answer_7th_grade": "🤔 Three common cloud services: 1) **File Storage** (Google Drive, Dropbox, OneDrive) - Store documents, photos, and files online with automatic syncing across devices, 2) **Streaming Media** (Netflix, Spotify, YouTube) - Access movies, music, and videos on-demand without downloading them to your device, 3) **Web Applications** (Gmail, Google Docs, Office 365) - Use software through your browser without installing programs locally. These show how cloud computing replaces local storage and software with internet-based services.", + "answer_high_school": "🎓 Three categories of cloud services: 1) **Storage and Collaboration** (Google Workspace, Microsoft 365) - Document storage, real-time collaboration, and productivity applications accessible from any device with automatic version control and sharing features, 2) **Entertainment Platforms** (Netflix, Spotify, Twitch) - Content delivery networks that stream media using adaptive bitrate algorithms and global CDN infrastructure, 3) **Communication Services** (Gmail, Slack, Discord) - Messaging and email platforms with features like search, spam filtering, and integration with other cloud services.", + "answer_undergraduate": "🧠 Cloud service architecture examples: 1) **SaaS Productivity Suites** (Google Workspace, Microsoft 365) - Multi-tenant applications with identity management, real-time collaboration via operational transformation algorithms, and integration APIs for third-party services, 2) **Media Streaming Platforms** (Netflix, Spotify) - Implement content delivery networks with edge caching, recommendation engines using machine learning, and adaptive streaming protocols for bandwidth optimization, 3) **Communication Platforms** (Slack, Discord) - Real-time messaging using WebSocket connections, presence systems, and scalable chat architectures with message persistence and search indexing.", + "vocab_answer": [ + { + "word": "cloud storage", + "definition": "Service that stores data on remote servers accessible via the internet" + }, + { + "word": "streaming", + "definition": "Delivery of media content over the internet in real-time without downloading" + }, + { + "word": "web-based email", + "definition": "Email service accessed through a web browser rather than dedicated software" + }, + { + "word": "remote servers", + "definition": "Computers located elsewhere that provide services over the internet" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Identify common cloud services in daily use", + "Understand different types of cloud applications" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/the_cloud/identify-cloud-service-examples.yml", + compiledAt: "2026-02-23T00:32:17.198Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/web_apps/define-database-terminology.yml': { + module: { + "id": 10, + "question": "Define basic database terminology: records, rows, columns, and tables", + "answer": "Database terminology describes how information is organized: A **table** is like a spreadsheet that stores related data (e.g., customer information). A **row** (also called a record) contains all the information about one item (e.g., one customer's complete details). A **column** represents one type of information across all rows (e.g., all customer names). A **record** is another term for a row - it's a complete set of related data. For example, in a customer table: each row/record represents one customer, and columns/fields include name, email, phone number, and address.", + "answer_kindergarten": "🧸 Think of a database like a big chart with boxes! A **table** is the whole chart (like a chart of all your classmates). A **row** goes sideways and has all the information about one person (like everything about Emma: her name, age, favorite color). A **column** goes up and down and has the same type of information for everyone (like everyone's names in one column). It's like organizing your toy collection in a big grid!", + "answer_3rd_grade": "📚 Database words are like parts of a big organized list: **Table** = The whole list (like a class roster), **Row** = One line across with all info about one thing (like 'Emma, age 8, likes blue, lives on Main St'), **Column** = One category going down (like all the names, or all the ages), **Record** = Same as a row - all the info about one person or thing. It's like making a chart about your friends where each row is one friend and each column is something about them!", + "answer_7th_grade": "🤔 Database structure terms: **Table** = A collection of related data organized like a spreadsheet (e.g., 'Students' table), **Row/Record** = A horizontal entry containing all data about one item (e.g., one student's complete information), **Column/Field** = A vertical category containing one type of data for all records (e.g., 'Student Name' column), **Record** = Complete set of data about one entity (same as row). Example: In a music table, each row is one song, with columns for title, artist, genre, and duration.", + "answer_high_school": "🎓 Database terminology defines relational structure: **Table** = Entity set with defined schema containing related data (e.g., Users, Products, Orders), **Row/Record/Tuple** = Individual instance of an entity with specific attribute values, **Column/Field/Attribute** = Property or characteristic of the entity with defined data type and constraints, **Record** = Complete tuple representing one entity instance. Tables follow normalization rules to eliminate redundancy, with primary keys uniquely identifying records and foreign keys establishing relationships between tables.", + "answer_undergraduate": "🧠 Relational database terminology from Codd's relational model: **Relation/Table** = Set of tuples with identical attribute schemas, representing entity types in the domain model, **Tuple/Row** = Ordered set of attribute values conforming to the relation schema, representing entity instances, **Attribute/Column** = Named domain with data type constraints, functional dependencies, and cardinality restrictions, **Record** = Physical storage representation of logical tuples with potential denormalization for performance optimization. Advanced concepts include composite keys, referential integrity constraints, and ACID transaction properties maintaining data consistency across concurrent operations.", + "vocab_answer": [ + { + "word": "table", + "definition": "Collection of related data organized in rows and columns" + }, + { + "word": "row", + "definition": "Horizontal line of data representing one complete item or record" + }, + { + "word": "column", + "definition": "Vertical line of data representing one type of information" + }, + { + "word": "record", + "definition": "Complete set of related data about one item (same as row)" + }, + { + "word": "field", + "definition": "One piece of information in a database (same as column)" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Define database structure terminology", + "Understand data organization concepts", + "Distinguish between rows, columns, records, and fields" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/web_apps/define-database-terminology.yml", + compiledAt: "2026-02-23T00:32:17.199Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/web_apps/explain-browser-webserver-database-interaction.yml': { + module: { + "id": 11, + "question": "Explain how a browser, webserver, and database interact", + "answer": "The three components work together to deliver dynamic web content: 1) **Browser** sends a request to the webserver when you visit a website or submit a form. 2) **Webserver** receives the request and determines if it needs data from the database. If so, it queries the database for the required information. 3) **Database** processes the query and returns the requested data to the webserver. 4) **Webserver** takes the database results, formats them into HTML/CSS/JavaScript, and sends the complete webpage back to the browser. 5) **Browser** displays the webpage with the database information. For example, when you search for products on an e-commerce site, your browser requests search results, the webserver queries the product database, and the database returns matching products that get displayed in your browser.", + "answer_kindergarten": "🧸 Think of it like ordering food at a restaurant! You (the browser) tell the waiter (webserver) what you want to eat. The waiter goes to the kitchen and asks the cook (database) to make your food. The cook makes your meal and gives it to the waiter. The waiter brings your food back to your table so you can eat it! The browser asks, the webserver gets what you need, and the database has all the information stored away safely.", + "answer_3rd_grade": "📚 It's like a team working together! 1) **You (Browser)** ask for something on a website, like searching for a video game, 2) **The Website Helper (Webserver)** gets your request and says 'I need to look that up in our big book of games,' 3) **The Library (Database)** finds all the games that match what you want and gives the list back to the website helper, 4) **The Website Helper** makes a nice webpage showing all those games, 5) **You** see the results on your screen!", + "answer_7th_grade": "🤔 The three work in sequence: 1) **Browser** sends HTTP request (like clicking 'search'), 2) **Webserver** processes the request and determines what data is needed, 3) **Webserver** queries the **Database** using database language (like SQL), 4) **Database** returns requested data (like search results), 5) **Webserver** combines data with HTML templates to create webpage, 6) **Browser** receives and displays the final webpage. This happens every time you interact with dynamic websites like social media, online stores, or search engines.", + "answer_high_school": "🎓 Three-tier architecture interaction: **Presentation Tier (Browser)** handles user interface and sends HTTP requests, **Application Tier (Webserver)** contains business logic, processes requests, and manages application state, **Data Tier (Database)** stores and retrieves persistent data. The webserver acts as middleware, translating browser requests into database queries and formatting database responses into web-compatible formats. This separation enables scalability, security (database isn't directly accessible), and maintainability. Modern implementations may include additional layers like CDNs, load balancers, and caching systems.", + "answer_undergraduate": "🧠 Multi-tier web architecture implements separation of concerns: **Client Tier** (browser) handles presentation logic with JavaScript frameworks and DOM manipulation, **Application Tier** (webserver) implements business logic using frameworks (Django, Express.js) with request routing, authentication, and API endpoints, **Data Tier** (database) provides ACID-compliant storage with connection pooling and query optimization. Communication uses HTTP/HTTPS protocols with RESTful APIs or GraphQL. Modern architectures include microservices, serverless functions, database proxies, and caching layers (Redis, Memcached) for performance optimization and horizontal scalability.", + "vocab_answer": [ + { + "word": "webserver", + "definition": "Computer program that serves web pages and handles requests from browsers" + }, + { + "word": "database query", + "definition": "Request for specific information from a database" + }, + { + "word": "dynamic content", + "definition": "Web page content that changes based on user requests or database information" + }, + { + "word": "three-tier architecture", + "definition": "System design with browser (presentation), webserver (logic), and database (data) layers" + }, + { + "word": "request-response cycle", + "definition": "Process of browser requesting information and receiving a response" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Understand web application architecture", + "Explain component interactions in web systems", + "Trace the flow of information in web applications" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/web_apps/explain-browser-webserver-database-interaction.yml", + compiledAt: "2026-02-23T00:32:17.200Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/web_apps/explain-web-vs-desktop-apps.yml': { + module: { + "id": 7, + "question": "Explain how a web application differs from a traditional desktop application", + "answer": "A web application is software that runs in a web browser and is accessed over the internet, rather than being installed directly on your computer. The main differences are: web apps run in browsers and don't require installation, can be accessed from any device with internet and a browser, updates happen automatically on the server side, and typically require an internet connection to function. Desktop applications are installed locally, work offline, and must be updated manually. Examples of web apps include Google Docs, Facebook, and online banking websites.", + "answer_kindergarten": "🧸 A web app is like a game or program that lives on the internet instead of on your computer! You don't have to ask a grown-up to install it - you just open your web browser and go to the website. It's like the difference between having a coloring book at home (desktop app) versus going to a coloring website on the computer (web app). The web app can be used on any computer, but you need the internet to play with it!", + "answer_3rd_grade": "📚 Web applications are programs you use through your internet browser (like Chrome or Safari), while desktop applications are programs you install on your computer. **Web apps**: Don't need to be downloaded, work on any computer with internet, update automatically, need internet to work. **Desktop apps**: Must be installed, only work on that computer, you have to update them yourself, work without internet. Google Docs is a web app, Microsoft Word installed on your computer is a desktop app!", + "answer_7th_grade": "🤔 **Web Applications** run in browsers and are accessed via URLs. They don't require installation, work on any device with a browser, and updates happen automatically on the server. However, they usually need internet connectivity. **Desktop Applications** are installed locally on your computer, can work offline, and often have more powerful features since they have direct access to your computer's resources. Web apps prioritize accessibility and convenience, while desktop apps often provide more performance and offline functionality.", + "answer_high_school": "🎓 Web applications use client-server architecture where the browser acts as a thin client, with most processing happening on remote servers. They leverage web technologies (HTML, CSS, JavaScript) and APIs for functionality. Benefits include platform independence, automatic updates, and collaboration features. Desktop applications have direct OS integration, better performance for intensive tasks, and full offline capabilities. Modern approaches include Progressive Web Apps (PWAs) that combine web accessibility with app-like features, and hybrid applications using frameworks like Electron that package web technologies as desktop apps.", + "answer_undergraduate": "🧠 Web applications implement distributed architectures with stateless HTTP protocols, client-side rendering (React, Vue, Angular) or server-side rendering (Next.js, Nuxt), and RESTful or GraphQL APIs. They face constraints like Same-Origin Policy, limited local storage, and network latency, but benefit from CDN distribution and horizontal scalability. Desktop applications leverage native APIs, direct hardware access, and optimized memory management. Modern development blurs boundaries through technologies like WebAssembly, service workers for offline functionality, and cross-platform frameworks (Electron, Tauri) that enable web-to-desktop deployment strategies.", + "vocab_answer": [ + { + "word": "web application", + "definition": "Software application that runs in a web browser and is accessed over the internet" + }, + { + "word": "desktop application", + "definition": "Software installed and run directly on a local computer" + }, + { + "word": "browser-based", + "definition": "Software that operates within a web browser environment" + }, + { + "word": "server-side updates", + "definition": "Software updates that happen on remote servers rather than individual user devices" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Distinguish between web and desktop applications", + "Understand the characteristics of web applications" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/web_apps/explain-web-vs-desktop-apps.yml", + compiledAt: "2026-02-23T00:32:17.200Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/web_apps/explain-what-is-database.yml': { + module: { + "id": 9, + "question": "Explain what a database is", + "answer": "A database is a structured collection of data that is organized, stored, and managed in a way that allows for efficient retrieval, updating, and manipulation of information. Databases serve as digital filing systems that can store vast amounts of information in an organized manner. They use software called Database Management Systems (DBMS) to handle operations like storing, retrieving, and organizing data. Databases are essential for web applications because they allow websites to store user information, product catalogs, transaction records, and other dynamic content that changes over time. Examples include customer lists, inventory systems, and social media posts.", + "answer_kindergarten": "🧸 A database is like a super organized toy box for computers! Instead of just throwing all your information in a big pile, a database puts everything in neat little compartments so the computer can find exactly what it needs really fast. It's like having labeled boxes for your LEGOs, dolls, and cars - when you want your red car, you know exactly which box to look in!", + "answer_3rd_grade": "📚 A database is like a giant, super-organized filing cabinet for computers. Just like your teacher might have folders for each student's work, a database has organized folders for different types of information. When a website needs to find your username, or a store needs to check if they have a toy in stock, they look it up in their database. It keeps everything neat and easy to find, even when there are millions of pieces of information!", + "answer_7th_grade": "🤔 A database is an organized collection of information stored electronically that allows computers to quickly find, add, update, or delete data. Think of it like a digital library with a perfect catalog system - you can instantly find any book (data) you need. Databases organize information into tables with rows and columns, making it easy to search and sort. Websites use databases to store user accounts, product information, messages, and other content that needs to be saved and retrieved quickly.", + "answer_high_school": "🎓 A database is a structured data repository managed by Database Management Systems (DBMS) that provides CRUD operations (Create, Read, Update, Delete) with ACID properties (Atomicity, Consistency, Isolation, Durability). Relational databases use tables with primary keys, foreign keys, and normalization to reduce redundancy. SQL (Structured Query Language) enables complex queries, joins, and data manipulation. Modern applications also use NoSQL databases (document, key-value, graph) for different data models and scalability requirements. Databases support web applications by providing persistent storage, concurrent access, and data integrity.", + "answer_undergraduate": "🧠 Databases implement storage engines with B+ tree indexing, transaction management using two-phase locking or MVCC (Multi-Version Concurrency Control), and query optimization through cost-based planners. Relational models follow Codd's rules with normalization forms (1NF-5NF) to eliminate anomalies. Distributed databases use CAP theorem considerations (Consistency, Availability, Partition tolerance) with eventual consistency models, sharding strategies, and replication protocols. Modern systems include in-memory databases, column stores for analytics, graph databases for relationship queries, and NewSQL systems combining ACID guarantees with horizontal scalability.", + "vocab_answer": [ + { + "word": "database", + "definition": "Structured collection of organized data stored electronically" + }, + { + "word": "Database Management System (DBMS)", + "definition": "Software that manages and organizes databases" + }, + { + "word": "data retrieval", + "definition": "Process of accessing and extracting information from a database" + }, + { + "word": "structured data", + "definition": "Information organized in a specific format for easy access" + }, + { + "word": "digital filing system", + "definition": "Electronic method of organizing and storing information" + } + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the purpose of databases", + "Recognize databases as data organization tools", + "Connect databases to web applications" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/web_apps/explain-what-is-database.yml", + compiledAt: "2026-02-23T00:32:17.201Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/02-a-few-computers/questions/web_apps/identify-useful-web-applications.yml': { + module: { + "id": 8, + "question": "Name three web applications you have used and explain what makes them useful.", + "answer": "Three common web applications are: 1) Google Docs - allows collaborative document editing in real-time from any device without installing software, 2) YouTube - provides access to vast video content with personalized recommendations and the ability to upload and share videos, and 3) Online banking websites - enable secure account management, bill payments, and financial transactions from anywhere with internet access. These web apps are useful because they provide powerful functionality without software installation, enable collaboration and sharing, and offer convenience through universal access from any internet-connected device.", + "answer_kindergarten": "🧸 Three web apps I use: 1) **YouTube Kids** - I can watch fun videos and cartoons safely, and my parents don't have to buy DVDs! 2) **Google Classroom** - My teacher gives me homework and I can turn it in from home or school, 3) **ABCmouse or Khan Academy Kids** - I can play educational games and learn math and reading without needing special game cartridges. They're useful because I can use them on any computer or tablet!", + "answer_3rd_grade": "📚 Three useful web applications: 1) **Google Docs** - I can write stories and reports, and my classmates can help me edit them at the same time, even from their own homes! 2) **Scratch** - I can create games and animations right in my browser without downloading anything, 3) **Google Earth** - I can explore anywhere in the world and see satellite pictures of my house! They're useful because I don't need to install programs and can use them anywhere.", + "answer_7th_grade": "🤔 Three web applications: 1) **Discord** - Real-time messaging and voice chat for group projects and gaming, accessible from any device without downloads, 2) **Figma** - Collaborative design tool for creating graphics and prototypes that multiple people can edit simultaneously, 3) **Spotify Web Player** - Stream music without installing software, create playlists, and discover new songs. They're useful because they work on any computer, enable real-time collaboration, and provide instant access to powerful features.", + "answer_high_school": "🎓 Three sophisticated web applications: 1) **Google Workspace** (Docs, Sheets, Slides) - Comprehensive productivity suite with real-time collaboration, version control, and cross-platform compatibility for academic and professional work, 2) **GitHub** - Version control and collaborative development platform for coding projects with integrated CI/CD pipelines, 3) **Notion** - All-in-one workspace combining notes, databases, and project management with powerful organization and sharing capabilities. These demonstrate web apps' advantages: instant access, automatic updates, seamless collaboration, and elimination of software installation barriers.", + "answer_undergraduate": "🧠 Three advanced web applications: 1) **Overleaf** - Collaborative LaTeX editor for academic writing with real-time compilation, version control, and template libraries, eliminating local TeX installation complexity, 2) **Observable** - Interactive computational notebooks for data visualization and analysis using D3.js with live code execution and publication capabilities, 3) **Figma** - Vector graphics editor with component systems, design tokens, and real-time collaboration protocols enabling distributed design workflows. These exemplify web applications' architectural advantages: zero-installation deployment, cloud storage persistence, multi-user synchronization, and platform-agnostic accessibility through browser standardization.", + "vocab_answer": [ + { + "word": "collaborative editing", + "definition": "Multiple users working on the same document simultaneously in real-time" + }, + { + "word": "real-time", + "definition": "Happening immediately without noticeable delay" + }, + { + "word": "universal access", + "definition": "Ability to use a service from any compatible device with internet connection" + }, + { + "word": "secure transactions", + "definition": "Protected financial or data exchanges that prevent unauthorized access" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Identify common web applications", + "Understand the practical benefits of web applications" + ] +}, + metadata: { + sourceFile: "content/overviews/02-a-few-computers/questions/web_apps/identify-useful-web-applications.yml", + compiledAt: "2026-02-23T00:32:17.202Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/concept-map.yml': { + module: { + "concept_map": [ + { + "category": "Connected Society", + "concepts": [ + { + "name": "Conflict", + "exam_questions": [ + "questions/connected_society/list-copyright-holder-rights.yml", + "questions/connected_society/list-fair-use-factors.yml", + "questions/connected_society/list-cyberbully-techniques.yml", + "questions/connected_society/discuss-ai-generated-content-impact.yml", + "questions/connected_society/discuss-ai-algorithm-information-shaping.yml" + ] + }, + { + "name": "Collaboration", + "exam_questions": [ + "questions/connected_society/explain-six-degrees-separation.yml", + "questions/connected_society/explain-wikipedia-editing.yml", + "questions/connected_society/explain-pull-request.yml" + ] + } + ] + }, + { + "category": "Cybersecurity", + "concepts": [ + { + "name": "Defense", + "exam_questions": [ + "questions/cybersecurity/explain-encryption.yml", + "questions/cybersecurity/explain-two-factor-authentication.yml", + "questions/cybersecurity/discuss-strong-password-issues.yml", + "questions/cybersecurity/explain-firewall-role.yml" + ] + }, + { + "name": "Attack", + "exam_questions": [ + "questions/cybersecurity/explain-malware.yml", + "questions/cybersecurity/explain-rootkit.yml", + "questions/cybersecurity/identify-malware-exploits.yml", + "questions/cybersecurity/describe-online-intrusion.yml", + "questions/cybersecurity/explain-zero-day-exploit.yml", + "questions/cybersecurity/explain-spoofing.yml", + "questions/cybersecurity/explain-social-engineering.yml" + ] + } + ] + } + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/concept-map.yml", + compiledAt: "2026-02-23T00:32:17.202Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/discuss-ai-algorithm-information-shaping.yml': { + module: { + "id": 18, + "question": "Discuss how AI algorithms shape what information people see online", + "answer": "AI algorithms fundamentally control the information ecosystem by determining what content appears in search results, social media feeds, news recommendations, and online advertisements. These algorithms use machine learning to analyze user behavior, preferences, and engagement patterns to predict what content will keep users engaged longer. While this personalization can be helpful, it creates significant societal challenges including filter bubbles (where people only see information that confirms their existing beliefs), echo chambers (where similar viewpoints are amplified), and the potential for manipulation through algorithmic bias. The algorithms prioritize engagement over accuracy, often promoting sensational or emotionally charged content that generates more clicks and shares. This can amplify misinformation, increase political polarization, and influence public opinion on important issues. The lack of transparency in how these algorithms work makes it difficult for users to understand why they're seeing certain content, creating concerns about democratic discourse and informed decision-making.", + "answer_kindergarten": "🤖 The internet is like a huge library with billions of books, but instead of you choosing what to read, a robot librarian picks books for you! This robot librarian (which is really a computer program) watches what you like and tries to guess what other things you might want to see. If you like videos about puppies, it will show you more puppy videos. If you click on scary stories, it will show you more scary stories. The problem is that this robot might only show you things that are similar to what you already like, so you might miss learning about new and different things. It's like if the librarian only gave you picture books and never showed you chapter books - you might not know there are other types of stories to discover!", + "answer_3rd_grade": "📚 Online platforms use smart computer programs called algorithms to decide what you see when you go online. These programs are like invisible helpers that watch what you click on, how long you spend reading things, and what you share with friends. Then they try to show you more of the same type of content to keep you interested and engaged. For example, if you watch a lot of science videos, the algorithm will recommend more science content. While this can be helpful for finding things you enjoy, it can also create problems. You might get stuck in a 'bubble' where you only see information that agrees with what you already think, and never encounter different perspectives or learn about new topics. This can make it harder to understand other people's viewpoints and can sometimes spread false information if you're only seeing one side of a story.", + "answer_7th_grade": "🎯 AI-powered recommendation algorithms use complex data analysis to curate personalized content experiences across digital platforms: 1) **Data Collection** - Algorithms analyze user behavior including click patterns, dwell time, search history, location data, and social connections to build detailed preference profiles, 2) **Engagement Optimization** - Machine learning models predict which content will maximize user engagement metrics like time spent, clicks, and shares, often prioritizing emotionally provocative content, 3) **Filter Bubbles** - Personalization can create 'filter bubbles' where users primarily encounter information that reinforces their existing beliefs and interests, limiting exposure to diverse perspectives, 4) **Echo Chambers** - Social media algorithms can amplify similar viewpoints within user networks, creating echo chambers that reinforce particular ideological positions, 5) **Information Manipulation** - The opacity of algorithmic decision-making enables potential manipulation of public opinion, election interference, and the spread of misinformation through strategic content promotion.", + "answer_high_school": "🧮 Algorithmic content curation represents a fundamental shift in how information flows through society, with profound implications for democracy and social cohesion: 1) **Machine Learning Systems** - Sophisticated neural networks analyze massive datasets including user behavior, content features, social graphs, and contextual signals to optimize for engagement metrics that may not align with user well-being or societal benefit, 2) **Economic Incentives** - Platform revenue models based on advertising create algorithmic bias toward addictive, sensational, or polarizing content that maximizes attention and data collection rather than promoting accurate information or diverse perspectives, 3) **Cognitive Manipulation** - Algorithms exploit psychological vulnerabilities including confirmation bias, social proof, and intermittent reinforcement to create compulsive usage patterns while shaping beliefs and behaviors through strategic information exposure, 4) **Democratic Implications** - Algorithmic mediation of information can undermine democratic discourse by creating fragmented information environments, enabling micro-targeted disinformation campaigns, and concentrating power over public opinion in the hands of platform companies. Potential solutions include algorithmic auditing, transparency requirements, and alternative recommendation systems designed for social good rather than profit maximization.", + "answer_undergraduate": "🏗️ Algorithmic mediation of information represents a critical infrastructure layer that shapes collective knowledge formation and social reality construction in digital societies: 1) **Computational Mechanisms** - Advanced recommendation systems employ deep learning architectures including collaborative filtering, content-based filtering, and hybrid approaches that optimize for predicted user engagement through reinforcement learning and multi-armed bandit algorithms, creating feedback loops between user behavior and content exposure, 2) **Epistemic Infrastructure** - Algorithms function as gatekeepers that determine not just what information individuals encounter but how societal attention and discourse are allocated, effectively serving as private infrastructure for public knowledge distribution with limited accountability or democratic oversight, 3) **Behavioral Economics Integration** - Platform algorithms exploit cognitive biases and behavioral patterns identified through A/B testing and user research, implementing persuasive design patterns that maximize engagement metrics while potentially undermining user autonomy and well-being through addiction mechanisms and manipulation of decision-making processes, 4) **Systemic Risk Factors** - Algorithmic content curation creates emergent risks including the rapid spread of misinformation through viral mechanisms, political polarization through ideological segregation, and the potential for coordinated manipulation campaigns that exploit platform vulnerabilities to influence elections, public health responses, and social movements. Research suggests that current algorithmic systems may be fundamentally incompatible with democratic values and informed citizenship, necessitating new models for information platform governance that balance innovation with public interest considerations.", + "vocab_answer": [ + { + "word": "algorithm", + "definition": "Set of rules or instructions that computers follow to solve problems or make decisions" + }, + { + "word": "filter bubble", + "definition": "Situation where algorithms limit exposure to information that challenges existing beliefs or interests" + }, + { + "word": "echo chamber", + "definition": "Environment where people encounter only information and opinions that reflect their own" + }, + { + "word": "recommendation system", + "definition": "AI system that suggests content, products, or connections based on user data and behavior" + }, + { + "word": "engagement metrics", + "definition": "Measurements of how users interact with content, such as clicks, time spent, and shares" + }, + { + "word": "confirmation bias", + "definition": "Tendency to seek out and interpret information that confirms existing beliefs" + }, + { + "word": "personalization", + "definition": "Customizing content and experiences based on individual user preferences and behavior" + }, + { + "word": "machine learning", + "definition": "AI technique where computers learn patterns from data without explicit programming" + }, + { + "word": "algorithmic bias", + "definition": "Systematic unfairness in algorithmic decision-making due to biased data or design" + } + ], + "type": "short_answer", + "points": 8, + "difficulty": "intermediate", + "learning_objectives": [ + "Understand how AI algorithms influence information consumption", + "Recognize the societal impacts of algorithmic content curation", + "Analyze the relationship between personalization and information diversity", + "Evaluate approaches to algorithmic transparency and accountability" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/discuss-ai-algorithm-information-shaping.yml", + compiledAt: "2026-02-23T00:32:17.203Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/discuss-ai-generated-content-impact.yml': { + module: { + "id": 17, + "question": "Discuss the impact of AI-generated text, images, and videos on truth and trust in digital communications", + "answer": "AI-generated content is fundamentally changing how we understand truth and trust online. Deepfake videos can make it appear that public figures said or did things they never actually did, while AI-generated text can create convincing but false news articles, social media posts, and even academic papers. AI image generation can create realistic photos of events that never happened or people who don't exist. This technology makes it increasingly difficult for ordinary people to distinguish between authentic and synthetic content, eroding trust in digital media. The implications include the spread of misinformation, manipulation of public opinion, fraud and scams using fake identities, and the potential for 'liar's dividend' where people dismiss real evidence as potentially fake. Society must develop new verification methods, digital literacy skills, and technological solutions to maintain trust in an era of synthetic media.", + "answer_kindergarten": "🤖 AI can now make fake pictures, videos, and stories that look totally real! It's like having a super advanced costume and makeup artist, but for computers. Bad people can use this to trick others by making fake videos of people saying things they never really said, or creating fake pictures of things that never happened. This makes it really hard to know what's true and what's fake on the internet! It's like if someone could perfectly copy your voice and call your friends pretending to be you. That's why it's super important to always check with grown-ups about things you see online, and remember that not everything on the internet is real, even if it looks very convincing!", + "answer_3rd_grade": "📱 AI technology can now create fake videos, pictures, and written stories that are so good they look completely real! This is both amazing and scary. The cool part is that AI can help make movies and art. The scary part is that bad people can use it to lie and trick others. For example, they might make a fake video of a famous person saying something mean, or create fake news stories about things that didn't really happen. When people can't tell what's real and what's fake, they start to not trust anything they see online. It's like if everyone at school could perfectly forge handwriting - you wouldn't know which notes were real! This is why we need to be extra careful about what we believe online and always double-check important information with trusted sources.", + "answer_7th_grade": "🎭 AI-generated content represents a paradigm shift in information authenticity, creating unprecedented challenges for digital literacy and media verification: 1) **Deepfake Technology** - AI can generate realistic videos of people saying or doing things they never actually did, using neural networks trained on existing footage to manipulate facial expressions and speech, 2) **Synthetic Text Generation** - Large language models can produce convincing articles, social media posts, and even research papers that appear human-written but contain false information, 3) **AI Image Generation** - Tools like DALL-E and Midjourney can create photorealistic images of events that never occurred, making visual evidence unreliable, 4) **Trust Erosion** - As synthetic content becomes more sophisticated, people may begin to doubt all digital media, leading to a 'epistemic crisis' where determining truth becomes increasingly difficult. This requires new approaches to verification, digital watermarking, and media literacy education.", + "answer_high_school": "🔍 The proliferation of AI-generated synthetic media creates complex challenges for information ecosystems and democratic discourse: 1) **Technical Sophistication** - Generative adversarial networks (GANs) and transformer models enable creation of highly convincing fake content across modalities, with quality improving exponentially while detection becomes more difficult, 2) **Societal Implications** - Synthetic media enables sophisticated disinformation campaigns, political manipulation, and social engineering attacks while potentially undermining legitimate journalism and evidence-based discourse, 3) **Verification Challenges** - Traditional fact-checking methods become insufficient as synthetic content can include false but internally consistent details, requiring new technological solutions like blockchain verification and AI detection tools, 4) **Psychological Impact** - The 'liar's dividend' phenomenon allows bad actors to dismiss real evidence as potentially fake, while confirmation bias leads people to accept synthetic content that aligns with their existing beliefs. Solutions require interdisciplinary approaches combining technology, law, education, and social norms.", + "answer_undergraduate": "🧠 AI-generated synthetic media represents a fundamental disruption to epistemological frameworks underpinning modern information societies, necessitating new approaches to truth verification and trust establishment: 1) **Technological Disruption** - Advanced generative models including diffusion models, autoregressive transformers, and multimodal architectures enable creation of synthetic content that surpasses human detection capabilities, creating an arms race between generation and detection technologies, 2) **Information Ecosystem Collapse** - The inability to distinguish authentic from synthetic content threatens the evidence-based decision-making processes essential to democratic governance, scientific discourse, and social coordination, potentially leading to what researchers term 'epistemic nihilism', 3) **Institutional Adaptation** - Traditional gatekeeping institutions (journalism, academia, legal systems) must develop new verification protocols, while technological solutions including cryptographic provenance, distributed verification networks, and AI-assisted detection systems require coordination across stakeholders, 4) **Philosophical Implications** - The crisis challenges foundational assumptions about truth, evidence, and reality in digital contexts, requiring new frameworks for understanding authenticity and trustworthiness that account for both human and artificial agents. Research suggests successful adaptation requires not just technological solutions but fundamental changes to how societies structure information flows, assign credibility, and maintain shared epistemic standards.", + "vocab_answer": [ + { + "word": "deepfake", + "definition": "AI-generated video or audio content that appears authentic but shows people saying or doing things they never actually did" + }, + { + "word": "synthetic media", + "definition": "Content created entirely or partially by artificial intelligence rather than traditional recording methods" + }, + { + "word": "generative AI", + "definition": "Artificial intelligence systems that can create new content including text, images, audio, and video" + }, + { + "word": "misinformation", + "definition": "False or inaccurate information, regardless of intent to deceive" + }, + { + "word": "disinformation", + "definition": "Deliberately false information created and spread to deceive or mislead" + }, + { + "word": "liar's dividend", + "definition": "Benefit gained by liars when people become skeptical of all information due to prevalence of fake content" + }, + { + "word": "epistemic crisis", + "definition": "Breakdown in society's ability to distinguish between true and false information" + }, + { + "word": "digital provenance", + "definition": "Technology that tracks the origin and history of digital content to verify authenticity" + } + ], + "type": "short_answer", + "points": 8, + "difficulty": "intermediate", + "learning_objectives": [ + "Understand the impact of AI on information authenticity", + "Recognize challenges to digital media verification", + "Analyze societal implications of synthetic content", + "Evaluate approaches to maintaining trust in digital communications" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/discuss-ai-generated-content-impact.yml", + compiledAt: "2026-02-23T00:32:17.204Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/explain-pull-request.yml': { + module: { + "id": 13, + "question": "What is a pull request and how does it facilitate collaboration?", + "answer": "A pull request is a feature used in collaborative software development that allows developers to propose changes to a codebase. When someone wants to contribute to a project, they create a copy (fork) of the code, make their changes, and then submit a pull request asking the project maintainers to review and potentially merge their changes into the main codebase. The pull request includes a description of what was changed and why, allowing reviewers to discuss the changes, suggest improvements, and ensure quality before accepting the contribution. This system enables distributed collaboration where many people can contribute to the same project while maintaining code quality and project integrity.", + "vocab_answer": [ + { + "word": "pull request", + "definition": "A proposal to merge code changes from one branch or fork into another" + }, + { + "word": "fork", + "definition": "A personal copy of someone else's project that you can modify" + }, + { + "word": "merge", + "definition": "The process of combining changes from different code branches" + }, + { + "word": "code review", + "definition": "Process where other developers examine proposed changes before they're accepted" + }, + { + "word": "project maintainer", + "definition": "Person responsible for overseeing and managing a software project" + } + ], + "answer_kindergarten": "A pull request is like asking permission to add your art to a class project! Imagine your class is making a big poster together. You draw a picture at home and want to add it to the poster. Instead of just gluing it on, you show your teacher first and say 'Can I please add this to our poster?' Your teacher and maybe some classmates look at your picture, make sure it fits well, and if they like it, they help you add it to the poster. A pull request is the same thing, but for computer programs - it's asking 'Can I please add my code to your project?'", + "vocab_kindergarten": [ + { + "word": "asking permission", + "definition": "Checking with others before adding your work to a shared project" + }, + { + "word": "class project", + "definition": "Something everyone works on together, like computer programs" + }, + { + "word": "adding your art", + "definition": "Contributing your work to make the project better" + }, + { + "word": "teacher checks", + "definition": "How project leaders review contributions before accepting them" + } + ], + "answer_3rd_grade": "A pull request is a way for multiple people to work together on computer projects safely. When you want to add your work to someone else's project, you don't just change it directly - that could break things! Instead, you make your own copy of the project, add your improvements, and then ask the project owner to review your changes. It's like submitting homework for the teacher to grade before it becomes part of the official record. The project owner can look at what you did, suggest changes, and if they approve, they can add your work to the main project. This way, many people can contribute to the same project without accidentally messing it up.", + "vocab_3rd_grade": [ + { + "word": "computer projects", + "definition": "Software programs that multiple people work on together" + }, + { + "word": "make your own copy", + "definition": "Creating a personal version of a project to work on safely" + }, + { + "word": "project owner", + "definition": "The person in charge of deciding what changes get added" + }, + { + "word": "review changes", + "definition": "Carefully looking at proposed improvements before accepting them" + }, + { + "word": "official record", + "definition": "The main version of the project that everyone uses" + } + ], + "answer_7th_grade": "A pull request is a collaborative development workflow mechanism that enables distributed teams to contribute code changes while maintaining project quality and organization. The process involves forking a repository (creating an independent copy), making modifications in a separate branch, and then requesting that maintainers review and potentially merge those changes into the main codebase. Pull requests include diff views showing exactly what code was added, removed, or modified, along with descriptions explaining the purpose and rationale for changes. Team members can comment on specific lines of code, suggest improvements, and engage in discussions before changes are approved. This system enables open-source collaboration where hundreds of developers can contribute to projects like Linux or web browsers while ensuring code quality through peer review.", + "vocab_7th_grade": [ + { + "word": "collaborative workflow", + "definition": "Organized system for multiple people to work together on projects" + }, + { + "word": "forking a repository", + "definition": "Creating an independent copy of a code project you can modify" + }, + { + "word": "branch", + "definition": "Separate version of code where you can make changes without affecting the main version" + }, + { + "word": "diff views", + "definition": "Visual displays showing exactly what code was changed between versions" + }, + { + "word": "peer review", + "definition": "Process where other developers examine and approve code changes" + }, + { + "word": "open-source collaboration", + "definition": "Development model where anyone can contribute to publicly available projects" + }, + { + "word": "maintainers", + "definition": "People responsible for reviewing and accepting changes to a project" + } + ], + "answer_high_school": "Pull requests implement a distributed version control workflow enabling asynchronous collaboration through formal change proposal mechanisms. The process leverages Git's branching model where contributors fork repositories, create feature branches for isolated development, and submit merge requests via platforms like GitHub, GitLab, or Bitbucket. Pull requests facilitate code review through inline commenting, continuous integration testing, and approval workflows before changes are merged into target branches. Advanced features include automated testing pipelines, conflict resolution tools, and integration with issue tracking systems. This methodology enables scaling software development across distributed teams while maintaining code quality through structured review processes, supporting both open-source projects with thousands of contributors and enterprise development with strict quality gates.", + "vocab_high_school": [ + { + "word": "distributed version control", + "definition": "System allowing multiple developers to work on code simultaneously across different locations" + }, + { + "word": "asynchronous collaboration", + "definition": "Working together without requiring everyone to be online at the same time" + }, + { + "word": "feature branches", + "definition": "Separate code branches created for developing specific new features" + }, + { + "word": "continuous integration", + "definition": "Automated testing that runs whenever new code is proposed" + }, + { + "word": "merge conflicts", + "definition": "Situations where different changes to the same code need manual resolution" + }, + { + "word": "approval workflows", + "definition": "Formal processes requiring specific people to approve changes before merging" + }, + { + "word": "quality gates", + "definition": "Automated checks ensuring code meets standards before acceptance" + } + ], + "answer_undergraduate": "Pull requests represent a fundamental paradigm in modern software engineering, implementing formal change management through distributed version control systems with integrated peer review mechanisms. The workflow leverages Git's directed acyclic graph structure for branch management, enabling atomic commits and granular change tracking. Platform implementations provide sophisticated collaboration interfaces including threaded discussions, inline code annotations, and integration with continuous integration/continuous deployment (CI/CD) pipelines. Advanced pull request systems support complex approval matrices, automated testing orchestration, and conflict resolution through three-way merge algorithms. Research in collaborative software development demonstrates that pull request-based workflows improve code quality through increased review coverage while enabling global distributed development at scale, though they introduce communication overhead and potential bottlenecks in review processes that require optimization through automated tooling and organizational policies.", + "vocab_undergraduate": [ + { + "word": "directed acyclic graph", + "definition": "Mathematical structure underlying Git's branch and commit history representation" + }, + { + "word": "atomic commits", + "definition": "Individual code changes that represent complete, indivisible units of work" + }, + { + "word": "threaded discussions", + "definition": "Organized conversation systems for discussing code changes and decisions" + }, + { + "word": "CI/CD pipelines", + "definition": "Automated systems for testing, building, and deploying code changes" + }, + { + "word": "three-way merge algorithms", + "definition": "Computational methods for combining changes from different code branches" + }, + { + "word": "approval matrices", + "definition": "Complex rule systems defining who must approve different types of changes" + }, + { + "word": "review coverage metrics", + "definition": "Quantitative measures of how thoroughly code changes are examined" + }, + { + "word": "communication overhead", + "definition": "Additional time and effort required for coordination in collaborative development" + } + ], + "topics": [ + "collaboration", + "version control", + "software development" + ], + "type": "short_answer", + "points": 4, + "difficulty": "beginner", + "learning_objectives": [ + "Understand collaborative software development practices", + "Learn about distributed version control workflows", + "Recognize the importance of code review in software quality" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/explain-pull-request.yml", + compiledAt: "2026-02-23T00:32:17.204Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/explain-six-degrees-separation.yml': { + module: { + "id": 1, + "question": "Explain the 6 degrees of separation", + "answer": "The six degrees of separation is the theory that any two people in the world can be connected through a chain of no more than six intermediate personal relationships. For example, you know someone, who knows someone, who knows someone (and so on for up to six steps) who knows any other person on Earth. This concept highlights how interconnected human society is, even globally. Social media and digital networks have made these connections more visible and potentially reduced the actual number of degrees needed to connect people.", + "answer_kindergarten": "🧸 Six degrees of separation means that you can be connected to anyone in the whole world through your friends and their friends! It's like this: You know your mom, your mom knows her friend Sarah, Sarah knows her cousin Jake, Jake knows his teacher Mr. Smith, Mr. Smith knows someone famous, and that famous person knows someone in another country! So you're connected to people far away through a chain of friends. It shows that everyone in the world is connected somehow!", + "answer_3rd_grade": "📚 Imagine you want to get a message to someone very far away, like a kid in Japan. The six degrees of separation says you can do it through just six people! You give the message to your friend, who gives it to their older brother, who gives it to his college roommate, who gives it to someone they met online, who gives it to their pen pal, who gives it to the kid in Japan. That's six steps! It means the world is more connected than it seems.", + "answer_7th_grade": "🤔 Six degrees of separation is the idea that everyone on Earth is connected to everyone else by a maximum of six personal relationships. If you pick any random person anywhere in the world, you can trace a path of acquaintances from you to them in six steps or fewer. This theory was tested through experiments and became more visible with social media platforms like Facebook, which actually found the average connection is closer to 3-4 degrees. It demonstrates how interconnected human society really is, even across continents and cultures.", + "answer_high_school": "🎓 The six degrees of separation theory, popularized by psychologist Stanley Milgram's 1960s experiments, suggests that any two people can be connected through an average of six intermediary relationships. This reflects the 'small world' phenomenon in network theory, where social networks exhibit high clustering but short path lengths between nodes. Digital platforms have validated and refined this concept - Facebook's research found the average separation is now 3.57 degrees. The theory has implications for understanding social influence, information spread, disease transmission, and the structure of human connectivity in an increasingly networked world.", + "answer_undergraduate": "🧠 Six degrees of separation represents a fundamental property of scale-free social networks with power-law degree distributions and small-world characteristics. Milgram's original small-world experiments demonstrated average path lengths of ~6 in social graphs, later formalized through Watts-Strogatz models showing how random rewiring creates shortcuts in regular lattices. Modern graph analysis of social media platforms reveals even smaller average path lengths due to super-connected hubs (celebrities, influencers) and algorithmic friend recommendations. This has implications for epidemiology (disease spread), viral marketing, social capital theory, and understanding how information cascades through networked populations with heterogeneous connectivity patterns.", + "vocab_answer": [ + { + "word": "six degrees of separation", + "definition": "Theory that everyone in the world is connected by no more than six intermediate relationships" + }, + { + "word": "social network", + "definition": "Structure of relationships and connections between individuals or groups" + }, + { + "word": "interconnected", + "definition": "Connected with each other in a complex network of relationships" + }, + { + "word": "intermediate relationships", + "definition": "Connections between people that serve as links in a chain of relationships" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the concept of social connectivity", + "Recognize how digital networks reflect social connections" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/explain-six-degrees-separation.yml", + compiledAt: "2026-02-23T00:32:17.205Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/explain-wikipedia-editing.yml': { + module: { + "id": 4, + "question": "Explain how Wikipedia articles are written and edited", + "answer": "Wikipedia articles are created and maintained through collaborative editing by volunteers worldwide. Anyone can create an account and edit most articles directly through their web browser. Editors add content, fix errors, update information, and cite reliable sources. All changes are tracked in a revision history, and controversial edits can be discussed on article talk pages. Wikipedia has policies requiring neutral point of view, verifiable information from reliable sources, and no original research. More experienced editors and administrators help maintain quality by reviewing changes, protecting important articles from vandalism, and resolving disputes through community discussion and consensus.", + "answer_kindergarten": "📚 Wikipedia is like a giant book that everyone in the world can help write! When you want to add something or fix a mistake, you can just click a button and start typing. It's like having a class where everyone helps write the best story together. If someone writes something wrong, other people can fix it. Everyone works together to make sure the information is correct and helpful!", + "answer_3rd_grade": "✏️ Wikipedia works like a big group project where millions of people help write articles about everything! Anyone can edit an article by clicking the 'edit' button and making changes. But there are rules: you have to tell the truth, use good sources (like books and newspapers), and be fair to all sides. If people disagree about something, they talk about it on a special discussion page until they agree. Smart editors check the changes to make sure everything is accurate.", + "answer_7th_grade": "🌐 Wikipedia operates on a wiki model where registered users can edit articles collaboratively. Editors must follow core policies: neutral point of view (NPOV), verifiability through reliable sources, and no original research. Every edit is recorded in a revision history, allowing changes to be tracked and reverted if necessary. Talk pages facilitate discussion about controversial topics. Experienced editors and administrators monitor changes, fight vandalism, and enforce policies through community consensus rather than top-down authority.", + "answer_high_school": "📖 Wikipedia exemplifies crowdsourced knowledge creation through its open editing model. The platform uses MediaWiki software enabling real-time collaborative editing with version control. Content policies ensure encyclopedic quality: verifiability requires citations to reliable secondary sources, NPOV mandates balanced coverage, and original research is prohibited. The community self-regulates through watchlists, recent changes patrol, anti-vandalism tools, and dispute resolution processes. Administrative actions require community consensus, demonstrated through discussion and !voting processes that evaluate arguments rather than simple vote counting.", + "answer_undergraduate": "🔬 Wikipedia represents a paradigmatic example of commons-based peer production, leveraging network effects and distributed cognition for knowledge creation. The editing ecosystem includes automated bots for maintenance tasks, semi-protection mechanisms for controversial articles, and sophisticated conflict resolution hierarchies from talk pages to arbitration committees. Quality assessment involves Featured Article criteria, Good Article reviews, and systematic bias identification. The platform demonstrates how large-scale coordination can emerge from individual contributions without centralized control, though concerns persist regarding systemic bias, expert participation rates, and the digital divide's impact on content representation.", + "vocab_answer": [ + { + "word": "collaborative editing", + "definition": "Process where multiple people work together to create and improve written content" + }, + { + "word": "revision history", + "definition": "Record of all changes made to a document over time, showing who made what changes" + }, + { + "word": "neutral point of view", + "definition": "Writing style that presents information fairly without bias toward any particular perspective" + }, + { + "word": "reliable sources", + "definition": "Published materials with a reputation for accuracy and fact-checking" + }, + { + "word": "consensus", + "definition": "General agreement reached through discussion among community members" + }, + { + "word": "wiki", + "definition": "Website that allows collaborative editing of content by multiple users" + }, + { + "word": "vandalism", + "definition": "Malicious or unhelpful editing intended to damage or disrupt content" + }, + { + "word": "crowdsourcing", + "definition": "Obtaining input or content by enlisting services of many people" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand collaborative content creation processes", + "Recognize quality control mechanisms in open editing systems" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/explain-wikipedia-editing.yml", + compiledAt: "2026-02-23T00:32:17.206Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/list-copyright-holder-rights.yml': { + module: { + "id": 2, + "question": "List the six rights that are exclusively exercised by copyright holders", + "answer": "The six exclusive rights of copyright holders are: 1) The right to reproduce the work (make copies), 2) The right to create derivative works (adaptations, translations, modifications), 3) The right to distribute copies to the public (sell, lease, or transfer), 4) The right to perform the work publicly (for literary, musical, dramatic works), 5) The right to display the work publicly (for artistic, literary works), and 6) The right to perform sound recordings publicly by digital audio transmission. These rights give creators control over how their original works are used, copied, and distributed.", + "answer_kindergarten": "📚 When someone creates something special like a story, song, or picture, they get 6 special permissions that only they can decide about! 1) They decide who can make copies of their work, 2) They decide if someone can change their work to make something new, 3) They decide who can sell or give away their work, 4) They decide who can perform their story or song in front of people, 5) They decide who can show their pictures or art to groups of people, and 6) They decide who can play their music on the internet or radio. It's like having special rules for your favorite toy - only you get to decide who can play with it!", + "answer_3rd_grade": "🎨 Copyright gives creators 6 important powers over their work: 1) **Copy Control** - Only they can decide who makes copies (like photocopying a book), 2) **Change Control** - Only they can let people make new versions (like turning a book into a movie), 3) **Sharing Control** - Only they can decide who sells or gives away their work, 4) **Performance Control** - Only they can let people act out their plays or sing their songs in public, 5) **Display Control** - Only they can let people show their art or writing to audiences, 6) **Digital Music Control** - Only they can decide who plays their recorded music online or on streaming services. These rules protect creators so they can earn money from their hard work!", + "answer_7th_grade": "⚖️ U.S. copyright law grants six exclusive rights to creators: 1) **Reproduction Rights** - Control over copying in any format (physical or digital), 2) **Derivative Works Rights** - Control over adaptations, translations, and modifications, 3) **Distribution Rights** - Control over selling, renting, or transferring copies to the public, 4) **Public Performance Rights** - Control over live or recorded performances in public spaces, 5) **Public Display Rights** - Control over showing works in galleries, websites, or public venues, 6) **Digital Transmission Rights** - Control over streaming or broadcasting sound recordings digitally. These rights can be licensed to others while the creator retains ownership, enabling business models in entertainment, publishing, and digital media industries.", + "answer_high_school": "📖 The Copyright Act of 1976 establishes six exclusive rights that form the foundation of intellectual property protection: 1) **Reproduction Rights (§106(1))** - Exclusive control over creating copies in any tangible medium, including digital reproduction, 2) **Derivative Works Rights (§106(2))** - Exclusive control over creating adaptations, arrangements, or transformations based on the original work, 3) **Distribution Rights (§106(3))** - Exclusive control over first sale and subsequent distribution to the public, 4) **Public Performance Rights (§106(4))** - Exclusive control over live, recorded, or transmitted performances in public settings, 5) **Public Display Rights (§106(5))** - Exclusive control over visual presentation of works to audiences, 6) **Digital Audio Transmission Rights (§106(6))** - Exclusive control over streaming and digital broadcasting of sound recordings. These rights are subject to limitations including fair use, first sale doctrine, and specific exemptions for education and commentary.", + "answer_undergraduate": "🏛️ The six exclusive rights under 17 U.S.C. §106 constitute the bundle of rights that define copyright ownership and enable economic exploitation of creative works: 1) **Reproduction Rights** - Control over mechanical reproduction, digital copying, and format conversion, creating the foundation for licensing revenue, 2) **Derivative Works Rights** - Control over transformative uses, enabling expansion into different media markets and licensing for adaptations, 3) **Distribution Rights** - Control over public distribution channels, subject to first sale doctrine limitations but enabling control over unauthorized distribution networks, 4) **Public Performance Rights** - Control over performance in public spaces, fundamental to performance royalties through organizations like ASCAP and BMI, 5) **Public Display Rights** - Control over visual presentation, crucial for visual arts markets and digital display licensing, 6) **Digital Audio Transmission Rights** - Control over non-interactive digital transmissions, specifically addressing streaming and satellite radio revenue streams. These rights interact with fair use doctrine (§107), creating complex analytical frameworks for determining infringement versus permissible use in digital environments.", + "vocab_answer": [ + { + "word": "copyright", + "definition": "Legal protection giving creators exclusive rights to control use of their original works" + }, + { + "word": "derivative work", + "definition": "New work based on or adapted from an existing copyrighted work" + }, + { + "word": "public performance", + "definition": "Performing a work in a place open to the public or where people gather" + }, + { + "word": "public distribution", + "definition": "Making copies of a work available to the general public through sale or transfer" + }, + { + "word": "reproduction rights", + "definition": "Exclusive right to make copies of a copyrighted work" + }, + { + "word": "digital audio transmission", + "definition": "Broadcasting or streaming sound recordings through digital means" + }, + { + "word": "fair use", + "definition": "Legal doctrine allowing limited use of copyrighted material without permission" + }, + { + "word": "first sale doctrine", + "definition": "Legal principle that limits copyright holder's control after the first authorized sale" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand basic copyright protections", + "Identify the scope of creator rights in digital content" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/list-copyright-holder-rights.yml", + compiledAt: "2026-02-23T00:32:17.206Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/list-cyberbully-techniques.yml': { + module: { + "id": 5, + "question": "List four techniques for dealing with cyberbullies", + "answer": "Four effective techniques for dealing with cyberbullies are: 1) Document and save evidence (screenshots, messages) before blocking or reporting, 2) Block the bully on all platforms and report them to the website/app administrators, 3) Don't engage or respond to the bullying behavior, as this often escalates the situation, and 4) Seek support from trusted adults, friends, or counselors who can provide guidance and emotional help. Additional strategies include adjusting privacy settings to limit who can contact you and taking breaks from social media when needed to protect your mental health.", + "answer_kindergarten": "🛡️ If someone is being mean to you online, here are 4 things you can do to stay safe: 1) **Tell a grown-up** - Always tell your parents, teacher, or another adult you trust when someone is being mean online, 2) **Take pictures** - Ask an adult to help you take screenshots (pictures of the mean messages) so you have proof, 3) **Block the mean person** - Don't let them send you messages anymore by blocking them (ask an adult to help), 4) **Don't be mean back** - Even though it's hard, don't send mean messages back because it makes things worse. Remember: It's never your fault when someone is mean to you online!", + "answer_3rd_grade": "🔒 When dealing with cyberbullies, follow these 4 important steps: 1) **Save Evidence** - Take screenshots of mean messages or posts before doing anything else - this helps adults understand what happened, 2) **Block and Report** - Block the bully so they can't contact you, then report them to the website (like telling the teacher when someone's being mean at school), 3) **Don't Respond** - Never reply to mean messages, even to defend yourself, because bullies want attention and responding gives them what they want, 4) **Get Help** - Talk to parents, teachers, or school counselors who can give you advice and emotional support. Also change your privacy settings so strangers can't easily find or message you.", + "answer_7th_grade": "🛠️ Effective cyberbullying response strategies include: 1) **Evidence Documentation** - Immediately screenshot messages, posts, or comments with timestamps before the bully deletes them - this creates a record for authorities and platforms, 2) **Platform-Specific Reporting** - Use built-in reporting tools on each social media platform and block the aggressor across all accounts and platforms, 3) **Non-Engagement Policy** - Resist the urge to respond, defend yourself, or retaliate, as engagement often escalates cyberbullying and provides the reaction bullies seek, 4) **Support Network Activation** - Inform trusted adults (parents, teachers, counselors) and maintain connections with positive friends who can provide emotional support and perspective. Additionally, review and strengthen privacy settings, consider temporary social media breaks, and document any offline impacts for potential legal action.", + "answer_high_school": "⚖️ Comprehensive cyberbullying intervention requires multi-layered approaches: 1) **Digital Forensics** - Systematically document evidence including metadata, URLs, timestamps, and user profiles using screenshot tools and browser history - preserving chain of custody for potential legal proceedings, 2) **Institutional Reporting** - Report incidents through formal channels including platform abuse reporting systems, school administration (if involving classmates), and law enforcement if threats involve violence or harassment laws, 3) **Strategic Disengagement** - Avoid public responses that can be screenshot and weaponized; instead privately seek mediation through mutual connections or institutional authorities when appropriate, 4) **Mental Health Support** - Engage professional counseling resources, peer support groups, and develop coping strategies for digital stress and reputation damage. Implement proactive measures including privacy audits, selective sharing policies, and digital detox periods.", + "answer_undergraduate": "🎓 Evidence-based cyberbullying mitigation strategies integrate technological, legal, and psychological interventions: 1) **Comprehensive Documentation** - Employ systematic evidence collection including digital forensics tools, blockchain timestamping for integrity, cross-platform activity correlation, and documentation of psychological impact through standardized assessment instruments, 2) **Multi-Jurisdictional Reporting** - Navigate complex reporting hierarchies including platform terms of service enforcement, educational institution policies, law enforcement cyber crime units, and civil litigation options under state anti-cyberbullying statutes, 3) **Behavioral Psychology Application** - Implement extinction protocols by eliminating reinforcement mechanisms (attention, emotional responses) that maintain bullying behavior while utilizing social cognitive theory to understand bystander intervention opportunities, 4) **Integrated Support Systems** - Coordinate mental health interventions including trauma-informed therapy, peer support networks, family systems therapy, and community-based restorative justice programs where applicable. Research indicates multi-modal approaches show higher efficacy than single-intervention strategies.", + "vocab_answer": [ + { + "word": "cyberbullying", + "definition": "Use of digital technology to repeatedly harass, threaten, or harm others" + }, + { + "word": "digital evidence", + "definition": "Screenshots, messages, or other electronic records that document online behavior" + }, + { + "word": "privacy settings", + "definition": "Controls that limit who can see your profile, contact you, or interact with your content" + }, + { + "word": "platform administrators", + "definition": "People responsible for managing and enforcing rules on websites and social media" + }, + { + "word": "documentation", + "definition": "Process of recording and preserving evidence of cyberbullying incidents" + }, + { + "word": "non-engagement", + "definition": "Strategy of not responding to or interacting with cyberbullies" + }, + { + "word": "support network", + "definition": "Group of trusted people who can provide help and emotional support" + }, + { + "word": "digital forensics", + "definition": "Scientific collection and analysis of digital evidence for investigations" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Identify effective responses to online harassment", + "Understand digital safety and protection strategies" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/list-cyberbully-techniques.yml", + compiledAt: "2026-02-23T00:32:17.207Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/connected_society/list-fair-use-factors.yml': { + module: { + "id": 3, + "question": "List the four factors that characterize fair use", + "answer": "The four factors that determine fair use are: 1) The purpose and character of the use (commercial vs. educational, transformative nature), 2) The nature of the copyrighted work (factual vs. creative, published vs. unpublished), 3) The amount and substantiality of the portion used (how much of the original work was used), and 4) The effect of the use on the market or value of the original work (does it harm the creator's ability to profit). Courts consider all four factors together when determining if a use qualifies as fair use, which allows limited use of copyrighted material without permission for purposes like criticism, comment, teaching, or research.", + "answer_kindergarten": "📚 Sometimes you can use a tiny bit of someone else's work without asking, and there are 4 questions to help decide if it's okay: 1) **Why are you using it?** - Are you using it to learn or teach something, or are you trying to make money from it? 2) **What kind of work is it?** - Is it a story someone made up, or is it facts like from a textbook? 3) **How much are you using?** - Are you using just a tiny piece or the whole thing? 4) **Will this hurt the creator?** - Will fewer people buy the original because of what you did? If you can say you're using just a little bit for learning and it won't hurt the creator, it might be okay!", + "answer_3rd_grade": "⚖️ Fair use lets people use small parts of copyrighted work for good reasons, and judges look at 4 things to decide if it's allowed: 1) **Purpose** - Using it for school projects, news reports, or criticism is more likely to be okay than using it to make money, 2) **Type of Work** - It's easier to use factual information (like from encyclopedias) than creative works (like songs or stories), 3) **Amount Used** - Using a sentence or two is more likely to be fair than copying whole chapters, 4) **Market Harm** - If your use means people won't buy the original, that's usually not fair use. For example, using a short movie clip in a school presentation about the environment is more likely to be fair use than copying a whole song for your YouTube video.", + "answer_7th_grade": "🎯 The four-factor fair use test under U.S. copyright law evaluates: 1) **Purpose and Character** - Non-commercial, educational, or transformative uses (like parody or criticism) are favored over commercial copying; transformative uses that add new meaning are stronger, 2) **Nature of Work** - Factual works have less protection than creative expression; published works are more available for fair use than unpublished materials, 3) **Amount and Substantiality** - Both quantitative (how much) and qualitative (importance) matter - using the 'heart' of a work weighs against fair use even if the amount is small, 4) **Market Effect** - Courts consider both actual economic harm and potential market impact, including harm to derivative work markets. These factors are weighed together, not as a checklist.", + "answer_high_school": "📖 The four-factor analysis established in Section 107 of the Copyright Act provides courts with criteria for determining fair use: 1) **Purpose and Character (§107(1))** - Favors non-profit educational use, criticism, comment, news reporting, and especially transformative uses that repurpose content with new expression or meaning, creating different aesthetic or functional purposes, 2) **Nature of Copyrighted Work (§107(2))** - Factual works receive less protection than creative expression; published works are more subject to fair use than unpublished materials which receive stronger protection, 3) **Amount and Substantiality (§107(3))** - Considers both quantitative proportion and qualitative significance of portions used relative to the work as a whole; copying minimal amounts generally favors fair use unless it constitutes the 'heart' of the work, 4) **Effect on Market Value (§107(4))** - Analyzes actual or potential economic impact on the copyright holder's market, including effects on licensing opportunities and derivative work markets.", + "answer_undergraduate": "🏛️ The four-factor test codified in 17 U.S.C. §107 represents a flexible, case-by-case balancing approach rather than mechanical application: 1) **Purpose and Character Analysis** - Emphasizes transformative use doctrine established in Campbell v. Acuff-Rose (1994), examining whether new work adds something new with further purpose or different character, altering the original with new expression, meaning, or message; commercial use doesn't automatically preclude fair use but weighs against it, 2) **Nature of Work Analysis** - Considers creativity spectrum from factual compilations to highly creative expression; unpublished works receive stronger protection under Harper & Row v. Nation Enterprises (1985), reflecting author's right to control first publication, 3) **Amount and Substantiality** - Quantitative and qualitative analysis considering both percentage taken and importance of excerpt to original work's value; even small takings can exceed fair use if they appropriate the work's most distinctive elements, 4) **Market Harm Analysis** - Considers four types of harm: usurpation of demand for original, criticism reducing market appeal, satire affecting market, and impact on potential licensing markets including transformative uses. The analysis requires weighing all factors together, with no single factor being determinative.", + "vocab_answer": [ + { + "word": "fair use", + "definition": "Legal doctrine allowing limited use of copyrighted material without permission for specific purposes" + }, + { + "word": "transformative use", + "definition": "Use that adds new expression, meaning, or message to the original work" + }, + { + "word": "market impact", + "definition": "Effect that unauthorized use has on the commercial value of the original work" + }, + { + "word": "substantiality", + "definition": "Importance or significance of the portion used relative to the whole work" + }, + { + "word": "four-factor test", + "definition": "Legal framework for analyzing whether use of copyrighted material qualifies as fair use" + }, + { + "word": "commercial use", + "definition": "Use of copyrighted material for profit or commercial advantage" + }, + { + "word": "derivative work market", + "definition": "Market for works based on or adapted from the original copyrighted work" + }, + { + "word": "qualitative analysis", + "definition": "Assessment of the importance or significance of the copied portion" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand fair use limitations on copyright", + "Recognize factors in determining legal use of copyrighted material" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/connected_society/list-fair-use-factors.yml", + compiledAt: "2026-02-23T00:32:17.207Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/describe-online-intrusion.yml': { + module: { + "id": 12, + "question": "Describe how an online intrusion takes place", + "answer": "An online intrusion typically follows these steps: 1) Reconnaissance - attackers gather information about the target (through social media, company websites, or network scanning), 2) Initial access - using exploits like phishing emails, malware, or exploiting software vulnerabilities to gain entry, 3) Privilege escalation - expanding access from limited user accounts to administrative control, 4) Persistence - installing backdoors or rootkits to maintain access even after discovery, 5) Data collection - searching for valuable information like passwords, financial data, or trade secrets, and 6) Exfiltration - secretly copying and removing stolen data from the system. Throughout this process, attackers try to avoid detection by security systems and administrators.", + "answer_kindergarten": "🕵️ Bad computer people break into computers like burglars break into houses! First, they **look around** to learn about the computer (like a burglar watching a house). Then they **find a way in** by tricking people or finding an unlocked door. Once inside, they **try to get into more rooms** by finding keys or passwords. They **hide** so no one knows they're there, like hiding under the bed. Then they **look for valuable things** like money information or secrets. Finally, they **steal the valuable things** and sneak them out. Just like house burglars, computer burglars try not to get caught!", + "answer_3rd_grade": "🏠 Online intrusions work like digital break-ins with 6 main steps: 1) **Scouting** - Hackers research their target by looking at websites and social media, like a thief checking if anyone's home, 2) **Breaking In** - They use tricks like fake emails or find weaknesses in software to get inside, 3) **Getting More Access** - Once in with a basic account, they try to get administrator powers (like finding the master key), 4) **Staying Hidden** - They install secret programs so they can come back later even if discovered, 5) **Searching for Treasure** - They hunt for valuable data like credit cards or personal information, 6) **Stealing the Goods** - They copy and secretly remove the valuable information. Security software tries to catch them, but skilled hackers are good at hiding!", + "answer_7th_grade": "🎯 Cyber intrusions follow a systematic attack methodology called the \"cyber kill chain\": 1) **Reconnaissance** - Attackers use OSINT (open source intelligence) to gather target information from social media, company websites, and public databases, 2) **Weaponization & Delivery** - They create and deliver attack vectors like malicious email attachments, infected USB drives, or exploit kits targeting software vulnerabilities, 3) **Exploitation** - Initial compromise occurs through successful phishing, drive-by downloads, or zero-day exploits, 4) **Installation & Persistence** - Malware, backdoors, or rootkits are installed to maintain access and survive system reboots, 5) **Command & Control** - Attackers establish communication channels with compromised systems for remote control, 6) **Actions on Objectives** - Data theft, system destruction, or other malicious goals are executed while evading detection through encryption and anti-forensics techniques.", + "answer_high_school": "⚔️ Advanced Persistent Threats (APTs) employ sophisticated multi-stage intrusion methodologies: 1) **Intelligence Gathering** - Comprehensive reconnaissance using social engineering, network scanning, vulnerability assessments, and supply chain analysis to identify attack vectors, 2) **Initial Compromise** - Multi-vector attacks combining spear phishing, watering hole attacks, or supply chain compromises to establish initial footholds, 3) **Lateral Movement** - Privilege escalation using credential dumping, pass-the-hash attacks, or exploiting internal vulnerabilities to expand network access, 4) **Persistence Mechanisms** - Installing advanced malware, modifying system configurations, or compromising legitimate administrative tools to maintain long-term access, 5) **Data Discovery & Collection** - Systematic enumeration of network resources, sensitive data identification, and staging for exfiltration, 6) **Exfiltration & Impact** - Covert data extraction using encrypted channels, DNS tunneling, or compromised legitimate services while potentially deploying destructive payloads or maintaining access for future operations.", + "answer_undergraduate": "🔬 Modern cyber intrusion campaigns leverage advanced adversarial techniques following frameworks like MITRE ATT&CK: 1) **Reconnaissance & Initial Access** - Multisource intelligence gathering combining HUMINT, SIGINT, and OSINT with sophisticated delivery mechanisms including supply chain compromises, zero-day exploits, and social engineering campaigns targeting specific organizational vulnerabilities, 2) **Execution & Persistence** - Fileless malware, living-off-the-land techniques, and legitimate administrative tool abuse to establish persistent access while evading endpoint detection and response (EDR) systems, 3) **Privilege Escalation & Defense Evasion** - Kernel exploits, token manipulation, and process injection techniques combined with anti-forensics capabilities including timestomping, log deletion, and rootkit deployment, 4) **Discovery & Lateral Movement** - Network enumeration using legitimate protocols, credential harvesting through memory dumps and LSASS manipulation, and east-west movement using administrative shares and remote service exploitation, 5) **Collection & Command/Control** - Automated data discovery and classification, encrypted C2 communications using domain generation algorithms or legitimate cloud services, and covert channel establishment, 6) **Exfiltration & Impact** - Multi-stage data exfiltration using steganography, DNS tunneling, or legitimate file-sharing services, potentially followed by destructive attacks or ransomware deployment designed to obscure primary intelligence objectives.", + "vocab_answer": [ + { + "word": "reconnaissance", + "definition": "Information gathering phase where attackers research their target before attacking" + }, + { + "word": "privilege escalation", + "definition": "Process of gaining higher levels of access than initially obtained" + }, + { + "word": "backdoor", + "definition": "Hidden method of bypassing normal authentication to access a system" + }, + { + "word": "data exfiltration", + "definition": "Unauthorized copying and removal of data from a computer system" + }, + { + "word": "phishing", + "definition": "Fraudulent attempts to obtain sensitive information by impersonating trustworthy entities" + }, + { + "word": "persistence", + "definition": "Maintaining unauthorized access to a system over time, even after discovery attempts" + }, + { + "word": "lateral movement", + "definition": "Moving through a network after initial compromise to access additional systems" + }, + { + "word": "zero-day exploit", + "definition": "Attack using previously unknown software vulnerabilities" + }, + { + "word": "Advanced Persistent Threat (APT)", + "definition": "Sophisticated, long-term cyber attack campaign typically by nation-states or organized groups" + }, + { + "word": "MITRE ATT&CK", + "definition": "Framework for understanding and categorizing cyber adversary tactics, techniques, and procedures" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand the stages of cyber attacks", + "Recognize how attackers gain and maintain unauthorized access" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/describe-online-intrusion.yml", + compiledAt: "2026-02-23T00:32:17.208Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/discuss-strong-password-issues.yml': { + module: { + "id": 8, + "question": "Discuss issues with creating a strong password", + "answer": "Creating strong passwords presents several challenges: they must be long enough (12+ characters) and complex (mixing letters, numbers, symbols) to resist guessing attacks, but this makes them hard to remember. People often reuse passwords across multiple accounts for convenience, but this means one breach compromises all accounts. Strong passwords should be unique for each account, but managing dozens of unique complex passwords is difficult without tools. Additionally, passwords need to be changed periodically, and some systems have confusing requirements (like requiring but limiting certain special characters). Password managers help solve these issues by generating and storing unique strong passwords for each account.", + "answer_kindergarten": "🔐 Making super strong passwords is like making a really good secret code, but it's tricky! A strong password needs to be **really long** and have **lots of different types of letters and numbers** - but that makes it really hard to remember! It's like trying to remember a super long phone number with letters and symbols. People want to use the same password everywhere because it's easier to remember, but that's like using the same key for your house, your bike lock, AND your diary - if someone gets your key, they can get into everything! The best solution is to have a grown-up help you use special password helpers on the computer that remember all your different strong passwords for you.", + "answer_3rd_grade": "🧩 Creating strong passwords is like solving a difficult puzzle with many rules: 1) **Length Challenge** - Passwords need to be very long (like 12+ characters) to be secure, but long passwords are hard to remember and type correctly, 2) **Complexity Challenge** - You need to mix uppercase letters, lowercase letters, numbers, and symbols (!@#$), which makes passwords look like scrambled code, 3) **Uniqueness Challenge** - Every website should have a different password, but most people have 20+ online accounts, making it impossible to remember them all, 4) **Change Challenge** - Security experts say to change passwords regularly, but this makes them even harder to remember. Password managers are like digital notebooks that create and remember strong, unique passwords for every account so you only need to remember one master password.", + "answer_7th_grade": "⚖️ Strong password creation involves balancing security requirements with human limitations: 1) **Entropy vs. Memorability** - High-entropy passwords (12+ characters with mixed character sets) resist brute force and dictionary attacks but exceed human memory capacity for multiple accounts, 2) **Uniqueness vs. Convenience** - Unique passwords prevent credential stuffing attacks where breached passwords are tried across multiple services, but users naturally gravitate toward password reuse for cognitive efficiency, 3) **Complexity vs. Usability** - Complex composition rules (requiring symbols, mixed case, numbers) increase password space but often lead to predictable patterns (Password1!, Password2!) that attackers exploit, 4) **Rotation vs. Fatigue** - Regular password changes limit exposure from undetected breaches but cause user fatigue and weaker password selection. Modern security practices emphasize password managers, two-factor authentication, and passphrase methods over complex memorized passwords.", + "answer_high_school": "🔬 Password security challenges reflect fundamental tensions between cryptographic strength and human factors engineering: 1) **Mathematical vs. Cognitive Requirements** - Cryptographically secure passwords require sufficient entropy (typically 50+ bits) achieved through length and character set diversity, but human working memory limitations constrain memorizable password complexity to much lower entropy levels, 2) **Security vs. Usability Trade-offs** - Unique passwords across accounts prevent lateral movement in breaches, but cognitive load increases exponentially with account proliferation, leading to insecure coping mechanisms like password reuse or predictable variations, 3) **Composition Policies vs. User Behavior** - Complex password policies often produce compliance-focused rather than security-focused behavior, with users creating patterns (Spring2023!, Summer2023!) that appear random to automated systems but are predictable to informed attackers, 4) **Dynamic vs. Static Security** - Password rotation policies aim to limit exposure windows but may encourage weaker password selection and create update fatigue. Current best practices emphasize passphrase-based approaches, credential management tools, and multi-factor authentication over reliance on memorized complex passwords.", + "answer_undergraduate": "🎓 Contemporary password security research reveals fundamental limitations in password-based authentication paradigms that require systemic rather than individual solutions: 1) **Entropy Distribution vs. Human Psychology** - While theoretical password space grows exponentially with length and character set size, empirical analysis reveals power-law distributions in user-selected passwords due to cognitive biases, cultural patterns, and linguistic constraints, resulting in effective entropy significantly below theoretical maximums, 2) **Credential Reuse Economics** - Users engage in rational economic behavior by optimizing password management effort against perceived risk, leading to systematic reuse patterns that amplify breach impact through credential stuffing and password spraying attacks across service ecosystems, 3) **Composition Policy Efficacy** - Research demonstrates that traditional complexity requirements often produce negative security outcomes by encouraging predictable character substitution patterns (@ for a, 3 for e) and increment-based updates rather than genuinely random password selection, 4) **Authentication Architecture Evolution** - Modern security architectures increasingly emphasize risk-based authentication, biometric factors, hardware tokens, and passwordless authentication methods that address fundamental human limitations in password generation and management while maintaining usability. Organizations should implement comprehensive credential management strategies including enterprise password managers, single sign-on systems, and adaptive authentication policies rather than relying solely on user education about password best practices.", + "vocab_answer": [ + { + "word": "password complexity", + "definition": "Use of different character types (letters, numbers, symbols) to make passwords harder to guess" + }, + { + "word": "password reuse", + "definition": "Using the same password for multiple accounts, creating security vulnerability" + }, + { + "word": "password manager", + "definition": "Software that generates, stores, and manages unique passwords for different accounts" + }, + { + "word": "brute force attack", + "definition": "Method of breaking passwords by systematically trying all possible combinations" + }, + { + "word": "entropy", + "definition": "Measure of randomness and unpredictability in passwords" + }, + { + "word": "credential stuffing", + "definition": "Attack using breached username/password pairs to access other accounts" + }, + { + "word": "passphrase", + "definition": "Password consisting of multiple words, often easier to remember than complex character strings" + }, + { + "word": "multi-factor authentication", + "definition": "Security method requiring multiple forms of verification beyond just passwords" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand password security challenges", + "Recognize trade-offs between security and usability" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/discuss-strong-password-issues.yml", + compiledAt: "2026-02-23T00:32:17.209Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-encryption.yml': { + module: { + "id": 6, + "question": "Explain what encryption is", + "answer": "Encryption is the process of converting readable information (plaintext) into an unreadable format (ciphertext) using mathematical algorithms and secret keys. Only people with the correct decryption key can convert the encrypted data back to its original, readable form. Encryption protects sensitive information like passwords, credit card numbers, and personal messages when they are stored on devices or transmitted over networks. Common examples include HTTPS websites (which encrypt data between your browser and the website) and encrypted messaging apps that protect your conversations from being read by others.", + "answer_kindergarten": "🔒 Encryption is like putting your secrets in a magic box with a special lock! When you write a secret message and put it in the magic box, it gets all jumbled up so no one else can read it. Only someone with the special key can unlock the box and read your message the right way. It's like having a secret code that only you and your best friend know!", + "answer_3rd_grade": "📝 Encryption is like writing in a secret code! Imagine you want to send a note that says 'Meet me at the playground' but you don't want anyone else to understand it. Encryption changes it into something like 'Nffu nf bu uif qmbzhspvoe' - it looks like nonsense! Only someone with the decoder ring (the key) can change it back to the real message. This keeps your secrets safe when sending messages on the internet.", + "answer_7th_grade": "🔐 Encryption is a cybersecurity method that scrambles data using mathematical formulas called algorithms. When you type your password or send a message, encryption software converts it into a jumbled code that looks random. For example, 'Hello World' might become 'Uryyb Jbeyq' (using a simple Caesar cipher). Only computers with the correct decryption key can unscramble the code back to the original message. This protects your private information from hackers who might intercept it.", + "answer_high_school": "🛡️ Encryption uses cryptographic algorithms to transform plaintext into ciphertext, making data unreadable without the proper decryption key. Modern encryption employs complex mathematical operations like AES (Advanced Encryption Standard) with 128, 192, or 256-bit keys. There are two main types: symmetric encryption (same key for encryption/decryption) and asymmetric encryption (public/private key pairs). HTTPS websites use TLS encryption to create secure channels, while end-to-end encryption in messaging apps ensures only sender and recipient can read messages.", + "answer_undergraduate": "🧮 Encryption leverages computational complexity theory and number theory to create cryptographically secure transformations. Symmetric algorithms like AES use substitution-permutation networks, while asymmetric systems like RSA rely on mathematical problems like integer factorization. Modern implementations include perfect forward secrecy, authenticated encryption (GCM mode), and post-quantum cryptography research. The security depends on key length, algorithm strength, implementation quality, and protection against side-channel attacks. Applications range from disk encryption (BitLocker, FileVault) to secure communications (Signal Protocol, TLS 1.3).", + "vocab_answer": [ + { + "word": "encryption", + "definition": "Process of converting readable data into an unreadable format to protect it" + }, + { + "word": "plaintext", + "definition": "Original, readable form of data before encryption" + }, + { + "word": "ciphertext", + "definition": "Encrypted, unreadable form of data after encryption" + }, + { + "word": "decryption key", + "definition": "Secret code needed to convert encrypted data back to readable form" + }, + { + "word": "HTTPS", + "definition": "Secure version of HTTP that encrypts data between browsers and websites" + }, + { + "word": "algorithm", + "definition": "Mathematical formula or set of rules used to encrypt and decrypt data" + }, + { + "word": "AES", + "definition": "Advanced Encryption Standard, a widely-used symmetric encryption algorithm" + }, + { + "word": "end-to-end encryption", + "definition": "Encryption where only the sender and intended recipient can read messages" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand basic data protection concepts", + "Recognize the importance of encryption in digital security" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-encryption.yml", + compiledAt: "2026-02-23T00:32:17.211Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-firewall-role.yml': { + module: { + "id": 14, + "question": "Explain the role of a firewall", + "answer": "A firewall is a security system that monitors and controls network traffic between a computer (or network) and the internet, acting like a digital security guard. It examines incoming and outgoing data packets and decides whether to allow or block them based on predetermined security rules. Firewalls can block malicious traffic, prevent unauthorized access to your system, and stop malware from communicating with external servers. They can be software-based (running on your computer) or hardware-based (separate devices protecting entire networks). Modern firewalls can also detect suspicious patterns of activity and provide detailed logs of network traffic for security analysis.", + "answer_kindergarten": "🚧 A firewall is like a security guard for your computer! Just like a security guard at a building checks who can come in and go out, a firewall checks all the information trying to get into your computer from the internet. If something looks dangerous (like a virus or a bad person trying to get in), the firewall says 'STOP! You can't come in!' and blocks it. If something looks safe (like a website you want to visit), the firewall says 'Okay, you can come in!' It's like having a really smart guard protecting your computer 24 hours a day!", + "answer_3rd_grade": "🏰 A firewall is like a castle wall with guards that protect your computer from internet dangers! The firewall sits between your computer and the internet, checking every piece of information that tries to come in or go out. It has a list of rules (like 'block scary websites' and 'allow educational sites') that help it decide what's safe. When bad software tries to sneak into your computer, the firewall blocks it like a castle guard stopping intruders. When you want to visit a safe website, the firewall lets the information through. Some firewalls are software programs on your computer, while others are special devices that protect whole schools or offices. The firewall keeps a record of everything it blocks, like a security log book!", + "answer_7th_grade": "🛡️ Firewalls function as network security perimeters that implement access control policies between trusted internal networks and untrusted external networks (typically the internet). They operate at multiple network layers, examining packet headers, port numbers, and application protocols to make allow/deny decisions based on configurable rulesets. Stateful firewalls track connection states to ensure response packets match legitimate outbound requests, while application-layer firewalls can inspect actual content for threats. Network Address Translation (NAT) functionality often hides internal IP addresses from external observers. Modern next-generation firewalls integrate intrusion detection/prevention systems, malware scanning, and deep packet inspection capabilities. They generate audit logs for compliance and security analysis, and can implement quality-of-service controls to prioritize critical network traffic.", + "answer_high_school": "🔥 Enterprise firewalls implement multi-layered security architectures using stateful inspection, application-aware filtering, and behavioral analysis: 1) **Packet Filtering** - Examines network and transport layer headers (IP addresses, ports, protocols) against access control lists to enforce basic traffic policies, 2) **Stateful Inspection** - Maintains connection state tables to ensure bidirectional traffic legitimacy and prevent TCP session hijacking attacks, 3) **Application Layer Gateway** - Performs deep packet inspection of application protocols (HTTP, SMTP, FTP) to detect and prevent application-specific attacks, 4) **Unified Threat Management** - Integrates anti-malware, intrusion prevention, web filtering, and VPN capabilities into single security appliances, 5) **Network Segmentation** - Creates security zones with different trust levels and inter-zone communication policies, enabling zero-trust network architectures. Advanced features include SSL/TLS inspection, sandboxing suspicious files, machine learning threat detection, and integration with Security Information and Event Management (SIEM) systems for centralized monitoring.", + "answer_undergraduate": "🏗️ Modern firewall architectures represent sophisticated network security enforcement points implementing policy-based traffic control through multi-vector threat detection and prevention mechanisms: 1) **OSI Layer Integration** - Simultaneously operates across network layers from Layer 3 (IP routing) through Layer 7 (application content) using optimized hardware acceleration and software-defined networking principles to maintain line-rate performance, 2) **Advanced Threat Protection** - Employs machine learning algorithms, behavioral analytics, and threat intelligence feeds to identify zero-day attacks, advanced persistent threats, and encrypted malware communications through traffic pattern analysis and anomaly detection, 3) **Software-Defined Security** - Integrates with orchestration platforms (Kubernetes, OpenStack) to provide dynamic security policy enforcement in cloud-native environments, automatically scaling protection mechanisms based on threat landscape changes and infrastructure demands, 4) **Compliance and Governance** - Implements regulatory compliance frameworks (PCI-DSS, HIPAA, SOX) through automated policy enforcement, audit trail generation, and risk assessment reporting while supporting digital forensics requirements, 5) **Zero Trust Architecture** - Facilitates micro-segmentation strategies by enforcing identity-based access controls, continuous authentication, and least-privilege principles across hybrid cloud infrastructures, eliminating traditional perimeter-based security assumptions in favor of context-aware, risk-adaptive security policies.", + "vocab_answer": [ + { + "word": "firewall", + "definition": "Security system that filters network traffic to block unauthorized access and threats" + }, + { + "word": "network traffic", + "definition": "Data flowing between computers and networks over the internet" + }, + { + "word": "data packets", + "definition": "Small units of data transmitted across networks" + }, + { + "word": "security rules", + "definition": "Predetermined criteria that determine which network traffic to allow or block" + }, + { + "word": "traffic monitoring", + "definition": "Process of observing and analyzing network communications for security purposes" + }, + { + "word": "stateful inspection", + "definition": "Firewall technique that tracks the state of network connections to validate traffic" + }, + { + "word": "deep packet inspection", + "definition": "Analysis of the actual content within network packets, not just headers" + }, + { + "word": "network segmentation", + "definition": "Dividing networks into smaller, isolated sections for better security control" + }, + { + "word": "zero trust", + "definition": "Security model that requires verification for every user and device, regardless of location" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand network security protection mechanisms", + "Recognize the importance of traffic filtering in cybersecurity" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-firewall-role.yml", + compiledAt: "2026-02-23T00:32:17.212Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-malware.yml': { + module: { + "id": 9, + "question": "Explain what malware is", + "answer": "Malware (malicious software) is any software intentionally designed to cause damage, steal information, or gain unauthorized access to computer systems. Common types include viruses (that spread by attaching to other files), worms (that spread automatically across networks), trojans (that disguise themselves as legitimate software), ransomware (that encrypts files and demands payment), and spyware (that secretly monitors user activity). Malware can slow down computers, steal personal information like passwords and credit card numbers, delete important files, or give criminals remote control of infected devices.", + "answer_kindergarten": "🦠 Malware is like computer germs that make computers sick! Just like how real germs can make you feel yucky, computer germs (malware) can make computers run slowly, delete important pictures, or let bad people see your private stuff. That's why we need computer medicine (antivirus) to keep the computer germs away and make sure our computers stay healthy and safe!", + "answer_3rd_grade": "💻 Malware is bad software that sneaky people create to mess up computers. It's like when someone puts a mean program on your computer that does things you don't want - like stealing your passwords, deleting your games, or making your computer super slow. There are different types: viruses spread like real viruses, trojans pretend to be good programs but are actually bad, and ransomware locks up your files until you pay money. That's why you should only download things from safe places!", + "answer_7th_grade": "⚠️ Malware (malicious software) is created by cybercriminals to harm computers or steal information. Major types include: viruses that attach to files and spread when shared, worms that automatically spread across networks, trojans that trick users by appearing legitimate, ransomware that encrypts data for ransom, rootkits that hide deep in systems, and spyware that secretly steals information. Malware spreads through infected email attachments, malicious websites, infected USB drives, and software downloads from untrusted sources.", + "answer_high_school": "🛡️ Malware encompasses various malicious software categories with different attack vectors and payloads. Viruses require host programs for replication, while worms self-propagate through network vulnerabilities. Trojans use social engineering, appearing as legitimate software. Advanced threats include polymorphic viruses that change code to evade detection, fileless malware that operates in memory, and multi-stage attacks. Modern malware often includes anti-analysis techniques, command-and-control communications, and cryptocurrency mining capabilities. Protection requires layered security including updated antivirus, firewalls, and user education.", + "answer_undergraduate": "🔬 Malware represents a diverse ecosystem of malicious code employing sophisticated evasion techniques. Static analysis resistance includes packers, obfuscation, and anti-debugging mechanisms. Dynamic analysis evasion uses VM detection, sandbox awareness, and delayed execution. Advanced Persistent Threats (APTs) utilize zero-day exploits, living-off-the-land techniques, and stealthy lateral movement. Machine learning-based detection systems analyze behavioral patterns, while adversarial machine learning allows malware to evade AI-based defenses. Modern threats include supply chain attacks, cryptojacking, and IoT botnets requiring comprehensive threat intelligence and automated response capabilities.", + "vocab_answer": [ + { + "word": "malware", + "definition": "Malicious software designed to damage, disrupt, or gain unauthorized access to computers" + }, + { + "word": "virus", + "definition": "Malware that spreads by attaching itself to other programs or files" + }, + { + "word": "worm", + "definition": "Self-replicating malware that spreads automatically across networks" + }, + { + "word": "trojan", + "definition": "Malware that disguises itself as legitimate software to trick users into installing it" + }, + { + "word": "ransomware", + "definition": "Malware that encrypts files and demands payment to restore access" + }, + { + "word": "spyware", + "definition": "Malware that secretly monitors and collects information about user activities" + }, + { + "word": "rootkit", + "definition": "Stealthy malware that hides deep in the operating system to avoid detection" + }, + { + "word": "payload", + "definition": "The malicious actions that malware performs after infecting a system" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Identify different types of malicious software", + "Understand threats to computer security and privacy" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-malware.yml", + compiledAt: "2026-02-23T00:32:17.213Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-rootkit.yml': { + module: { + "id": 10, + "question": "Explain what a rootkit is", + "answer": "A rootkit is a type of malware designed to hide its presence on a computer system by modifying the operating system itself. Unlike other malware that can be detected by antivirus software, rootkits gain deep, administrative-level access (called 'root' access) and modify system files to conceal themselves. They can hide processes, files, and network connections from normal detection methods. Rootkits are particularly dangerous because they can remain undetected for long periods while allowing attackers to maintain persistent access to the compromised system, steal data, or install additional malware.", + "answer_kindergarten": "👻 A rootkit is like an invisible ghost virus that hides really, really well in your computer! Most computer viruses are like noisy monsters that antivirus programs can find and catch. But rootkits are sneaky ghosts that can make themselves invisible by changing how the computer looks for bad things. It's like if a monster could make itself invisible AND change your eyes so you couldn't see monsters anymore! The rootkit ghost can stay hidden in your computer for a very long time, watching everything you do and helping other bad programs sneak in too. That's why it's extra important to have really good protection on your computer!", + "answer_3rd_grade": "🕵️ A rootkit is like a master of disguise virus that's incredibly good at hiding! While most viruses are like burglars that security cameras can spot, rootkits are like super-sneaky spies that can actually change the security cameras to not see them! They get the highest level of control over your computer (like becoming the computer's boss) and then change the computer's basic functions to hide themselves. It's like if a burglar could rewire your house's alarm system to never go off when they're there. Rootkits can stay hidden for months or years, secretly watching what you type, stealing your passwords, and letting other bad programs into your computer. They're some of the hardest computer infections to find and remove!", + "answer_7th_grade": "🔧 Rootkits represent advanced persistent threats that achieve system-level compromise by subverting operating system integrity. They operate at kernel level or below, modifying system calls, file system operations, and process enumeration functions to conceal their presence from both users and security software. Unlike application-layer malware, rootkits can hook into hardware abstraction layers, modify boot processes, or even embed in firmware. They employ techniques like direct kernel object manipulation (DKOM), system service descriptor table (SSDT) hooking, and inline function hooking to redirect legitimate system queries. This allows them to hide files, processes, registry entries, and network connections from detection tools. Modern rootkits may use legitimate signed drivers or exploit kernel vulnerabilities to establish persistence across system reboots.", + "answer_high_school": "⚙️ Rootkits implement sophisticated anti-detection mechanisms through multiple layers of system compromise: 1) **Kernel Mode Operation** - Execute with Ring 0 privileges, enabling direct manipulation of memory structures, interrupt descriptor tables, and system call tables, 2) **Stealth Techniques** - Employ SSDT hooking, inline patching, and filter driver installation to intercept and modify API calls that security tools use for system enumeration, 3) **Persistence Mechanisms** - Utilize boot sector modification, UEFI rootkits, or hypervisor-based virtualization to survive operating system reinstallation, 4) **Evasion Methods** - Implement polymorphic code, encrypted payloads, and timing-based attacks to avoid signature-based detection while using legitimate system processes for proxy execution. Advanced rootkits can create isolated execution environments, modify security product behavior, and maintain covert command-and-control channels through legitimate protocols. Detection requires specialized forensic tools, memory analysis, and behavioral monitoring rather than traditional antivirus scanning.", + "answer_undergraduate": "🏗️ Contemporary rootkit architectures leverage advanced exploitation techniques and anti-forensics methodologies to achieve undetectable persistent access: 1) **Hardware-Level Compromise** - Exploit System Management Mode (SMM), Intel Management Engine, or UEFI firmware to establish pre-boot execution environments that operate independently of operating system security boundaries, enabling attacks on trusted computing bases and secure boot mechanisms, 2) **Hypervisor-Based Rootkits** - Implement thin hypervisor layers (Blue Pill, SubVirt) that relocate legitimate operating systems into virtual machines while maintaining hardware-level control, allowing transparent interception and modification of all system operations without kernel-level modifications detectable by traditional forensic tools, 3) **Advanced Persistence Techniques** - Utilize Windows Management Instrumentation (WMI) event subscriptions, DLL search order hijacking, COM object hijacking, and legitimate administrative tools (PowerShell, WinRM) for fileless operation that avoids traditional file-based detection mechanisms, 4) **Machine Learning Evasion** - Employ adversarial machine learning techniques to generate polymorphic code that evades behavior-based detection systems while implementing time-delayed activation and environmental awareness to avoid sandbox analysis. Modern rootkit detection requires comprehensive memory forensics, hardware-assisted security features (Intel CET, ARM Pointer Authentication), and statistical anomaly detection across multiple system observability layers rather than reliance on signature-based or even behavioral detection alone.", + "vocab_answer": [ + { + "word": "rootkit", + "definition": "Malware that hides its presence by modifying operating system components" + }, + { + "word": "root access", + "definition": "Highest level of access to a computer system with full administrative privileges" + }, + { + "word": "persistent access", + "definition": "Ability to maintain long-term unauthorized access to a computer system" + }, + { + "word": "system modification", + "definition": "Changes made to core operating system files and functions" + }, + { + "word": "kernel level", + "definition": "Core level of the operating system with highest privileges and direct hardware access" + }, + { + "word": "stealth techniques", + "definition": "Methods used by malware to avoid detection by security software" + }, + { + "word": "hypervisor", + "definition": "Software layer that creates and manages virtual machines" + }, + { + "word": "firmware", + "definition": "Low-level software that provides basic operational control for hardware" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand advanced malware concealment techniques", + "Recognize sophisticated threats to system security" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-rootkit.yml", + compiledAt: "2026-02-23T00:32:17.214Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-social-engineering.yml': { + module: { + "id": 16, + "question": "Explain what social engineering is and how it is used in cyberattacks", + "answer": "Social engineering is the manipulation of people to divulge confidential information or perform actions that compromise security, rather than using technical hacking methods. It exploits human psychology, trust, and emotions to bypass security measures. Common techniques include phishing emails that appear to be from trusted sources, pretexting (creating fake scenarios to extract information), baiting (offering something enticing to gain access), and tailgating (following authorized personnel into secure areas). Social engineering is effective because it targets the weakest link in security systems - humans. For example, an attacker might call pretending to be IT support and ask for passwords, or send urgent emails claiming to be from a boss requesting sensitive data.", + "answer_kindergarten": "🎭 Social engineering is when bad people pretend to be someone nice to trick you into giving them things you shouldn't! It's like when a stranger says they're your friend's parent and asks you to come with them - but they're really lying to trick you. On computers, bad people might send fake emails pretending to be someone you trust, asking for your password or other secrets. Always ask a grown-up before giving anyone your information!", + "answer_3rd_grade": "🕵️ Social engineering is like being a con artist but for computer crimes. Bad guys don't break into computers with fancy hacking - instead, they trick people! They might call and pretend to be someone from your school asking for your parents' credit card number, or send emails that look like they're from your favorite game but are really fake. They're good at acting and making people believe them. The best defense is to always double-check with someone you trust before sharing personal information.", + "answer_7th_grade": "🎯 Social engineering attacks target human psychology rather than computer systems. Criminals manipulate emotions like fear ('Your account will be deleted!'), urgency ('Act now!'), trust ('I'm from tech support'), and curiosity ('You've won a prize!'). Techniques include spear phishing (targeted emails), vishing (voice phishing over phone), smishing (SMS phishing), and physical approaches like shoulder surfing or dumpster diving. These attacks succeed because they exploit natural human tendencies to be helpful, avoid confrontation, and trust authority figures.", + "answer_high_school": "🧠 Social engineering leverages cognitive biases and psychological principles to manipulate human behavior for malicious purposes. Attackers exploit authority bias (people comply with perceived authority), reciprocity (feeling obligated to return favors), scarcity (fear of missing out), and social proof (following others' actions). Advanced techniques include pretexting with detailed background research, watering hole attacks targeting specific organizations, and business email compromise (BEC) using compromised executive accounts. Defense requires security awareness training, verification procedures, and creating organizational cultures where questioning requests is encouraged rather than penalized.", + "answer_undergraduate": "🔬 Social engineering represents the intersection of cybersecurity and behavioral psychology, exploiting cognitive heuristics and decision-making shortcuts under conditions of uncertainty. Attackers conduct OSINT (Open Source Intelligence) reconnaissance through social media profiling, corporate directory harvesting, and public records analysis. Sophisticated campaigns employ multi-vector approaches combining technical and social elements, such as credential harvesting followed by insider access. Countermeasures include phishing simulation programs, zero-trust architectures reducing implicit trust, behavioral analytics detecting anomalous access patterns, and implementing principle of least privilege to minimize potential damage from successful social engineering attacks.", + "vocab_answer": [ + { + "word": "social engineering", + "definition": "Manipulation of people to divulge information or compromise security through psychological tactics" + }, + { + "word": "phishing", + "definition": "Fraudulent emails or messages designed to steal sensitive information" + }, + { + "word": "pretexting", + "definition": "Creating fake scenarios or identities to extract information from victims" + }, + { + "word": "baiting", + "definition": "Offering enticing items or information to lure victims into compromising security" + }, + { + "word": "tailgating", + "definition": "Following authorized personnel into secure areas without proper authorization" + }, + { + "word": "human psychology", + "definition": "Mental processes and behaviors that can be exploited in social engineering attacks" + }, + { + "word": "spear phishing", + "definition": "Targeted phishing attacks customized for specific individuals or organizations" + }, + { + "word": "cognitive bias", + "definition": "Systematic thinking errors that can be exploited by social engineers" + } + ], + "type": "short_answer", + "points": 6, + "difficulty": "beginner", + "learning_objectives": [ + "Understand non-technical attack methods", + "Recognize psychological manipulation in cybersecurity", + "Identify common social engineering techniques" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-social-engineering.yml", + compiledAt: "2026-02-23T00:32:17.215Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-spoofing.yml': { + module: { + "id": 15, + "question": "Explain what spoofing is", + "answer": "Spoofing is the practice of disguising or falsifying the identity of communication sources to appear as someone or something else. Common types include email spoofing (sending emails that appear to come from a different sender), IP spoofing (making network traffic appear to come from a different computer), and caller ID spoofing (making phone calls appear to come from different numbers). Cybercriminals use spoofing to trick people into trusting malicious communications, bypass security measures, or hide their true identity during attacks. For example, an attacker might spoof a bank's email address to send phishing messages that look legitimate to steal login credentials.", + "answer_kindergarten": "🎭 Spoofing is like wearing a costume to pretend you're someone else, but on computers and phones! It's when bad people dress up their messages or calls to look like they're coming from someone you trust. Like if someone sent you a letter but put your grandma's name on it even though grandma didn't really send it - that's spoofing! Bad people do this to trick you into believing their fake messages. They might make an email look like it's from your school or make a phone call look like it's from your mom, but it's really from a stranger trying to trick you!", + "answer_3rd_grade": "🕴️ Spoofing is like digital impersonation - when criminals pretend to be someone else online! Just like how actors wear costumes and makeup to look like different characters, cybercriminals can disguise their emails, phone calls, and computer messages to look like they're coming from people or companies you trust. For example, they might send you an email that looks exactly like it came from your favorite online store, asking for your password - but it's really from a criminal! Or they might call your phone and make it show your friend's number on caller ID, even though it's not really your friend calling. This trickery helps them steal information or money from people who think they're talking to someone trustworthy.", + "answer_7th_grade": "🎪 Spoofing involves manipulating digital communication protocols to falsify source identity across multiple attack vectors: 1) **Email Spoofing** - Exploiting Simple Mail Transfer Protocol (SMTP) weaknesses to forge sender addresses in email headers, enabling phishing campaigns that appear to originate from trusted institutions, 2) **IP Spoofing** - Modifying packet headers to falsify source IP addresses, used in distributed denial-of-service (DDoS) attacks and to evade network security filters, 3) **Caller ID Spoofing** - Manipulating signaling protocols to display false phone numbers, facilitating voice phishing (vishing) attacks, 4) **DNS Spoofing** - Corrupting domain name system records to redirect users to malicious websites that mimic legitimate services. These techniques exploit inherent trust assumptions in communication protocols that were designed for collaborative rather than adversarial environments.", + "answer_high_school": "🔍 Advanced spoofing techniques exploit fundamental vulnerabilities in authentication and identification systems across digital communication infrastructures: 1) **Protocol-Level Spoofing** - Manipulates layer 2-4 network protocols including ARP spoofing for man-in-the-middle attacks, TCP sequence prediction for session hijacking, and BGP hijacking for traffic redirection, 2) **Application-Layer Spoofing** - Involves sophisticated social engineering combined with technical deception, such as Unicode domain spoofing (homograph attacks), SSL certificate spoofing through compromised certificate authorities, and website cloning with slight domain variations (typosquatting), 3) **Multi-Vector Campaigns** - Coordinates multiple spoofing techniques in unified attacks, such as combining email spoofing with DNS poisoning and voice spoofing to create comprehensive deception scenarios, 4) **Anti-Forensics Integration** - Uses spoofing not just for deception but to complicate attribution and evidence collection, employing techniques like MAC address randomization, proxy chaining, and timing correlation attacks to obscure true origins of malicious activity.", + "answer_undergraduate": "🏛️ Contemporary spoofing methodologies represent sophisticated exploitation of trust relationships and protocol design assumptions across modern communication infrastructures: 1) **Cryptographic Protocol Subversion** - Exploits weaknesses in public key infrastructure through certificate pinning bypass, CA compromise, and quantum-resistant algorithm transition vulnerabilities to spoof secure communications, leveraging techniques like SSL stripping and HSTS bypass for man-in-the-middle positioning, 2) **Software-Defined Network Manipulation** - Targets programmable network infrastructures through OpenFlow controller spoofing, intent-based networking poisoning, and network function virtualization exploitation to create large-scale traffic redirection and interception capabilities, 3) **Machine Learning and AI-Enhanced Spoofing** - Employs deep learning for voice synthesis (deepfake audio), writing style imitation, and behavioral pattern replication to create convincing impersonations that bypass human detection and automated fraud prevention systems, 4) **Supply Chain and Infrastructure Spoofing** - Involves compromising fundamental internet infrastructure including autonomous system hijacking, submarine cable interception, and Internet Exchange Point manipulation to conduct nation-state level spoofing operations with global impact. Modern countermeasures require cryptographic authentication mechanisms, zero-trust architectures, and distributed consensus systems rather than reliance on traditional source identification methods.", + "vocab_answer": [ + { + "word": "spoofing", + "definition": "Practice of disguising communication sources to appear as someone or something else" + }, + { + "word": "email spoofing", + "definition": "Sending emails with false sender information to deceive recipients" + }, + { + "word": "IP spoofing", + "definition": "Falsifying the source IP address of network traffic" + }, + { + "word": "caller ID spoofing", + "definition": "Displaying false phone numbers on caller ID systems" + }, + { + "word": "identity falsification", + "definition": "Deliberately misrepresenting who you are in digital communications" + }, + { + "word": "phishing", + "definition": "Using spoofed communications to steal sensitive information" + }, + { + "word": "man-in-the-middle attack", + "definition": "Intercepting communications between two parties by spoofing identity" + }, + { + "word": "DNS spoofing", + "definition": "Falsifying domain name system records to redirect users to malicious sites" + }, + { + "word": "deepfake", + "definition": "AI-generated fake audio or video content used for impersonation" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand deceptive communication techniques", + "Recognize methods used to hide attacker identity" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-spoofing.yml", + compiledAt: "2026-02-23T00:32:17.216Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-two-factor-authentication.yml': { + module: { + "id": 7, + "question": "Explain what two-factor authentication is", + "answer": "Two-factor authentication (2FA) is a security method that requires two different forms of verification to access an account, rather than just a password. The two factors typically include something you know (like a password) and something you have (like your phone or a security token). For example, after entering your password, you might receive a text message with a code to enter, or use an authenticator app to generate a temporary code. This makes accounts much more secure because even if someone steals your password, they would still need access to your second factor (like your phone) to log in.", + "answer_kindergarten": "🔐 Two-factor authentication is like having two locks on your treasure chest instead of just one! First, you need to know the secret password (that's lock #1). But that's not enough - you also need something special, like a magic key that only you have (that's lock #2). Even if a bad guy finds out your password, they can't get your treasure because they don't have your special magic key!", + "answer_3rd_grade": "📱 Imagine your online account is like your house, and you want to make sure only you can get in. Two-factor authentication is like having both a regular key AND a special doorbell code. First, you use your regular key (your password). Then, your phone buzzes with a special number that you have to type in too. This way, even if someone steals your key, they can't get in because they don't have your phone to get the special number!", + "answer_7th_grade": "🛡️ Two-factor authentication (2FA) adds an extra security layer beyond just passwords. It uses two categories: something you know (password) and something you have (phone, security key). After entering your password, you get a temporary code via text, email, or an authenticator app like Google Authenticator. Some systems also use something you are (fingerprint, face recognition). This prevents account theft even if your password is compromised, since hackers would need physical access to your second factor.", + "answer_high_school": "🔒 Two-factor authentication implements multi-factor authentication (MFA) using multiple authentication factors: knowledge factors (passwords, PINs), possession factors (smartphones, hardware tokens), and inherence factors (biometrics). Common implementations include SMS codes, TOTP (Time-based One-Time Passwords) via apps like Authy, hardware tokens like YubiKey, and push notifications. 2FA significantly reduces account compromise risk, with SMS being convenient but vulnerable to SIM swapping, while hardware tokens provide the highest security.", + "answer_undergraduate": "🔐 Two-factor authentication leverages the principle of defense in depth by requiring evidence from multiple authentication factor categories. TOTP algorithms (RFC 6238) generate time-synchronized codes using HMAC-SHA1, while FIDO2/WebAuthn standards enable phishing-resistant authentication via public-key cryptography. SMS-based 2FA suffers from SS7 vulnerabilities and SIM swapping attacks. Modern implementations include adaptive authentication, risk-based challenges, and backup codes for account recovery, balancing security with usability across diverse user populations and threat models.", + "vocab_answer": [ + { + "word": "two-factor authentication", + "definition": "Security method requiring two different types of verification to access an account" + }, + { + "word": "authentication factor", + "definition": "Different category of evidence used to verify identity (something you know, have, or are)" + }, + { + "word": "security token", + "definition": "Physical or digital device that generates codes for authentication" + }, + { + "word": "authenticator app", + "definition": "Mobile application that generates temporary codes for two-factor authentication" + }, + { + "word": "TOTP", + "definition": "Time-based One-Time Password algorithm that generates temporary codes" + }, + { + "word": "SIM swapping", + "definition": "Attack where criminals transfer your phone number to their device" + }, + { + "word": "biometrics", + "definition": "Authentication using physical characteristics like fingerprints or face recognition" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand multi-factor security concepts", + "Recognize enhanced protection methods for digital accounts" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-two-factor-authentication.yml", + compiledAt: "2026-02-23T00:32:17.218Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-zero-day-exploit.yml': { + module: { + "id": 13, + "question": "Explain what a zero-day exploit is", + "answer": "A zero-day exploit is an attack that takes advantage of a previously unknown security vulnerability in software before the developers have had time to create and distribute a fix (patch). It's called 'zero-day' because developers have had zero days to address the vulnerability since it was discovered by attackers. These exploits are particularly dangerous because no defense exists against them initially - antivirus software doesn't recognize them, and no security patches are available. Zero-day exploits are valuable to cybercriminals and can be sold on dark markets. Once discovered, it becomes a race between attackers using the exploit and developers creating a patch.", + "answer_kindergarten": "🏃‍♂️ A zero-day exploit is like finding a secret way into a playground that no one else knows about! Imagine if you found a loose board in the fence that lets you sneak into the playground, but the grown-ups who take care of the playground don't know about the hole yet. Bad computer people sometimes find secret holes in computer programs that the good people who made the programs don't know about. They can use these secret holes to sneak into computers and cause trouble. The scary part is that since the good people don't know about the hole, they can't fix it yet! It's called 'zero-day' because the good people have had zero days to fix the secret hole.", + "answer_3rd_grade": "🕳️ A zero-day exploit is like discovering a secret weakness in a castle that even the castle builders don't know exists! Computer programs are like digital castles with walls to keep bad guys out. Sometimes, criminals find hidden doors or weak spots in these walls that nobody else knows about - not even the people who built the castle! Since the builders don't know about the secret entrance, they can't fix it or warn anyone about it. The criminals can use this secret way to break into computers over and over again until someone finally notices the hole and tells the builders. Then it becomes a race: can the builders fix the hole faster than the criminals can use it to attack more computers?", + "answer_7th_grade": "⏰ Zero-day exploits represent the most critical cybersecurity threats because they exploit unknown vulnerabilities with no existing defenses: 1) **Discovery Phase** - Security researchers, ethical hackers, or malicious actors discover software flaws through code analysis, fuzzing, or reverse engineering before vendors become aware, 2) **Exploitation Window** - The time between vulnerability discovery and patch deployment creates an exposure period where systems remain defenseless against targeted attacks, 3) **Attribution Challenges** - Zero-day attacks are difficult to trace and defend against since signature-based security tools have no prior knowledge of the attack vectors, 4) **Economic Impact** - These exploits have significant black market value, with prices ranging from thousands to millions of dollars depending on the target software's prevalence and the vulnerability's severity. The cybersecurity industry has developed responsible disclosure processes and bug bounty programs to incentivize ethical reporting of vulnerabilities.", + "answer_high_school": "🎯 Zero-day exploits represent asymmetric advantages in cyber warfare, leveraging unknown attack vectors against defenseless systems: 1) **Vulnerability Lifecycle Management** - Organizations face constant exposure risks as software complexity increases, creating larger attack surfaces with unknown flaws in millions of lines of code across operating systems, applications, and firmware, 2) **Advanced Persistent Threat Integration** - Nation-state actors and sophisticated criminal organizations stockpile zero-days for strategic campaigns, combining them with social engineering and lateral movement techniques for maximum impact, 3) **Defense-in-Depth Limitations** - Traditional security models fail against zero-days since signature-based detection, behavioral analysis, and patch management cannot address unknown threats, requiring advanced techniques like sandboxing, application whitelisting, and runtime application self-protection, 4) **Supply Chain Implications** - Zero-days in widely-used libraries or frameworks can affect thousands of downstream applications, amplifying the potential impact across entire technology ecosystems. Modern defense strategies emphasize threat hunting, anomaly detection, and rapid incident response capabilities rather than prevention-only approaches.", + "answer_undergraduate": "🔬 Zero-day exploits illuminate fundamental asymmetries in cybersecurity economics and the offensive-defensive balance in cyberspace: 1) **Game-Theoretic Analysis** - The zero-day market represents a multi-player game where nation-states, criminals, security researchers, and vendors compete with divergent incentives, creating complex equilibria between disclosure, exploitation, and defense that challenge traditional security economics, 2) **Vulnerability Research Methodologies** - Advanced techniques including static/dynamic analysis, symbolic execution, genetic algorithms for test case generation, and machine learning-assisted vulnerability discovery are democratizing exploit development while simultaneously enabling automated patch generation and vulnerability assessment, 3) **Attribution and Intelligence Challenges** - Zero-day operations complicate cyber attribution through techniques like false flag operations, exploit sharing among groups, and deliberate timing manipulation to obscure attack origins and maintain strategic ambiguity in international cyber conflict, 4) **Regulatory and Policy Implications** - Zero-day stockpiling by intelligence agencies raises questions about the Vulnerabilities Equities Process, international humanitarian law in cyberspace, and the balance between national security capabilities and civilian infrastructure protection. Emerging solutions include vulnerability markets regulation, coordinated disclosure frameworks, and international norms for responsible state behavior in cyberspace, though enforcement mechanisms remain limited in the anarchic international system.", + "vocab_answer": [ + { + "word": "zero-day exploit", + "definition": "Attack using a previously unknown software vulnerability before a fix is available" + }, + { + "word": "security patch", + "definition": "Software update that fixes security vulnerabilities" + }, + { + "word": "unknown vulnerability", + "definition": "Security flaw that hasn't been discovered or reported to software developers" + }, + { + "word": "dark market", + "definition": "Illegal online marketplace where cybercriminals buy and sell tools and information" + }, + { + "word": "exploitation window", + "definition": "Time period between vulnerability discovery and patch deployment" + }, + { + "word": "bug bounty", + "definition": "Programs that reward ethical hackers for finding and reporting vulnerabilities" + }, + { + "word": "responsible disclosure", + "definition": "Practice of reporting vulnerabilities to vendors before making them public" + }, + { + "word": "advanced persistent threat", + "definition": "Sophisticated, long-term cyber attack campaigns typically by nation-states" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Understand advanced cybersecurity threats", + "Recognize the importance of timely software updates" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/explain-zero-day-exploit.yml", + compiledAt: "2026-02-23T00:32:17.219Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'content/overviews/03-a-lot-of-computers/questions/cybersecurity/identify-malware-exploits.yml': { + module: { + "id": 11, + "question": "Identify common malware exploits", + "answer": "Common malware exploits include: 1) Email attachments containing infected files that activate when opened, 2) Malicious downloads from untrusted websites or file-sharing networks, 3) Software vulnerabilities where malware exploits security flaws in outdated programs, 4) USB drives and removable media that auto-execute malware when connected, 5) Social engineering attacks that trick users into installing fake software updates or security tools, and 6) Drive-by downloads where simply visiting a compromised website can install malware. These exploits succeed by taking advantage of human behavior (clicking suspicious links) or technical weaknesses (unpatched software).", + "answer_kindergarten": "🦠 Malware spreads like computer germs in different sneaky ways! 1) **Email Tricks** - Bad people send emails with poisonous attachments that look like fun games or pictures, but when you open them, they make your computer sick, 2) **Bad Websites** - Some websites have computer germs that jump onto your computer just by visiting them, like catching a cold by being near someone sick, 3) **Fake USB Surprises** - Sometimes people find USB sticks and plug them in, but they might have computer germs that spread to your computer, 4) **Tricky Downloads** - Bad people make fake programs that look helpful but are really computer viruses in disguise, 5) **Broken Programs** - When your computer programs are old and have holes, computer germs can sneak through those holes like bugs getting through a broken screen door!", + "answer_3rd_grade": "🎯 Malware uses several common tricks to infect computers: 1) **Poisoned Email Attachments** - Criminals send emails with infected files disguised as documents, pictures, or games that release malware when opened, 2) **Booby-Trapped Websites** - Visiting certain websites can automatically download malware to your computer without you even knowing it happened, 3) **Infected USB Drives** - Plugging in unknown USB drives can auto-run malware programs, spreading infection like a digital flu, 4) **Fake Software** - Malware disguises itself as legitimate programs like antivirus software, games, or media players to trick people into installing it voluntarily, 5) **Software Vulnerabilities** - Outdated programs with security holes allow malware to break in like burglars using broken locks, 6) **Social Engineering** - Criminals trick people through fake urgent messages or tech support scams to convince them to install malware themselves.", + "answer_7th_grade": "⚔️ Malware deployment vectors exploit both technical vulnerabilities and human psychology through multiple attack channels: 1) **Email-Based Attacks** - Phishing campaigns with malicious attachments (often Office macros, PDF exploits, or executable files) and embedded links leading to exploit kits or direct malware downloads, 2) **Web-Based Exploits** - Drive-by downloads through compromised websites, malvertising (malicious advertisements), and exploit kits that target browser vulnerabilities automatically, 3) **Removable Media Propagation** - USB-based attacks using autorun.inf files, HID (Human Interface Device) attacks that emulate keyboards, and air-gap jumping techniques for isolated networks, 4) **Software Supply Chain Compromise** - Malware embedded in legitimate software installers, update mechanisms, or third-party libraries, 5) **Network-Based Attacks** - Worm propagation through network shares, remote code execution vulnerabilities, and lateral movement techniques after initial compromise, 6) **Social Engineering Integration** - Fake software updates, technical support scams, and scareware that manipulates users into voluntary malware installation.", + "answer_high_school": "🕷️ Contemporary malware distribution leverages sophisticated multi-vector attack frameworks combining technical exploitation with psychological manipulation: 1) **Advanced Email Threats** - Spear phishing with context-aware content, weaponized document formats exploiting zero-day vulnerabilities, and email threading hijacking to appear as legitimate conversation continuations, 2) **Web Application Exploitation** - Cross-site scripting (XSS) attacks, SQL injection leading to malware hosting, content security policy bypass techniques, and progressive web app abuse for persistent browser-based malware, 3) **Supply Chain Infiltration** - Compromise of software development environments, code signing certificate theft, and insertion of malware into legitimate update channels or package repositories, 4) **Infrastructure Abuse** - Compromised content delivery networks, DNS hijacking for traffic redirection, and legitimate cloud services exploitation for command-and-control communication, 5) **Physical-to-Digital Bridges** - Sophisticated USB attacks including BadUSB firmware modifications, HID simulation for keystroke injection, and air-gap jumping through acoustic, electromagnetic, or optical covert channels, 6) **Living-off-the-Land Techniques** - PowerShell-based fileless malware, WMI abuse for persistence, and legitimate administrative tools weaponization to evade detection while maintaining functionality.", + "answer_undergraduate": "🧬 Modern malware ecosystems employ adaptive exploitation frameworks that evolve continuously to circumvent defensive measures through multi-stage, polymorphic attack chains: 1) **Evasion-Resistant Delivery Mechanisms** - Machine learning-generated phishing content that adapts to spam filters, steganographic payload hiding in legitimate images or documents, and blockchain-based command-and-control infrastructure resistant to takedown efforts, 2) **Zero-Interaction Exploitation** - RCE (remote code execution) chains targeting memory corruption vulnerabilities, deserialization attacks against web applications, and protocol-level exploits requiring no user interaction beyond network connectivity, 3) **Environmental Awareness and Sandbox Evasion** - Malware that detects analysis environments through timing attacks, hardware fingerprinting, and user behavior simulation to avoid automated detection systems while deploying only in production environments, 4) **Cross-Platform and Architecture Targeting** - Universal malware frameworks targeting Windows, macOS, Linux, mobile platforms, and IoT devices through common runtime environments, virtualization escape techniques, and firmware-level persistence mechanisms, 5) **AI-Assisted Exploitation** - Automated vulnerability discovery using fuzzing and symbolic execution, machine learning for social engineering optimization, and adversarial attacks against ML-based security tools, 6) **Nation-State Level Sophistication** - Supply chain compromise at hardware manufacturing level, telecommunications infrastructure exploitation, and coordinated campaigns combining cyber operations with physical access, social engineering, and regulatory pressure to achieve strategic objectives rather than purely financial gain.", + "vocab_answer": [ + { + "word": "exploit", + "definition": "Method used to take advantage of vulnerabilities in software or human behavior" + }, + { + "word": "software vulnerability", + "definition": "Security flaw in a program that can be exploited by attackers" + }, + { + "word": "social engineering", + "definition": "Psychological manipulation to trick people into revealing information or taking unsafe actions" + }, + { + "word": "drive-by download", + "definition": "Automatic download of malware simply by visiting a malicious website" + }, + { + "word": "auto-execute", + "definition": "Automatic running of programs without user permission when media is connected" + }, + { + "word": "phishing", + "definition": "Deceptive emails or messages designed to steal sensitive information" + }, + { + "word": "exploit kit", + "definition": "Automated tools that scan for vulnerabilities and deploy appropriate malware" + }, + { + "word": "fileless malware", + "definition": "Malicious code that operates entirely in memory without writing files to disk" + }, + { + "word": "supply chain attack", + "definition": "Compromise of software or hardware during the development or distribution process" + } + ], + "type": "short_answer", + "points": 5, + "difficulty": "beginner", + "learning_objectives": [ + "Recognize common attack vectors for malware", + "Understand how malware spreads and infects systems" + ] +}, + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/questions/cybersecurity/identify-malware-exploits.yml", + compiledAt: "2026-02-23T00:32:17.221Z", + type: 'yaml' +}, + type: 'yaml', + + }, + 'big-picture.md': { + module: "\r\n# Big Picture\r\n\r\nThis page lists all questions twice:\r\n\r\n* First, questions are grouped according to chapter and theme.\r\n* Then, each question is listed along with their various answers.\r\n\r\n## Questions by Chapter and Theme\r\n\r\n### Zero Computers\r\n{{ConceptMap:content/overviews/00-zero-computers/concept-map.yml}}\r\n\r\n### One Computer\r\n{{ConceptMap:content/overviews/01-one-computer/concept-map.yml}}\r\n\r\n### A Few Computers\r\n{{ConceptMap:content/overviews/02-a-few-computers/concept-map.yml}}\r\n\r\n### A Lot of Computers\r\n{{ConceptMap:content/overviews/03-a-lot-of-computers/concept-map.yml}}\r\n\r\n\r\n## Questions + Answers\r\n\r\n### Zero Computers\r\n\r\n{{ExamQuestions:content/overviews/00-zero-computers/concept-map.yml}}\r\n\r\n### One Computer\r\n\r\n{{ExamQuestions:content/overviews/01-one-computer/concept-map.yml}}\r\n\r\n### A Few Computers\r\n\r\n{{ExamQuestions:content/overviews/02-a-few-computers/concept-map.yml}}\r\n\r\n### A Lot of Computers\r\n\r\n{{ExamQuestions:content/overviews/03-a-lot-of-computers/concept-map.yml}}\r\n", + metadata: { + sourceFile: "big-picture.md", + compiledAt: "2026-02-23T00:32:17.295Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/00-zero-computers/concepts.md': { + module: "# Concepts\r\n\r\n{{ConceptMap:concept-map.yml}}", + metadata: { + sourceFile: "content/overviews/00-zero-computers/concepts.md", + compiledAt: "2026-02-23T00:32:17.296Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/00-zero-computers/exam-questions.md': { + module: "# Exam Questions\r\n\r\n{{ExamQuestions:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/00-zero-computers/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.296Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/00-zero-computers/index.md': { + module: "# Zero Computers\r\n\r\n## Overview\r\n\r\nThere are zero computers in this chapter, but we'll cover the three ideas that make modern computers possible. In the next three bullets, I'm going to summarize several centuries of fascinating advances in philosophy, mathematics, physics, and engineering:\r\n\r\n* **Information ↔ Numbers.** Much of what humans see, hear, say, and think about can be converted to and from numbers, including things that don't really seem to be numeric -- like images, text, and music.\r\n* **Numbers ↔ Binary.** All numbers can be converted to and from special numbers called binary numbers, which can be written using only the digits 0 and 1.\r\n* **Binary ↔ Electromagnetism.** Due to their simplicity, binary numbers can be converted to and from electromagnetic states, allowing for extremely fast manipulation of binary numbers.\r\n\r\nEverything cool about computers -- from 3D games, to the internet, to ChatGPT -- has been built on top of these fundamental truths. So let's dive in.\r\n\r\n## Pre-Test\r\n\r\nPlease click through the following categories and read the exam questions. I'd recommend making a note of the ones you think will be easy and which ones you think will be hard. \r\n\r\n{{ConceptMap:concept-map.yml}}\r\n\r\n## Video Content\r\n\r\nHere are my videos discussing the exam questions in light of the big picture. I think you'll get the most out of them if you've reviewed the questions above.\r\n\r\n### Big picture\r\n\r\nThis chapter sketches out a broad overview of computing, discussing the human/computer interface as one mediated by electromagnetic laws, mathematics, and information theory. \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=n2NxrRyCCj0}}\r\n\r\n### Binary ↔ Electromagnetism\r\n\r\nIn this video, we discuss the relationship between binary, voltage, magnetism, and transistors.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=F9BsGpE7aA8}}\r\n\r\n### Numbers ↔ Binary\r\n\r\nIn this one, we discuss the algorithms for converting between decimal and binary number systems, and also how you can generate random binary and decimal numbers during the exam. \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=l6U2goRvJC4}}\r\n\r\n### Information ↔ Numbers\r\n\r\nHere, we discuss how seemingly non-numeric information like videos, audio, words, text, and lists of numbers can be encoded into single numbers and decoded again.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=FI19xfulZ50}}\r\n\r\n## Final Exam Questions\r\n\r\nThe following three sections cover each of the three topics and provide multiple acceptable ways to answer each final exam question. At the end of this page, you'll also find the Bonus Videos section with links to various resources that cover these same topics (often in much greater depth than is required for this course). I encourage you to craft your own answers to the questions by using the many resources available to you.\r\n\r\n### Information ↔ Numbers\r\n\r\nAlmost anything humans can see, hear, think about, or interact with can be represented numerically. This might seem surprising at first—how can something like a photograph, a song, or even the position of an object be turned into numbers? The key insight is that we can break down complex information into measurable components.\r\n\r\nFor example, a color can be described by how much red, green, and blue light it contains. A sound can be captured by measuring air pressure thousands of times per second. Text can be encoded by assigning each letter a unique number. \r\n\r\nThis numerical representation is crucial because once we have numbers, we can store them, transmit them, and manipulate them using mathematical operations. Learning to answer following questions will help deepen your understanding of this essential idea. \r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Information ↔ Numbers\"}}\r\n\r\n### Numbers ↔ Binary\r\n\r\nEvery number can be represented using only two digits: 0 and 1. This might seem limiting, but binary (base-2) numbers are just as powerful as our familiar decimal (base-10) numbers—they can represent any quantity, no matter how large or small. \r\n\r\nWhy is this important? Because having only two symbols makes binary numbers incredibly reliable to store and transmit. In the physical world, it's much easier to distinguish between two states (like on/off, high voltage/low voltage, or magnetized/not magnetized) than to distinguish between ten different states. This simplicity makes binary the perfect foundation for hardware that crunches numbers.\r\n\r\nThe conversion between regular numbers and binary is straightforward once you understand the pattern. Just as decimal numbers use powers of 10 (ones, tens, hundreds), binary numbers use powers of 2 (ones, twos, fours, eights, and so on). Learning to convert between these number systems helps you understand how computers store and process all that numerical information from the previous section.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Numbers ↔ Binary\"}}\r\n\r\n### Binary ↔ Electromagnetism\r\n\r\nBinary numbers can be physically represented and manipulated using electromagnetic phenomena. This is where the magic happens—where abstract mathematical concepts become tangible, manipulable reality that can process information at incredible speeds.\r\n\r\nThink about it: once we have information encoded as binary numbers, we need a way to store those 0s and 1s and perform operations on them. Electricity and magnetism provide the perfect tools. A 0 might be represented by low voltage and a 1 by high voltage. Magnetic materials can be oriented in two directions to store binary data. Transistors can switch between conducting and non-conducting states billions of times per second.\r\n\r\nThis electromagnetic foundation enables all the computational power we take for granted. Every calculation, every image displayed on your screen, every video streamed over the internet—it all happens because we can reliably represent and manipulate binary numbers using electromagnetic principles. The questions below explore how this physical layer makes digital computation possible.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Binary ↔ Electromagnetism\"}}\r\n\r\n## Bonus Videos\r\n\r\n### Encoding Information in Binary\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=7rd77bWIgRs}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=YuUep2Lb6sU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=dFr-dCSFbJU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=1GSjbWt0c9M}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=gBKBKfikLbo}}\r\n\r\n### Binary (and Booleans)\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=LpuPe81bc2w}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=VLflTjd3lWA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=FFDMzbrEXaE}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=gFXW92O5vFg}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=E5V9zBBAfWM}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=INEtYZqtjTo}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=UvI-AMAtrvE}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=gI-qXk7XojA}}\r\n\r\n### Electricity (and Transistors)\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=LN0ucKNX0hc}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=gI-qXk7XojA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=OWlD7gL9gS0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=rM9BjciBLmg}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=WhNyURBiJcU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=J4oO7PT_nzQ}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=IcrBqCFLHIY}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Xpk67YzOn5w}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=FU_YFpfDqqA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=I0-izyq6q5s}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=bHIhgxav9LY}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=iph500cPK28}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=oI_X2cMHNe0}}\r\n", + metadata: { + sourceFile: "content/overviews/00-zero-computers/index.md", + compiledAt: "2026-02-23T00:32:17.297Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/01-one-computer/concepts.md': { + module: "# Concepts\r\n\r\n{{ConceptMap:concept-map.yml}}", + metadata: { + sourceFile: "content/overviews/01-one-computer/concepts.md", + compiledAt: "2026-02-23T00:32:17.299Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/01-one-computer/exam-questions.md': { + module: "# Exam Questions\r\n\r\n{{ExamQuestions:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/01-one-computer/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.300Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/01-one-computer/index.md': { + module: "# One Computer\r\n\r\n## Overview\r\n\r\n* **Files** - Exploring how data is organized, stored, and accessed within computer systems\r\n* **Programs** - Examining how software instructions are created, compiled, and executed by the computer\r\n* **Hardware** - Understanding the physical components that make up a computer and how they work together to process information\r\n* **Operating System** - Learning how software manages hardware resources and provides a platform for applications\r\n\r\n## Pre-Test\r\n\r\nPlease click through the following categories and read the exam questions. I'd recommend making a note of the ones you think will be easy and which ones you think will be hard. \r\n\r\n{{ConceptMap:concept-map.yml}}\r\n\r\n## Video Content\r\n\r\nWe'll begin with an overview of the four topics in this chapter: hardware, programs, operating systems, and files. \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=4xlfqyBNQxE}}\r\n\r\n### Hardware and Programs\r\n\r\nThe relationship between hardware and software is one of the most subtle and interesting things in computing. Understanding the anatomy of a simple CPU and how it interacts with a program stored in main memory (RAM) is the subject of the next two videos and numerous questions on the final exam. \r\n\r\n#### Part 1 (Hardware)\r\n\r\nHere we'll discuss several pieces of hardware, setting the stage for the two components that enable the computer to run programs: the CPU and RAM.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=a8jlUVv4o4g}}\r\n\r\n#### Part 2 (Programs)\r\n\r\nHere we zoom in on the interactions between the CPU and RAM by illustrating how a simple assembly language program might execute on a hypothetical CPU.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=294U8gdMJfk}}\r\n\r\n### Operating System\r\n\r\nNow that we've seen how programs are executed, we can begin to understand the program that manages all the other programs: the operating system.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Z38xp5Eb3S0}}\r\n\r\n### Files\r\n\r\nWe finish up this chapter by discussing one of the main abstractions that the operating system provides: files.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=UQliHa58SB4}}\r\n\r\n## Main Content\r\n\r\nThe following three sections cover each of the three topics and provide multiple acceptable ways to answer each final exam question. At the end of this page, you'll find the Bonus Videos section with links to various videos that cover these same topics (often in much greater depth than is required for this course).\r\n\r\n### Hardware\r\n\r\nComputer hardware forms the physical foundation that transforms electricity into computation. Understanding these components helps us appreciate how abstract concepts like programs and data become tangible operations.\r\n\r\n**The IPO Model (Input-Process-Output):**\r\n- **Input**: Devices that bring data into the system (keyboard, mouse, sensors, network interfaces)\r\n- **Process**: The CPU and memory that manipulate and transform data according to program instructions\r\n- **Output**: Devices that present results to users or other systems (display, speakers, printers, network)\r\n\r\n**Core Hardware Components:**\r\n- **Processor (CPU)**: The \"brain\" that executes instructions and performs calculations\r\n- **Memory (RAM vs ROM)**: Temporary workspace (RAM) for active programs vs permanent storage (ROM) for essential startup instructions\r\n- **Storage**: Long-term data retention using various technologies (hard drives, SSDs, optical media)\r\n- **Graphics Processing Unit (GPU)**: Specialized processor optimized for parallel operations and visual rendering\r\n\r\n**Data Flow Through the System:**\r\nData moves through a computer in a carefully orchestrated dance: input devices capture information, the CPU processes it according to program instructions stored in memory, and output devices present the results. This cycle happens billions of times per second, creating the illusion of instantaneous computation.\r\n\r\n**Storage Technology Trade-offs:**\r\nDifferent storage technologies offer different balances of speed, capacity, cost, and durability. Understanding these trade-offs helps explain why computers use multiple storage types - from ultra-fast CPU cache to massive but slower hard drives.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Hardware\"}}\r\n\r\n### Operating System\r\n\r\nThe operating system serves as the crucial bridge between hardware and software, managing resources and providing a consistent interface for programs to interact with the computer's capabilities.\r\n\r\n**Core Operating System Functions:**\r\n- **Resource Management**: Allocating CPU time, memory, and storage among competing programs\r\n- **Device Drivers**: Software that translates between the OS and specific hardware components\r\n- **Process Management**: Starting, stopping, and scheduling programs for execution\r\n- **Security**: Controlling access to files, network resources, and system functions\r\n\r\n**Multitasking vs Multiprocessing:**\r\n- **Multitasking**: One CPU rapidly switches between multiple programs, creating the illusion of simultaneous execution\r\n- **Multiprocessing**: Multiple CPUs or CPU cores actually execute different programs simultaneously\r\n- **Modern systems** typically combine both approaches for maximum efficiency\r\n\r\n**Hardware-Software Integration:**\r\nThe operating system abstracts hardware complexity, allowing programs to request services (like \"save this file\" or \"display this image\") without needing to know the specific details of hard drives or graphics cards. This abstraction enables software portability and simplifies programming.\r\n\r\n**Examples of Operating Systems:**\r\n- **Desktop**: Windows, macOS, Linux distributions\r\n- **Mobile**: iOS, Android\r\n- **Embedded**: Real-time operating systems in cars, appliances, industrial equipment\r\n- **Server**: Specialized versions optimized for network services and high availability\r\n\r\nThe operating system is often invisible to users, but it's constantly working behind the scenes to coordinate all the complex interactions that make modern computing possible.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Operating System\"}}\r\n\r\n### Files \r\n\r\nFiles represent the fundamental way computers organize and store information. Understanding file systems helps us navigate, organize, and manage the vast amounts of data that modern computers handle.\r\n\r\n**File Naming Conventions:**\r\n- **Extensions**: .txt, .jpg, .exe indicate file type and help the OS choose appropriate programs\r\n- **Restrictions**: Different systems have rules about allowed characters, length limits, and case sensitivity\r\n- **Best Practices**: Descriptive names, consistent patterns, avoiding special characters for compatibility\r\n\r\n**Absolute vs Relative Paths:**\r\n- **Absolute Paths**: Complete addresses from the root directory (e.g., /Users/john/Documents/report.pdf)\r\n- **Relative Paths**: Addresses relative to current location (e.g., ../images/photo.jpg)\r\n- **Importance**: Understanding paths is crucial for programming, command line usage, and troubleshooting\r\n\r\n**Logical vs Physical Storage:**\r\n- **Logical View**: Files and folders organized in a hierarchical tree structure that users see\r\n- **Physical Reality**: Data scattered across disk sectors, managed by the file system\r\n- **File System Tasks**: Tracking which sectors belong to which files, managing free space, ensuring data integrity\r\n\r\n**Efficient File Organization:**\r\n- **Hierarchical Structure**: Folders within folders to categorize related files\r\n- **Naming Schemes**: Consistent patterns that make files easy to find and sort\r\n- **Backup Strategies**: Protecting important data through redundancy and version control\r\n- **Cleanup Practices**: Regular maintenance to remove unnecessary files and organize growing collections\r\n\r\nThe file system creates the illusion of neatly organized folders and documents, while actually managing the complex task of storing and retrieving data on physical storage devices.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Files\"}}\r\n\r\n### Programs\r\n\r\nPrograms represent the instructions that transform computers from expensive calculators into versatile problem-solving machines. Understanding how programs work reveals the magic behind all software applications.\r\n\r\n**The Stored Program Concept:**\r\nModern computers store both data and program instructions in the same memory system. This revolutionary idea, introduced by John von Neumann, allows computers to modify their own behavior by loading different programs - the foundation of software versatility.\r\n\r\n**Programming Process Overview:**\r\n1. **Problem Definition**: Identifying what needs to be solved and designing an algorithm\r\n2. **Code Writing**: Expressing the algorithm in a programming language humans can read\r\n3. **Compilation/Interpretation**: Translating human-readable code into machine instructions\r\n4. **Execution**: The CPU following the machine instructions to solve the problem\r\n5. **Testing and Debugging**: Verifying the program works correctly and fixing errors\r\n\r\n**Compilation vs Interpretation:**\r\n- **Compilers**: Translate entire programs into machine code before execution (faster runtime, platform-specific)\r\n- **Interpreters**: Translate and execute code line-by-line (slower runtime, more portable and flexible)\r\n- **Modern Hybrid Approaches**: Just-in-time compilation, bytecode interpretation\r\n\r\n**Levels of Programming Languages:**\r\n- **Machine Code**: Binary instructions the CPU executes directly (1s and 0s)\r\n- **Assembly Language**: Human-readable mnemonics for machine instructions (ADD, MOVE, JUMP)\r\n- **High-Level Languages**: Abstract programming languages that hide hardware details (Python, Java, C++)\r\n\r\n**Program Execution Analysis:**\r\nWhen you run a program, the operating system loads it into memory, the CPU fetches instructions one by one, executes them (possibly involving calculations, memory access, or input/output), and continues until the program completes or encounters an error.\r\n\r\nUnderstanding programming helps us appreciate the incredible complexity hidden behind simple actions like clicking a button or opening a file.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Programs\"}}\r\n\r\n## Bonus Videos\r\n\r\nThese videos provide deeper insights into the fundamental components and concepts of individual computer systems.\r\n\r\n### Files\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=KN8YgJnShPM}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=mzUyMy7Ihk0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=V2Gxqv3bJCk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=DYGIPiez5GY}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=qJeZJL-ypyI}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Uro0GDMR2A8}}\r\n\r\n### Programs\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Z5JC9Ve1sfI}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=jFDMZpkUWCw}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=ByllwN8q2ss}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=04UGopESS6A}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=v97HAhwQMj8}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=8Qx6Dr_aKXs}}\r\n\r\n### Operating Systems\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=fkGCLIQx1MI}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=26QPDBe-NB8}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=pVzRTmdd9j0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=vLwMl9qK4T8}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=9GDX-IyZ_C8}}\r\n\r\n### Hardware \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=GYlNoAMBY6o}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Ui6QyzcD3_E}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=H4SDPLiUnv4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=DBRNE3A5Wvw}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=sp3mMwo3PO0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=bY6NQb10AaI}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=SbqXqQ-2ixs}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=1dZ55MjjZY0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=TQCr9RV7twk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=p3q5zWCw8J4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=AkFi90lZmXA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=CBf-jIn44X0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=HjneAhCy2N4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=fpnE6UAfbtU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=_0KIfGxp37E}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=E7Up7VuFd8A}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=h9Z4oGN89MU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Axd50ew4pco}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=_Pqfjer8-O4}}", + metadata: { + sourceFile: "content/overviews/01-one-computer/index.md", + compiledAt: "2026-02-23T00:32:17.301Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/01-one-computer/vocabulary.md': { + module: "# Vocab\r\n\r\n{{VocabList:exam-questions.yml}}", + metadata: { + sourceFile: "content/overviews/01-one-computer/vocabulary.md", + compiledAt: "2026-02-23T00:32:17.301Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/02-a-few-computers/concepts.md': { + module: "# Storage Concepts\r\n\r\n{{ConceptMap:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/02-a-few-computers/concepts.md", + compiledAt: "2026-02-23T00:32:17.302Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/02-a-few-computers/exam-questions.md': { + module: "# Exam Questions\r\n\r\n{{ExamQuestions:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/02-a-few-computers/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.303Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/02-a-few-computers/index.md': { + module: "# A Few Computers\r\n\r\n## Overview\r\n\r\n* **Browsers** - Understanding how web browsers work as the primary interface between users and the internet\r\n* **Networks** - Learning about the infrastructure that connects computers and enables global communication\r\n* **Cloud Computing** - Exploring how distributed computing resources are accessed and managed over the internet\r\n* **Web Apps** - Examining the architecture and functionality of modern web-based applications\r\n\r\n## Pre-Test\r\n\r\nPlease click through the following categories and read the exam questions. I'd recommend making a note of the ones you think will be easy and which ones you think will be hard. \r\n\r\n{{ConceptMap:concept-map.yml}}\r\n\r\n## Video Content\r\n\r\n### Overview\r\n\r\nAn overview of this chapter on how our computer (more specifically the browser) interacts with other computers.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=5sBjb5WAqag}}\r\n\r\n### Browsers\r\n\r\nWe begin with the browser, a program for running programs that are not installed on your computer.\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=CPO1r9YtbkQ}}\r\n\r\n### Cloud Computing and Databases\r\n\r\nIn this video, we briefly scratch the surface of how your browser gives you access to resources in the cloud, like webservers and databases. \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=PASnGB15IdI}}\r\n\r\n## Main Content\r\n\r\nThe following sections cover each of the topics and provide multiple acceptable ways to answer each final exam question. At the end of this page, you'll find the Bonus Videos section with links to various videos that cover these same topics (often in much greater depth than is required for this course).\r\n\r\n### Browsers\r\n\r\nWeb browsers are sophisticated applications that serve as our window to the internet. They interpret and display web content, making the vast resources of the World Wide Web accessible to everyday users.\r\n\r\n**Core Browser Functions:**\r\n- **Rendering Engine**: Processes HTML, CSS, and JavaScript to display web pages\r\n- **Networking**: Handles HTTP/HTTPS requests to fetch content from web servers\r\n- **Security**: Manages cookies, certificates, and privacy settings to protect users\r\n- **Caching**: Stores frequently accessed content locally to improve performance\r\n\r\n**Web Technologies Stack:**\r\n- **HTML (HyperText Markup Language)**: Provides the structure and content of web pages\r\n- **CSS (Cascading Style Sheets)**: Controls the visual presentation and layout\r\n- **JavaScript**: Enables interactive functionality and dynamic content updates\r\n\r\nModern browsers are essentially operating systems for web applications, providing APIs for everything from graphics rendering to hardware access. Understanding how browsers work helps us appreciate both the possibilities and limitations of web-based computing.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Browsers\"}}\r\n\r\n### Networks\r\n\r\nComputer networks form the backbone of modern digital communication, enabling everything from simple email exchanges to complex cloud computing services. Understanding networks helps us appreciate how information travels across the globe in milliseconds.\r\n\r\n**Key Network Concepts:**\r\n- **Internet vs. World Wide Web**: The internet is the physical infrastructure (cables, routers, protocols), while the web is a service that runs on top of it\r\n- **IP Addresses**: Unique numerical identifiers that allow computers to find and communicate with each other\r\n- **URLs and Domain Names**: Human-readable addresses that map to IP addresses, making the web navigable\r\n- **Protocols**: Standardized rules (like HTTP/HTTPS) that govern how data is transmitted and received\r\n\r\n**Network Infrastructure:**\r\n- **Physical Layer**: Cables, fiber optics, wireless signals that carry data\r\n- **Routing**: How data packets find their way from source to destination\r\n- **Addressing**: Systems that ensure messages reach the correct recipient\r\n- **Security**: Encryption and authentication mechanisms that protect data in transit\r\n\r\nNetworks operate on multiple scales, from local area networks (LANs) in your home or office to wide area networks (WANs) that span continents. The internet represents the ultimate network - a \"network of networks\" that connects billions of devices worldwide.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Networks\"}}\r\n\r\n### Cloud Computing\r\n\r\nCloud computing represents a fundamental shift in how we think about computing resources. Instead of owning and maintaining physical hardware, users can access computing power, storage, and applications over the internet as needed.\r\n\r\n**Core Cloud Benefits:**\r\n- **Scalability**: Resources can be increased or decreased based on demand\r\n- **Cost Efficiency**: Pay only for what you use, avoiding large upfront hardware investments\r\n- **Accessibility**: Access your data and applications from anywhere with an internet connection\r\n- **Reliability**: Professional data centers offer better uptime and disaster recovery than most personal setups\r\n- **Maintenance**: No need to manage hardware updates, security patches, or physical infrastructure\r\n\r\n**Common Cloud Services:**\r\n- **Storage**: Google Drive, Dropbox, iCloud for file storage and synchronization\r\n- **Productivity**: Office 365, Google Workspace for document creation and collaboration\r\n- **Entertainment**: Netflix, Spotify, YouTube for media streaming\r\n- **Communication**: Gmail, Slack, Zoom for messaging and video conferencing\r\n- **Development**: AWS, Azure, Google Cloud Platform for building and hosting applications\r\n\r\n**Service Models:**\r\n- **Software as a Service (SaaS)**: Complete applications delivered over the internet\r\n- **Platform as a Service (PaaS)**: Development platforms and tools in the cloud\r\n- **Infrastructure as a Service (IaaS)**: Virtual hardware resources (servers, storage, networking)\r\n\r\nCloud computing has democratized access to powerful computing resources, enabling small startups to compete with large corporations by leveraging the same infrastructure.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Cloud Computing\"}}\r\n\r\n### Web Apps\r\n\r\nWeb applications represent the evolution of software from desktop-installed programs to browser-based solutions. They combine the accessibility of websites with the functionality of traditional desktop applications.\r\n\r\n**Web Apps vs. Desktop Apps:**\r\n- **Installation**: Web apps run in browsers with no installation required; desktop apps must be downloaded and installed\r\n- **Updates**: Web apps update automatically on the server; desktop apps require manual updates\r\n- **Platform Independence**: Web apps work on any device with a browser; desktop apps are often platform-specific\r\n- **Access**: Web apps can be accessed from anywhere with internet; desktop apps are tied to specific devices\r\n- **Performance**: Desktop apps often have better performance; web apps may have latency due to network communication\r\n\r\n**Web App Architecture:**\r\n- **Frontend**: The user interface running in the browser (HTML, CSS, JavaScript)\r\n- **Backend**: Server-side logic that processes requests and manages data\r\n- **Database**: Storage system for persistent data (user accounts, content, settings)\r\n- **APIs**: Interfaces that allow different parts of the system to communicate\r\n\r\n**Modern Web App Features:**\r\n- **Responsive Design**: Adapts to different screen sizes and devices\r\n- **Real-time Updates**: Push notifications and live data synchronization\r\n- **Offline Functionality**: Progressive Web Apps (PWAs) can work without internet\r\n- **Integration**: Can access device features like camera, location, and storage\r\n\r\n**Examples of Web Apps:**\r\n- **Productivity**: Google Docs, Notion, Trello for work and organization\r\n- **Social**: Facebook, Twitter, Instagram for communication and sharing\r\n- **Entertainment**: YouTube, Netflix (web version), Spotify for media consumption\r\n- **Commerce**: Amazon, eBay, online banking for transactions and services\r\n\r\nWeb applications have transformed how we interact with software, making powerful tools accessible to anyone with a web browser.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Web Apps\"}}\r\n\r\n## Bonus Videos\r\n\r\nThese videos provide additional depth and perspective on the web technologies that connect our digital world.\r\n\r\n### Web Browsers\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=AlkDbnbv7dk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=gT0Lh1eYk78}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=E_wX40fQwEA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=U8542COlBiU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=salY_Sm6mv4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=xwKbtUP87Dk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=FxqlmI0Oqis}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=QzohDuGk4mM}}\r\n\r\n### Networking and the Internet\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=hJHvdBlSxug}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=x3c1ih2NJEg}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=9hIQjrMHTv4}}\r\n\r\n### Cloud Computing\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=M988_fsOSWo}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=mxT233EdY5c}}\r\n\r\n### Web Applications and Databases\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=lyoT1xuZmx4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=xv0Be4QfkH0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=_higfXfhjdo}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=RsQ1tFLwldY}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=lYbATjjjDxM}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=sDlCSIDwpDs}}", + metadata: { + sourceFile: "content/overviews/02-a-few-computers/index.md", + compiledAt: "2026-02-23T00:32:17.303Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/02-a-few-computers/vocabulary.md': { + module: "# Storage Vocabulary\r\n\r\n{{VocabList:exam-questions.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/02-a-few-computers/vocabulary.md", + compiledAt: "2026-02-23T00:32:17.304Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/03-a-lot-of-computers/concepts.md': { + module: "# Operating Systems - Big Picture Concepts\r\n\r\nThis section presents key concepts in operating systems through an interactive concept map.\r\n\r\n{{ConceptMap:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/concepts.md", + compiledAt: "2026-02-23T00:32:17.304Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/03-a-lot-of-computers/exam-questions.md': { + module: "# Exam Questions\r\n\r\n{{ExamQuestions:concept-map.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.305Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/03-a-lot-of-computers/index.md': { + module: "# Lots of Computers\r\n\r\n## Overview\r\n\r\n* **Conflict** - Understanding the challenges and disputes that arise when many computers and people interact in digital spaces\r\n* **Collaboration** - Exploring how massive networks enable unprecedented cooperation and knowledge sharing across the globe\r\n* **Defense** - Learning about cybersecurity measures and strategies to protect systems when they're interconnected\r\n* **Attack** - Examining the various threats and vulnerabilities that emerge in highly connected computer systems\r\n\r\n## Pre-Test\r\n\r\nPlease click through the following categories and read the exam questions. I'd recommend making a note of the ones you think will be easy and which ones you think will be hard. \r\n\r\n{{ConceptMap:concept-map.yml}}\r\n\r\n## Video Content\r\n\r\nThis chapter's video content will be slightly different because the material is considerably less technical. Although this video gives a brief overview of the topics (collaboration, hackers, networks, and AI), it doesn't **directly** answer any of the questions on the final. \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=ZUesXNpTlzg}}\r\n\r\nNevertheless, you can find textual answers below, and there are many bonus video resources at the bottom of the page. I think most students should, after some light research, be able to answer the questions in this chapter with diagrams of their own. \r\n\r\n> Note: If any such videos/diagrams turn out to be exemplary, I'll embed them here (with the creator's permission).\r\n\r\n## Main Content\r\n\r\nThe following sections cover each of the topics and provide multiple acceptable ways to answer each final exam question. At the end of this page, you'll find the Bonus Videos section with links to various videos that cover these same topics (often in much greater depth than is required for this course).\r\n\r\n### Conflict\r\n\r\nWhen millions of computers connect billions of people, new forms of conflict emerge that humanity has never faced before. These digital conflicts range from legal disputes over intellectual property to harmful social behaviors that can affect real lives.\r\n\r\n**Digital Copyright Challenges:**\r\n- **Content Creation vs. Sharing**: The ease of copying digital content creates tension between creators' rights and users' sharing habits\r\n- **Fair Use in Digital Age**: Traditional fair use doctrine struggles to keep pace with remix culture, memes, and educational sharing\r\n- **Global vs. Local Laws**: Different countries have different copyright laws, creating conflicts in the borderless internet\r\n- **Platform Responsibility**: Who is liable when copyrighted content is shared on social media or cloud platforms?\r\n\r\n**Cyberbullying and Online Harassment:**\r\n- **Anonymity and Disinhibition**: People behave differently online, sometimes more aggressively than they would face-to-face\r\n- **Scale and Persistence**: Digital harassment can follow victims everywhere and persist indefinitely\r\n- **Amplification Effects**: Social media can turn individual conflicts into massive public spectacles\r\n- **Cross-Platform Issues**: Harassment often spans multiple platforms, making it difficult to address comprehensively\r\n\r\n**Information Conflicts:**\r\n- **Misinformation Spread**: False information can travel faster than corrections in networked systems\r\n- **Echo Chambers**: Algorithms can trap people in bubbles of similar viewpoints, increasing polarization\r\n- **Deep Fakes and Manipulation**: Technology makes it increasingly difficult to distinguish real from fake content\r\n\r\nThe interconnected nature of modern computing means that conflicts in one part of the network can rapidly escalate and affect millions of people worldwide.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Conflict\"}}\r\n\r\n### Collaboration\r\n\r\nThe same networks that enable conflict also create unprecedented opportunities for human collaboration. When many computers connect many people, the collective intelligence and capability far exceeds what any individual or small group could achieve.\r\n\r\n**Six Degrees of Separation:**\r\n- **Network Theory**: The idea that everyone is connected to everyone else by at most six intermediary relationships\r\n- **Digital Amplification**: Social networks make these connections visible and actionable\r\n- **Small World Phenomenon**: Despite billions of users, social networks often feel surprisingly intimate\r\n- **Weak Ties Strength**: Casual connections often provide more diverse information and opportunities than close friends\r\n\r\n**Crowdsourcing and Collective Intelligence:**\r\n- **Wikipedia Model**: Demonstrating how millions of contributors can create and maintain vast knowledge repositories\r\n- **Peer Review at Scale**: Distributed editing and fact-checking by volunteer communities\r\n- **Version Control**: Systems that track changes and allow collaborative editing without conflicts\r\n- **Consensus Building**: Mechanisms for resolving disputes and reaching agreements in large groups\r\n\r\n**Open Source Collaboration:**\r\n- **Distributed Development**: Programmers worldwide contribute to shared software projects\r\n- **Transparency and Trust**: Open code allows anyone to verify, improve, or adapt existing work\r\n- **Commons-Based Peer Production**: New economic models based on sharing rather than exclusive ownership\r\n- **Network Effects**: Projects become more valuable as more people use and contribute to them\r\n\r\n**Global Coordination:**\r\n- **Real-Time Collaboration**: People across time zones can work together seamlessly\r\n- **Crisis Response**: Networks enable rapid coordination during emergencies and disasters\r\n- **Knowledge Sharing**: Expertise can be instantly accessible to anyone with an internet connection\r\n- **Cultural Exchange**: Different perspectives and approaches can be easily shared and combined\r\n\r\nThe power of collaboration through connected computers has created new forms of human organization that blur traditional boundaries between individuals, communities, and institutions.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Collaboration\"}}\r\n\r\n### Defense\r\n\r\nAs computer systems become more interconnected, defending them becomes both more critical and more challenging. Cybersecurity in a networked world requires understanding how to protect not just individual computers, but entire ecosystems of connected devices and services.\r\n\r\n**Encryption and Data Protection:**\r\n- **Data in Transit**: Protecting information as it travels across networks using protocols like HTTPS\r\n- **Data at Rest**: Securing stored information even if physical devices are compromised\r\n- **End-to-End Encryption**: Ensuring only intended recipients can read messages, even if intermediary systems are compromised\r\n- **Key Management**: Safely distributing and managing the cryptographic keys that make encryption work\r\n\r\n**Authentication and Access Control:**\r\n- **Two-Factor Authentication (2FA)**: Using multiple forms of verification to confirm identity\r\n- **Multi-Factor Authentication (MFA)**: Extending beyond two factors to include biometrics, location, and behavior\r\n- **Single Sign-On (SSO)**: Balancing convenience with security across multiple connected services\r\n- **Zero Trust Architecture**: Assuming no system is inherently trustworthy and verifying everything\r\n\r\n**Password Security:**\r\n- **Strong Password Requirements**: Understanding why length and complexity matter\r\n- **Password Managers**: Tools that generate and store unique passwords for every service\r\n- **Password Reuse Risks**: How one compromised password can lead to multiple account breaches\r\n- **Biometric Alternatives**: Using fingerprints, facial recognition, and other biological markers\r\n\r\n**Network Defense:**\r\n- **Firewalls**: Controlling which network traffic is allowed in and out of systems\r\n- **Intrusion Detection**: Monitoring systems for signs of unauthorized access or malicious activity\r\n- **Network Segmentation**: Isolating different parts of networks to limit damage from breaches\r\n- **Updates and Patches**: Keeping software current to fix newly discovered vulnerabilities\r\n\r\n**Layered Security:**\r\nThe principle that no single defense is perfect, so multiple overlapping protections are essential. Like physical security that combines locks, alarms, guards, and cameras, cybersecurity requires multiple defensive measures working together.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Defense\"}}\r\n\r\n### Attack\r\n\r\nUnderstanding cybersecurity attacks is crucial for defense. Attackers exploit the same interconnected nature that makes modern computing powerful, using network connections to spread malware, steal data, and disrupt services across vast numbers of systems.\r\n\r\n**Malware and Malicious Software:**\r\n- **Viruses**: Programs that replicate by inserting copies into other programs or files\r\n- **Worms**: Self-replicating programs that spread across networks without user intervention\r\n- **Trojans**: Malicious programs disguised as legitimate software\r\n- **Ransomware**: Malware that encrypts victim's files and demands payment for decryption\r\n- **Rootkits**: Stealthy malware that hides deep in operating systems to avoid detection\r\n\r\n**Advanced Persistent Threats:**\r\n- **Zero-Day Exploits**: Attacks using previously unknown vulnerabilities before patches are available\r\n- **Supply Chain Attacks**: Compromising software or hardware during the development or distribution process\r\n- **Living Off the Land**: Using legitimate system tools for malicious purposes to avoid detection\r\n- **Persistence Mechanisms**: Methods attackers use to maintain access even after systems are rebooted or updated\r\n\r\n**Social Engineering:**\r\n- **Phishing**: Deceiving users into revealing credentials or installing malware through fake emails or websites\r\n- **Spear Phishing**: Targeted phishing attacks customized for specific individuals or organizations\r\n- **Pretexting**: Creating false scenarios to manipulate people into divulging information\r\n- **Baiting**: Offering something enticing to trick users into compromising security\r\n\r\n**Network-Based Attacks:**\r\n- **Spoofing**: Falsifying network identities to appear as trusted sources\r\n- **Man-in-the-Middle**: Intercepting communications between two parties\r\n- **Distributed Denial of Service (DDoS)**: Overwhelming servers with traffic from many compromised computers\r\n- **Packet Sniffing**: Capturing and analyzing network traffic to steal sensitive information\r\n\r\n**Online Intrusion Techniques:**\r\n- **Brute Force Attacks**: Systematically trying many passwords until finding the correct one\r\n- **Credential Stuffing**: Using stolen username/password combinations from one breach to access other services\r\n- **Privilege Escalation**: Gaining higher levels of access than initially obtained\r\n- **Lateral Movement**: Spreading through a network after gaining initial access\r\n\r\n**Economic and Motivational Factors:**\r\n- **Cybercrime as a Service**: Criminal organizations offering attack tools and services to other criminals\r\n- **Nation-State Actors**: Government-sponsored attacks for espionage or disruption\r\n- **Hacktivism**: Attacks motivated by political or social causes\r\n- **Financial Crime**: Direct theft of money or valuable data for profit\r\n\r\nThe scale and automation possible with networked computers means that a single attacker can potentially affect millions of victims simultaneously, making cybersecurity a critical concern for individuals, organizations, and society as a whole.\r\n\r\n{{ExamQuestions:concept-map.yml concept_filter:\"Attack\"}}\r\n\r\n## Bonus Videos\r\n\r\nThese videos provide additional depth on the complex issues that arise when vast networks of computers connect people around the world.\r\n\r\n### Connected Society\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=CYlon2tvywA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=TcxZSmzPw8k}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=X0mHf3oSUdU}}\r\n\r\n#### Collaboration\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=zbKdDsNNOhg}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=e9lnsKot_SQ}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Yc8sCSeMhi4}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=7EZ-dCSrlaM}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=For9VtrQx58}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=F4bYIGnoS1k}}\r\n\r\n#### Conflict\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Im80FZKTKIk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=XzzkSZ0Jrko}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=xvZHNwBHirQ}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=Tamoj84j64I}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=0Xo8N9qlJtk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=vtfMzmkYp9E}}\r\n\r\n### Cybersecurity \r\n\r\n{{YouTube:https://www.youtube.com/watch?v=inWWhr5tnEA}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=bPVaOlJ6ln0}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=jhXCTbFnK8o}}\r\n\r\n#### Defense\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=6-JjHa-qLPk}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=2llWuivdS7w}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=kDEX1HXybrU}}\r\n\r\n\r\n#### Attack\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=h85G7dBqBKU}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=mqzP7gJDM2s}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=rxN4zWTNSds}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=NNdCaNiqqTo}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=lEK84lV6dxs}}\r\n\r\n{{YouTube:https://www.youtube.com/watch?v=uMkOphesrqI}}\r\n", + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/index.md", + compiledAt: "2026-02-23T00:32:17.305Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'content/overviews/03-a-lot-of-computers/vocabulary.md': { + module: "# Operating Systems - Vocabulary\r\n\r\nThis section contains vocabulary terms from all operating systems topics.\r\n\r\n{{VocabList:exam-questions.yml}}\r\n", + metadata: { + sourceFile: "content/overviews/03-a-lot-of-computers/vocabulary.md", + compiledAt: "2026-02-23T00:32:17.306Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/categories-1.md': { + module: "# 5G - Categories 1\r\n\r\nGenerated on 2025-09-03 13:17:11\r\n\r\nShort answer on categorization: 5G is both a member and a category.\r\n\r\n- As a member: It is a member of the broader category “cellular network generations.”\r\n- As a category: It denotes a family of standards, technologies, bands, features, and deployment types grouped under “5G.”\r\n\r\nDSRP analysis focused on categorization\r\n\r\nDistinctions (what 5G is and is not)\r\n- Is: The fifth generation of cellular/mobile networking standardized by 3GPP; includes specific radio (5G NR) and core (5GC) technologies and features (eMBB, URLLC, mMTC).\r\n- Is not: Wi‑Fi (unlicensed WLAN), merely higher speed 4G, or a single frequency/band. Not just marketing; tied to specific 3GPP releases and performance targets.\r\n- Boundary distinctions: 5G SA vs NSA; sub-6 GHz vs mmWave; public vs private 5G.\r\n\r\nSystems (parts/subcategories within 5G as a category)\r\n- Standards stack:\r\n - Radio: 5G NR (FR1 sub-6 GHz; FR2 mmWave 24–52 GHz)\r\n - Core: 5G Core (5GC), service-based architecture, network slicing\r\n - 3GPP Releases: Rel-15/16 (initial 5G), Rel-17/18 (5G-Advanced)\r\n- Deployment modes: Standalone (SA) vs Non-Standalone (NSA)\r\n- Spectrum/bands: Low-band (<1 GHz), mid-band (1–6 GHz), high-band/mmWave (24–52 GHz)\r\n- RAN tech: Massive MIMO, beamforming, small cells, dual connectivity\r\n- Use-case categories: eMBB, URLLC, mMTC\r\n- Operational contexts: Public macro networks, dense urban small cells, private/enterprise 5G, MEC/edge sites\r\n\r\nRelationships (how 5G relates to other categories/concepts)\r\n- Successor relationship: Follows 4G/LTE; precursor to 6G\r\n- Tradeoff relationship: Higher frequency ↔ shorter range/weaker penetration\r\n- Enabler relationship: Enables IoT scale, edge computing, AR/VR, V2X, cloud gaming, smart factories/cities\r\n- Compliance/coordination: Spectrum regulation, device ecosystem, interoperability with 4G (NSA)\r\n\r\nPerspectives (how different stakeholders categorize 5G)\r\n- User perspective: Faster, lower-latency mobile broadband (eMBB)\r\n- Operator perspective: A platform category with slices, spectrum layers, and deployment options\r\n- Enterprise perspective: A category of private wireless solutions (often mid-band with SA + MEC)\r\n- Regulator perspective: A spectrum usage category with licensing and coexistence constraints\r\n- Device/vendor perspective: A standard generation with chipset/band/feature variants\r\n\r\nExplicit category placement\r\n\r\nParent categories (what 5G is a member of)\r\n- Telecommunications\r\n- Wireless communications\r\n- Mobile/cellular networks\r\n- Mobile broadband\r\n- Radio access technologies (RATs)\r\n- 3GPP-standardized generations\r\n\r\nSibling members (other members of the same parent category “cellular generations”)\r\n- 1G (analog), 2G (GSM/cdmaOne), 3G (UMTS/CDMA2000), 4G (LTE), 5G-Advanced (within 5G), emerging 6G\r\n\r\nSubcategories under 5G (what sits inside 5G as a category)\r\n- Standards/releases: 3GPP Rel-15, 16, 17, 18 (5G-Advanced)\r\n- Radio variants: 5G NR FR1 (low/mid-band), FR2 (mmWave)\r\n- Architecture/deployment: SA, NSA; macro vs small cell; public vs private networks\r\n- Core features: 5G Core (SBA), network slicing, MEC/edge integration\r\n- Capabilities/use cases: eMBB, URLLC, mMTC; V2X (C-V2X), RedCap (reduced-capability IoT)\r\n- RAN technologies: Massive MIMO, beamforming, carrier aggregation, DSS\r\n- Market segments: Consumer mobile broadband, fixed wireless access (FWA), industrial/enterprise 5G\r\n\r\nConclusion\r\n- 5G is both a member (of cellular generations) and a category (a family of technologies and deployments). It has clear parents and siblings at the “generation” level and rich subcategories within its own technology stack and use cases.\r\n\r\n\r\n---\r\n\r\n## 2025-09-03 13:19:38\r\n\r\nGenus–differentia definition\r\n- Genus: Cellular/mobile communication standard (wireless broadband telecommunications technology).\r\n- Differentia: The fifth generation, defined by IMT‑2020/3GPP, that combines higher‑frequency spectrum use (incl. mmWave), denser small‑cell deployments, a service‑based core with network slicing, and edge integration to deliver much higher throughput, much lower latency, and massive device density versus 4G, enabling real‑time/cloud applications (e.g., 4K/8K streaming, cloud gaming, AR/VR, telemedicine, smart factories/cities, V2X).\r\n\r\nCategory or member?\r\n- Both.\r\n - Member of the category “cellular network generations / mobile communication standards.”\r\n - Category for its own family of technologies, deployments, and service types (e.g., 5G NR, FR1/FR2, SA/NSA, eMBB/URLLC/mMTC).\r\n\r\nParent categories (hypernyms)\r\n- Cellular/mobile network generation (IMT family of standards).\r\n- Wireless broadband access technology.\r\n- Telecommunications network standard (3GPP/ITU).\r\n\r\nSibling categories (co-hyponyms under “cellular network generation”)\r\n- 1G (analog cellular).\r\n- 2G (e.g., GSM, IS‑95/cdmaOne).\r\n- 3G (e.g., UMTS/HSPA, CDMA2000/EV‑DO).\r\n- 4G (LTE/LTE‑Advanced).\r\n- 6G (emerging/pre‑standard).\r\n\r\nSubcategories within 5G (hyponyms/constituents)\r\n- Radio interface:\r\n - 5G NR (New Radio).\r\n - 5G‑Advanced (3GPP Release 18+).\r\n- Spectrum ranges/bands:\r\n - Low‑band (sub‑1 GHz, FR1 subset).\r\n - Mid‑band (e.g., 1–7 GHz/C‑band, FR1).\r\n - High‑band/mmWave (≈24–100 GHz, FR2).\r\n- Deployment architecture:\r\n - Non‑Standalone (NSA; 5G NR + 4G core).\r\n - Standalone (SA; 5G NR + 5G Core).\r\n- Core/network functions:\r\n - 5G Core (service‑based architecture, slicing, SBA functions).\r\n - MEC/edge integration.\r\n- Service classes (ITU/3GPP use‑case categories):\r\n - eMBB (enhanced Mobile Broadband).\r\n - URLLC (Ultra‑Reliable Low‑Latency Communications).\r\n - mMTC (massive Machine‑Type Communications).\r\n- Network types/ownership:\r\n - Public 5G networks (MNOs).\r\n - Private/Non‑Public Networks (NPN), including industrial/private 5G.\r\n- Access/use modes:\r\n - Mobile broadband.\r\n - Fixed Wireless Access (FWA).\r\n - V2X (cellular vehicle‑to‑everything).\r\n- RAN architecture options:\r\n - Traditional integrated RAN.\r\n - Open RAN/virtualized RAN (vRAN).\r\n", + metadata: { + sourceFile: "definitions/5g/categories-1.md", + compiledAt: "2026-02-23T00:32:17.307Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/dsrp-1.md': { + module: "# 5G - Cabrera Dialectic 2\r\n\r\nGenerated on 2025-09-03 12:53:44\r\n\r\nDistinctions (what it is and isn’t)\r\n- 5G vs 4G: Orders-of-magnitude lower latency, higher peak and average throughput, and higher connection density; adds network slicing and native edge integration.\r\n- 5G vs Wi‑Fi: Licensed spectrum with carrier-grade mobility and QoS vs unlicensed, local-area access; complementary, not replacements.\r\n- 5G vs “millimeter wave”: mmWave is one option within 5G; sub‑6 GHz bands (low/mid-band) are also 5G and drive broad coverage.\r\n- Public 5G vs private 5G: Operator-run wide-area networks vs enterprise-owned/managed on-premise networks for factories, campuses.\r\n- 5G vs edge computing: 5G transports; edge provides compute/storage closer to users and devices. Often co-deployed, but distinct layers.\r\n- 5G performance claims vs real-world: Peak lab speeds differ from typical user experience; coverage, backhaul, device capability, and spectrum holdings constrain outcomes.\r\n\r\nParts and wholes (how it’s composed)\r\n- Spectrum tiers:\r\n - Low-band (e.g., 600–900 MHz): broad coverage, slower speeds, strong penetration.\r\n - Mid-band (e.g., 2.5–4 GHz, C‑band): balance of speed and coverage; 5G “workhorse.”\r\n - High-band/mmWave (e.g., 24–40+ GHz): very high throughput, very short range, weak indoor penetration.\r\n- Radio access network (RAN):\r\n - gNodeB radios (macro + small cells), beamforming/ massive MIMO, carrier aggregation.\r\n- Core network:\r\n - 5G NSA (piggybacks on 4G core) vs SA (standalone 5G core enabling full features: slicing, ultra-reliable low latency).\r\n- Software features:\r\n - Network slicing, QoS classes, MEC (multi-access edge computing), virtualization (NFV), automation/Orchestration.\r\n- Ecosystem:\r\n - Devices (handsets, IoT modules, industrial sensors, vehicles), apps (AR/VR, telemedicine), cloud/edge platforms, security and policy.\r\n\r\nRelationships (cause–effect, trade-offs, dependencies)\r\n- Frequency vs performance: Higher frequency ⇒ more bandwidth ⇒ higher top speeds and capacity, but shorter range and poorer building penetration ⇒ requires denser small-cell deployment.\r\n- Cell density vs experience: More sites and fiber backhaul ⇒ higher consistent throughput, lower latency, better reliability; capex/opex rise with density.\r\n- Latency chain: Radio interface + scheduling + transport + core processing + application server distance. Edge computing reduces the last two.\r\n- Slicing vs QoS: Slicing isolates resources and policies per service/tenant; QoS prioritizes flows within or across slices. Both shape reliability and performance guarantees.\r\n- Battery life vs radio features: Higher-order MIMO, frequent beam management, and high throughput raise power draw; modem and network optimizations mitigate.\r\n- Security vs openness: Private 5G and slicing can improve isolation and policy control; larger attack surface with virtualized, software-defined components demands strong zero-trust, observability, and patch velocity.\r\n- Application fit:\r\n - eMBB (enhanced Mobile Broadband): streaming, cloud gaming, 4K/8K video.\r\n - URLLC (ultra-reliable low-latency comms): industrial control, telesurgery (stringent SLAs, often private/on-prem with edge).\r\n - mMTC (massive machine-type comms): dense IoT sensors (power-efficient, scalable signaling).\r\n\r\nPerspectives (stakeholders and frames)\r\n- User: Wants consistent speed, low latency for apps, coverage indoors/outdoors, reasonable battery life.\r\n- Enterprise/OT: Deterministic latency/jitter, security domains, local breakout to edge, integration with MES/SCADA/PLC, lifecycle control.\r\n- Operator: Spectrum strategy, site acquisition, backhaul, RAN/core modernization, automation, monetization via slices and enterprise services.\r\n- Regulator: Spectrum allocation/auctions, interference management, safety standards, rural coverage obligations.\r\n- App developer/cloud: Place workloads across device/edge/region, handle variable latency, network APIs (exposure of QoS/slice info), observability.\r\n- City/transport: Smart infrastructure, V2X safety, permitting for small cells, curb management, equity of access.\r\n\r\nBoundaries and scope (what’s inside the analysis)\r\n- Inside: Radio layers, core, spectrum, deployment density, edge placement, application requirements, policy/security.\r\n- Outside (but adjacent): Handset SoC roadmaps, data caps/business models, geopolitics of vendors, 6G research trajectories—relevant but not required for baseline understanding.\r\n\r\nPatterns and variations (contexts)\r\n- Urban dense: Mid-band + mmWave hot spots, abundant small cells; strong eMBB and enterprise private networks.\r\n- Suburban: Mid-band macro with selective small cells; good general performance, variable indoor coverage.\r\n- Rural: Low-band macro; wide coverage, lower throughput; fixed wireless access becomes attractive.\r\n- Indoor enterprise: Private 5G or neutral host with dedicated mid-band, tight integration with LAN/edge; deterministic QoS.\r\n- Mobility corridors: Handover performance, beam tracking, and edge placement critical for V2X/connected vehicles.\r\n\r\nCommon misconceptions to challenge\r\n- “5G always means gigabit speeds.” Not without mid/high-band spectrum, sufficient signal quality, and uncongested cells.\r\n- “mmWave is the entirety of 5G.” It’s one option; most real-world coverage relies on mid/low bands.\r\n- “Latency is just a radio feature.” End-to-end latency depends on entire path and where compute runs.\r\n- “5G replaces Wi‑Fi.” They address different needs; converged designs are common.\r\n- “Public 5G can meet any industrial SLA.” Some SLAs require private spectrum, on-prem edge, and tailored policies.\r\n\r\nGuiding questions to refine decisions\r\n- Which bands are available, and what propagation constraints define site planning?\r\n- Where should compute live (device, on-prem edge, metro edge, regional cloud) to meet latency/jitter needs?\r\n- Do we need hard isolation (slicing/private) or is QoS prioritization sufficient?\r\n- What’s the minimum viable density and backhaul for target throughput and reliability?\r\n- How will security domains, identity, and observability span RAN, core, edge, and app layers?\r\n- What is the lifecycle plan for devices/modems and network features (NSA→SA, Rel‑15→Rel‑17/18 capabilities)?\r\n\r\nSimple stepwise application for a use case (example: cloud robotics in a factory)\r\n- Define requirements: 10–20 ms round-trip, 99.99% reliability, deterministic jitter, local data sovereignty.\r\n- Choose architecture: Private 5G SA mid-band with on-prem edge; dedicated slice for control traffic; redundant backhaul to metro core.\r\n- Engineer coverage: Indoor small cells with overlap; RF planning for metal-rich environments; device certification.\r\n- Assure performance: Policy control for QoS, time-sensitive networking gateways if needed, closed-loop RAN optimization.\r\n- Validate and iterate: Measure E2E latency, jitter, packet loss; adjust power, scheduling, and edge placement; security testing and monitoring.\r\n\r\nNear-term evolution to watch\r\n- Wider mid-band deployments and carrier aggregation improving consistency.\r\n- Standalone cores enabling broader slicing and lower-latency features.\r\n- RedCap/NR-Light for simpler, lower-power IoT.\r\n- Network APIs for developers (QoS on demand, slice selection, location, exposure).\r\n- AI-driven RAN optimization and energy savings.\r\n\r\nQuick takeaway\r\n- Think in layers (spectrum, RAN, core, edge), map trade-offs (frequency vs coverage, edge vs cloud), align with use-case SLAs (eMBB/URLLC/mMTC), and choose deployment and policy patterns (public, private, slicing) that fit the performance, security, and cost envelope.\r\n", + metadata: { + sourceFile: "definitions/5g/dsrp-1.md", + compiledAt: "2026-02-23T00:32:17.307Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/exam-questions.md': { + module: "# 5G - Exam Questions\r\n\r\nGenerated on 2025-09-03 11:06:08\r\n\r\n1) Which statement best describes a primary advantage of 5G over 4G?\r\nA. Higher latency but greater coverage\r\nB. Much higher data speeds, much lower latency, and ability to connect more devices\r\nC. Lower data speeds but better indoor penetration\r\nD. Fewer connected devices to reduce interference\r\n\r\n2) Which set of technologies/principles enables 5G’s performance improvements?\r\nA. Lower-frequency spectrum, macro-only cell sites, best-effort routing\r\nB. Higher-frequency spectrum, denser networks of small antennas, and network slicing\r\nC. Satellite backhaul only, beamforming removal, centralized cores\r\nD. Analog modulation, wide guard bands, single shared network for all traffic\r\n\r\n3) Which application most directly benefits from 5G’s low latency and edge computing capabilities?\r\nA. Batch email downloads\r\nB. 4K video streaming buffered minutes ahead\r\nC. Real-time cloud gaming and AR/VR\r\nD. Static website browsing\r\n\r\nAnswer key: 1-B, 2-B, 3-C\r\n", + metadata: { + sourceFile: "definitions/5g/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.308Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/expanded-definition.md': { + module: "# 5G - Expanded Definition\r\n\r\n5G / ˈfaɪv dʒiː /, also five‑G. Part of speech: noun (mass and count), also attributive (before a noun).\r\n\r\nForms and variants:\r\n- 5G (standard); also 5‑G (rare), 5G NR in technical contexts (‘New Radio’).\r\n- Attributive uses include 5G network, 5G phone, 5G coverage, 5G-enabled device.\r\n\r\nEtymology:\r\nFormed from 5 ‘fifth’ + G ‘generation’, following established telecommunication naming (1G, 2G, 3G, 4G). Codified within the 3GPP standards family as “5G NR”.\r\n\r\nCore senses:\r\n1) Mass noun. The fifth generation of cellular mobile communications technology, offering much higher peak and median data rates, much lower latency, and far greater device capacity than 4G, enabled by use of new spectrum (including high-frequency bands), denser small‑cell deployments, advanced antenna techniques (massive MIMO, beamforming), and features such as network slicing and edge computing.\r\nExample: In dense urban cores, 5G can deliver multi‑gigabit speeds with sub‑tens‑of‑milliseconds latency.\r\n\r\n2) Count noun. A 5G network, service, or connection; any instance or implementation of the technology.\r\nExample: The carrier’s 5G now covers most commuter corridors but still falls back to 4G indoors.\r\n\r\n3) Attributive. Designating devices, services, applications, or infrastructure that use, support, or are optimized for 5G.\r\nExample: The factory deployed 5G sensors and a private 5G core to coordinate its robots in real time.\r\n\r\n4) Figurative or metonymic. The sector, policy arena, or strategic competition surrounding 5G technology.\r\nExample: Spectrum auctions show how 5G has become a focal point of industrial policy.\r\n\r\nSalient technical characteristics (for sense 1):\r\n- Spectrum: low band (sub‑1 GHz; wide coverage, modest speeds), mid band (≈1–6 GHz; balanced coverage/capacity, incl. C‑band ≈3.3–4.2 GHz), high band/mmWave (≈24–40+ GHz; very high throughput, short range, limited indoor penetration).\r\n- Architecture: non‑standalone (NSA, anchored to 4G core) and standalone (SA, 5G core enabling slicing, ultra‑reliable low‑latency features).\r\n- Capabilities: massive device density for IoT; potential low‑latency links for AR/VR, cloud gaming, telemedicine; support for private/enterprise networks and mobile edge computing.\r\n- Performance is location‑ and frequency‑dependent: higher bands are faster but more fragile over distance and through walls.\r\n\r\nHistorical development:\r\n- 2012–2015: “5G” enters research and marketing discourse; early trials.\r\n- 2018: 3GPP Release 15 finalizes first 5G NR specifications.\r\n- 2019: First commercial launches (e.g., South Korea, U.S., parts of Europe, China).\r\n- 2020–2023: Broad mid‑band rollouts; expansion of standalone 5G cores; maturation of device ecosystem.\r\n- Ongoing: Releases 16–18 extend features (industrial IoT, positioning, reduced capability devices, slicing).\r\n\r\nStakeholder and contextual uses:\r\n- Network engineering: focuses on spectrum strategy, radio planning, massive MIMO, carrier aggregation, SA vs NSA, backhaul/fronthaul design, QoS, slicing, and edge placement.\r\n- Regulators/policy: spectrum auctions and refarming, interference management, coverage obligations, security standards, critical infrastructure concerns.\r\n- Enterprise/industry (manufacturing, logistics, energy): private 5G, deterministic latency, indoor small cells, time‑sensitive networking, asset tracking, machine vision.\r\n- Computing/cloud: offloading to edge/cloud, cloud gaming, AR/VR, data pipe for telemedicine, distributed AI/analytics at the edge.\r\n- Automotive/transport: vehicle‑to‑everything (V2X), traffic systems, remote updates; note that specialized sidelink standards evolve alongside.\r\n- Consumer: faster mobile broadband, 4K/8K streaming, hotspot tethering, variable real‑world gains depending on band and deployment.\r\n\r\nUsage notes:\r\n- Coverage labels (e.g., “5G”, “5G UW/UC/Plus”) often mark different frequency tiers; user experience varies accordingly.\r\n- Devices must support local bands and carrier features to realize benefits.\r\n- 5G complements rather than replaces Wi‑Fi; each serves different ownership and traffic models.\r\n- Health/safety: 5G uses non‑ionizing RF energy; major public‑health bodies consider exposures within guidelines as safe. Public discourse has included misinformation.\r\n\r\nExample sentences (by sense):\r\n1) Mass noun\r\n- 5G enables near‑real‑time control loops by pushing compute to the network edge.\r\n- Rural 5G relies primarily on low‑band spectrum to extend coverage.\r\n\r\n2) Count noun\r\n- Their 5G is fast outdoors but drops to 4G inside older office buildings.\r\n- The city’s new 5G will prioritize transit corridors before residential streets.\r\n\r\n3) Attributive\r\n- The hospital piloted a 5G tele-ultrasound service between clinics.\r\n- A 5G modem can aggregate multiple carriers across mid‑band channels.\r\n\r\n4) Figurative/metonymic\r\n- 5G has become a proxy for competitiveness in advanced manufacturing.\r\n- Election platforms differed on how to fund rural 5G without delaying urban upgrades.\r\n\r\nCross‑references:\r\n- Compare 4G (LTE), Wi‑Fi 6/7, edge computing, network slicing, massive MIMO, mmWave, C‑band.\r\n", + metadata: { + sourceFile: "definitions/5g/expanded-definition.md", + compiledAt: "2026-02-23T00:32:17.309Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/related-concept-sentences.md': { + module: "# 5G - Related Concept Sentences\r\n\r\n- Internet of Things (IoT): 5G’s low latency and massive device capacity let far more sensors and machines connect simultaneously, enabling real-time IoT use cases from smart cities to industrial monitoring.\r\n- Cloud Computing: 5G’s high speeds and low latency make it practical to offload processing to the cloud and edge, powering cloud gaming, AI inference, and thin-client devices.\r\n- Streaming: 5G supports smoother, higher-resolution streaming (e.g., 4K/8K, HDR) on mobile devices and in congested areas by providing higher throughput and better quality of service.\r\n- Video Conferencing: With reduced latency and improved uplink capacity, 5G enhances real-time video calls, enabling higher-quality, more reliable mobile conferencing and telepresence.\r\n- Augmented Reality (AR): 5G enables responsive AR by delivering fast data and edge compute resources, reducing motion-to-cloud-to-render delays for overlays in navigation, retail, and maintenance.\r\n- Virtual Reality (VR): 5G’s low latency and high bandwidth support wireless, cloud-rendered VR experiences, lowering headset weight and enabling multi-user, real-time environments.\r\n- Bandwidth: 5G increases available bandwidth through wider channels and higher-frequency spectrum, allowing faster data rates and more simultaneous users than 4G.\r\n- Internet: 5G is an access technology that connects mobile devices to the broader Internet, improving last-mile wireless performance while relying on core Internet infrastructure.\r\n- Smart Device: 5G equips smart devices (phones, wearables, vehicles, appliances) with faster, more reliable connectivity, enabling richer features and always-on services.\r\n- Automation: 5G’s reliability, ultra-low latency, and network slicing enable time-critical automation in factories, logistics, and utilities, supporting coordinated robots and autonomous systems.\r\n", + metadata: { + sourceFile: "definitions/5g/related-concept-sentences.md", + compiledAt: "2026-02-23T00:32:17.309Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g/related-concepts.md': { + module: "# 5G - Related Concepts\r\n\r\n- Internet of Things (IoT) [Emerging Technologies]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Streaming [Digital Communication and Platforms]\r\n- Video Conferencing [Online Communication]\r\n- Augmented Reality (AR) [Emerging Technologies]\r\n- Virtual Reality (VR) [Emerging Technologies]\r\n- Bandwidth [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Smart Device [Emerging Technologies]\r\n- Automation [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/5g/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.310Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/5g.md': { + module: "# 5G\r\n\r\nFifth generation of wireless mobile technology\r\n\r\n## Definition\r\n5G is the fifth generation of cellular networking that delivers much higher data speeds, much lower delay (latency), and the capacity to connect many more devices than 4G. It achieves this by using new, higher-frequency parts of the radio spectrum and denser networks of small antennas, and can reserve resources for specific uses (network slicing). For computing, 5G enables real-time and cloud-based applications—such as smooth 4K streaming, cloud gaming, AR/VR, telemedicine, smart factories and cities, and vehicle-to-vehicle communication—while boosting the Internet of Things and edge computing. Coverage and performance vary by location and frequency: higher bands are fastest but have shorter range and weaker indoor penetration.\r\n", + metadata: { + sourceFile: "definitions/5g.md", + compiledAt: "2026-02-23T00:32:17.310Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/categories-1.md': { + module: "# Absolute Path - Categories 1\r\n\r\nGenerated on 2025-09-03 13:17:34\r\n\r\nHere’s a concise DSRP analysis of “Absolute Path,” with emphasis on categorization.\r\n\r\nDistinctions (what it is vs. is not)\r\n- Is: a type of file system path that begins at the root and uniquely locates a resource regardless of the current working directory.\r\n- Is not: a relative path (depends on working directory), a URL/URI (web addressing), or merely a “canonical” path (resolution/normalization property).\r\n- Synonyms: full path, fully qualified path (FQP/FQPN).\r\n\r\nSystems (parts/structure of the concept)\r\n- Components: root indicator (e.g., / or C:\\), directory segments, separators, filename, optional extension.\r\n- Windows variants: drive letter + root (C:\\...), UNC authority (\\\\server\\share\\...), NT device prefix (\\\\?\\...).\r\n- POSIX variants: leading slash (e.g., /home/alex/...).\r\n\r\nRelationships (how it connects to other concepts)\r\n- Independent of working directory; anchored to the filesystem root.\r\n- Used in scripts/configs for unambiguous resource location; trade-off vs portability.\r\n- Related to security (path traversal mitigation), portability, and symlink resolution (canonicalization).\r\n\r\nPerspectives (views that shift categorization)\r\n- OS perspective: Windows vs POSIX forms.\r\n- User/developer perspective: “absolute path” as a category (type) vs a specific string as a member (instance).\r\n\r\nCategorization focus\r\n- Is it a category, a member, or both?\r\n - As a concept/type (“Absolute Path”): it is a category (a class of paths).\r\n - Any concrete string like C:\\Users\\Alex\\Documents\\report.docx or /home/alex/report.docx is a member (instance) of that category.\r\n - OS-specific forms (e.g., UNC absolute paths) can be treated as subcategories within the broader category.\r\n\r\nHierarchy and related categories\r\n\r\n- Parent categories (choose level of granularity you need)\r\n - File system path (pathname)\r\n - Pathname types\r\n - File system concepts (within Operating Systems)\r\n\r\n- Sibling categories (other pathname types or closely related path concepts)\r\n - Relative path\r\n - Canonical/real path (absolute or relative after resolving symlinks) — often treated as a property/type\r\n - Normalized path (property/type: redundant segments removed)\r\n - UNC path (Windows; note: typically a subcategory of absolute path)\r\n - Device path (Windows \\\\?\\ or \\\\.\\ prefixes; typically absolute)\r\n - Home-relative path (~ on POSIX; expands to an absolute path but itself is not absolute until expanded)\r\n\r\n- Subcategories of Absolute Path\r\n - By OS:\r\n - POSIX absolute paths: start with /\r\n - Windows absolute paths:\r\n - Drive-letter absolute paths: C:\\...\r\n - UNC absolute paths: \\\\server\\share\\folder\\file\r\n - NT device absolute paths: \\\\?\\C:\\..., \\\\.\\PhysicalDrive0\r\n - By resolution/state:\r\n - Logical absolute path (may include symlinks)\r\n - Canonical/real absolute path (symlinks resolved)\r\n - By target:\r\n - Absolute directory paths\r\n - Absolute file paths\r\n\r\nBottom line\r\n- “Absolute Path” is best treated as a category (type of file system path). Specific full path strings are members of that category. OS-specific absolute forms (POSIX, Windows drive-letter, UNC, device paths) are useful subcategories.\r\n\r\n\r\n---\r\n\r\n## 2025-09-03 13:20:05\r\n\r\nGenus–differentia definition\r\n- Genus: pathname (file path) — a string that designates a location within a filesystem namespace.\r\n- Differentia: begins at the root of the filesystem (not the current working directory) and fully specifies a unique location, so resolution is independent of where the reference is made.\r\n\r\nCategory status\r\n- It is a category (a type of pathname). Individual strings like C:\\Users\\Alex\\Documents\\report.docx or /home/alex/Documents/report.docx are members of this category.\r\n\r\nImmediate parent category\r\n- Pathname (a.k.a. file path, filepath, pathname string)\r\n\r\nCore differentiating properties\r\n- Root-anchored: starts at the filesystem root.\r\n- Context-independent: resolves to the same location regardless of the process’s current working directory.\r\n- OS-constrained syntax: \r\n - POSIX: leading slash (/usr/bin/python)\r\n - Windows: drive-letter root (C:\\Windows\\System32) or UNC/device roots (\\\\server\\share, \\\\?\\C:\\…)\r\n\r\nSibling categories (other kinds of pathnames)\r\n- Relative path — interpreted with respect to a current working directory (e.g., ../logs/app.log).\r\n- Rooted path (Windows) — begins with a backslash but omits the drive; anchored to the current drive’s root (e.g., \\Windows\\System32); not fully absolute.\r\n- Normalized path — a pathname with redundant components removed (e.g., no . or ..), which can be absolute or relative.\r\n- Canonical path (general notion) — a unique, fully resolved path with symlinks resolved; often absolute but the term itself isn’t limited to absolute paths.\r\n- Environment-expanded path — path after expanding variables like %USERPROFILE% or $HOME; can be absolute or relative.\r\n\r\nSubcategories (not exhaustive)\r\n- POSIX absolute path — leading slash; components separated by / (e.g., /var/log/syslog).\r\n- Windows absolute path (drive-letter) — [A–Z]:\\ root with \\ separators (e.g., D:\\Projects\\app\\README.md).\r\n- Windows UNC absolute path — network root \\\\server\\share\\… (e.g., \\\\fileserver\\dept\\budget.xlsx).\r\n- Windows device-namespace absolute path — NT namespace (e.g., \\\\?\\C:\\very\\long\\path.txt, \\\\.\\COM1).\r\n- Canonical absolute path — absolute path after normalization and symlink/junction resolution.\r\n- Absolute directory path vs absolute file path — absolute references where the last component is a directory (often ends with a separator on some tools) versus a file.\r\n\r\nNotes and edge cases\r\n- On Windows, a path like \\Temp is not fully absolute; it depends on the current drive (rooted path).\r\n- A URL’s “absolute URL” is a different domain and shouldn’t be confused with filesystem absolute paths.\r\n", + metadata: { + sourceFile: "definitions/absolute-path/categories-1.md", + compiledAt: "2026-02-23T00:32:17.311Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/dsrp-1.md': { + module: "# Absolute Path - Cabrera Dialectic 2\r\n\r\nGenerated on 2025-09-03 12:54:16\r\n\r\nClarify the idea\r\n- What it is: a full, unambiguous file location that starts at the filesystem’s root (e.g., C:\\Users\\Alex\\... on Windows, /home/alex/... on macOS/Linux).\r\n- What it is not:\r\n - Relative path (depends on current working directory).\r\n - URL (e.g., https://example.com/file) though both are “addresses.”\r\n - Shell shortcuts (e.g., ~ for home, . and .., $HOME) until expanded.\r\n - Logical/virtual references (e.g., symlinks, aliases) before resolution.\r\n - UNC nuance: Windows network paths like \\\\server\\share\\folder\\file are also absolute but don’t use drive letters.\r\n- Where it’s used: scripts, configs, services, cron/Task Scheduler, troubleshooting, logging.\r\n- Why it matters: removes ambiguity, yields reproducibility, aids automation.\r\n\r\nBreak it into parts\r\n- Root indicator:\r\n - Windows: drive letter + colon + backslash (C:\\) or UNC prefix (\\\\server\\share\\).\r\n - POSIX (Linux/macOS): single leading slash (/).\r\n- Directory separators:\r\n - Windows: backslash \\ (also accepts / in many APIs, but not all tools).\r\n - POSIX: forward slash /.\r\n- Path segments: directories (possibly nested), filename, extension.\r\n- Optional prefixes and variants:\r\n - Windows long-path prefix: \\\\?\\C:\\... (disables normalization, supports >260 chars).\r\n - Environment variables that expand to absolute paths (e.g., %ProgramFiles%, $HOME).\r\n- Normalization/canonicalization components:\r\n - Resolving . and ..\r\n - Collapsing duplicate separators\r\n - Following symlinks/junctions to their targets (canonical vs nominal path)\r\n - Case handling: Windows typically case-insensitive; Linux typically case-sensitive; macOS depends on volume format.\r\n\r\nTrace key connections\r\n- Resolution logic:\r\n - If path begins at root, no dependency on current directory; otherwise, relative paths are resolved by prepending the current working directory.\r\n - Shell expands ~, variables, and globs before the program sees a final path.\r\n - Symlink/junction resolution may change the ultimate target location.\r\n- Reliability vs portability:\r\n - Absolute paths increase reliability within a single system but can reduce portability across machines (different usernames, drive letters, mount points).\r\n - Mitigation: derive absolute paths at runtime from stable anchors (installation directories, environment variables, config parameters).\r\n- Security implications:\r\n - Absolute paths help avoid path traversal when combined with strict validation and canonicalization.\r\n - Hardcoded paths can leak information in logs or error messages.\r\n - Use least-privilege directories and verify that resolved canonical path stays within allowed roots (e.g., after following symlinks).\r\n- Operations and deployment:\r\n - Services and schedulers may run with different working directories; absolute paths prevent failures.\r\n - Containerization: the container’s root (/) is not the host’s root; absolute paths refer to the container’s filesystem. Bind mounts map host paths into container paths.\r\n - VMs/WSL: translation layers (e.g., /mnt/c on WSL) adjust expectations.\r\n- Cross-environment quirks:\r\n - Windows vs POSIX separators and escaping.\r\n - Case sensitivity differences can break code when moving from macOS (case-insensitive by default) to Linux.\r\n - macOS aliases vs POSIX symlinks; Finder may display paths differently than the shell.\r\n\r\nShift viewpoints to refine understanding and choices\r\n- Developer:\r\n - Use absolute paths for executables, resources, and logs in services/daemons.\r\n - Compute absolute paths relative to a known base at startup (e.g., app root), not hardcode user-specific paths.\r\n - Provide configuration to override paths per environment.\r\n- Sysadmin/DevOps:\r\n - Prefer absolute paths in cron, systemd unit files (WorkingDirectory can be set, but explicit paths are safer).\r\n - In Windows Task Scheduler, use absolute paths to executables and working directories.\r\n - Document mount points and ensure they exist before services start.\r\n- Security reviewer:\r\n - Canonicalize and validate paths against an allowlisted root.\r\n - Beware of TOCTOU issues after validation; open files using APIs that accept directory file descriptors and flags to avoid races where available.\r\n- End user/troubleshooter:\r\n - Convert relative to absolute when reporting issues to avoid ambiguity.\r\n - Verify the path actually exists and check permissions; use tools like realpath/readlink -f (Linux), cygpath (Cygwin), wslpath (WSL), fsutil/path utilities on Windows.\r\n\r\nPractical patterns\r\n- Prefer constructing absolute paths from stable anchors:\r\n - POSIX: base = getenv(\"HOME\") or readlink(\"/proc/self/exe\") to get executable dir, then join.\r\n - Windows: SHGetKnownFolderPath or GetModuleFileName for executable dir.\r\n- Normalize and validate:\r\n - Strip .. and . segments; resolve symlinks where needed; compare canonical paths to allowed roots.\r\n- Be explicit about separators:\r\n - Use platform-specific path joiners in your language’s standard library to avoid mixing \\ and /.\r\n- Avoid hardcoding:\r\n - Don’t bake user names, drive letters, or volume names into code; make them configurable or discoverable.\r\n\r\nQuick checks to apply\r\n- Does it start at the root (or with a drive letter/UNC)? If not, it isn’t absolute.\r\n- Will it resolve identically regardless of current working directory? If not, it isn’t absolute.\r\n- Is it portable across machines? If not, can you compute it from a stable base at runtime?\r\n- After canonicalization, does it remain inside the intended directory tree?\r\n- Are case and separator conventions correct for the target OS?\r\n\r\nIllustrative examples\r\n- Windows:\r\n - Absolute: C:\\Program Files\\App\\app.exe\r\n - UNC absolute: \\\\fileserver\\dept\\reports\\2025\\q3.xlsx\r\n - Long path: \\\\?\\C:\\data\\very\\deep\\path\\file.txt\r\n - Not absolute: ..\\logs\\app.log (depends on current directory)\r\n- POSIX:\r\n - Absolute: /var/log/app/app.log\r\n - Not absolute: ../app/config.yml\r\n - Symlink nuance: /opt/app/current/logs -> /var/log/app (canonical path differs)\r\n\r\nCommon pitfalls\r\n- Assuming macOS is case-sensitive; many volumes are not.\r\n- Copying absolute paths between systems with different usernames or drive letters.\r\n- Forgetting that container paths are not host paths.\r\n- Relying on shell expansions in contexts where they don’t run (e.g., systemd ExecStart without a shell).\r\n- Logging unexpanded variables or tildes and mistaking them for absolute paths.\r\n", + metadata: { + sourceFile: "definitions/absolute-path/dsrp-1.md", + compiledAt: "2026-02-23T00:32:17.311Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/dsrp-questions.md': { + module: "# Absolute Path - Dsrp Questions\r\n\r\n## Is it a System?\r\n- Can it be thought of as a system? Yes, in a conceptual/representational sense. An “absolute path” is a structured representation that encodes a location in a filesystem namespace using standardized components (root indicator, separators, directory names, filename). It has parts, rules, and behavior within the broader OS/filesystem ecosystem—thus it can be modeled as a system.\r\n- Classification:\r\n - A part of a system: It is a component of the filesystem addressing system and the OS’s path resolution mechanism.\r\n - A relationship between systems: It expresses a mapping between a resource (file/folder) and a global namespace anchored at the filesystem root.\r\n - A cognitive tool for understanding systems: It reduces ambiguity for humans and programs by providing a stable locator independent of working context.\r\n - Not primarily a boundary, though it references boundaries (e.g., the root, drive letters, mount points).\r\n\r\n## Distinctions\r\n- What Absolute Path is:\r\n - A fully qualified locator within a filesystem namespace, starting at the root.\r\n - Platform-specific syntax that uniquely identifies a resource independent of the current working directory.\r\n - A convention interpreted by the OS kernel and filesystem drivers during path resolution.\r\n\r\n- What is not Absolute Path (outside the system boundary):\r\n - Relative path: Depends on a working directory; lacks a root anchor.\r\n - URL/URI: Network/resource identifiers (e.g., https://...), not local filesystem absolute paths (though file:// URLs can reference filesystem paths).\r\n - Symbolic link target identity: An absolute path may traverse symlinks; the path itself is not the resolved inode/object.\r\n - Device identifiers and inode numbers: Low-level identifiers distinct from human-readable paths.\r\n - Environment-variable-based locators (e.g., %USERPROFILE%, $HOME): Indirections, not absolute paths unless fully expanded to root-based paths.\r\n - Namespace variants that are not root-anchored (e.g., tilde ~ before expansion).\r\n - Abstract names in virtual namespaces (e.g., registry paths, database keys) unless explicitly mapped to a filesystem path.\r\n\r\n## Systems\r\n- Does Absolute Path have parts? Yes (vary by platform):\r\n - Root indicator: / on POSIX; drive letter + colon + backslash on Windows (e.g., C:\\).\r\n - Optional namespace prefixes: Windows UNC (\\\\server\\share\\...), extended-length prefix (\\\\?\\).\r\n - Directory components: Ordered segments separated by / or \\.\r\n - Filename (base name) and optional extension.\r\n - Separators and normalization rules (., .. resolution, redundant separators).\r\n - Encoding and case rules (UTF-8 vs UTF-16, case-sensitive vs case-insensitive semantics).\r\n \r\n- Can Absolute Path be thought of as a part?\r\n - Yes, as a part of:\r\n - The OS’s path resolution system (syscalls like open, stat).\r\n - The filesystem’s global namespace (rooted tree with mount points).\r\n - Scripts, configuration files, and deployment manifests.\r\n - Security and access-control workflows (AUDIT, allowlists/denylists).\r\n - Build/CI pipelines and container orchestration where deterministic locations are needed.\r\n\r\n## Relationships\r\n- What other systems is Absolute Path related to?\r\n - Filesystem namespace and mount table: Absolute paths traverse mount points and reflect the current set of mounted filesystems.\r\n - Working directory subsystem: Absolute paths bypass dependency on it; relative paths depend on it.\r\n - Path resolution algorithm: Parsing, normalization, symlink traversal, permission checks.\r\n - Permissions and security: Access decisions (ACLs, POSIX perms, SELinux labels) are evaluated during resolution.\r\n - Namespaces/chroot/containers: The meaning of “root” depends on the active namespace; absolute inside a container differs from host.\r\n - Portability layers and tooling: Cross-platform differences (separators, drive letters) affect portability.\r\n - Storage dynamics: Moves/renames break paths; bind mounts and junctions can change what an absolute path refers to.\r\n - Logging, monitoring, and troubleshooting: Unambiguous references aid reproducibility.\r\n\r\n- Can Absolute Path be a relationship between systems?\r\n - Yes. It is a mapping relation from a resource to a position in a rooted namespace. It also encodes a relation to a specific root boundary (e.g., device/mount/namespace root). In distributed contexts (UNC paths), it relates client systems to server shares.\r\n\r\n## Perspectives\r\n- From the perspective of Absolute Path as a system:\r\n - What ensures my referential stability if files move or mounts change?\r\n - How do I normalize across symlinks, ., .., and mixed separators?\r\n - How do encoding and case rules affect equality and uniqueness?\r\n - How does my interpretation differ across namespaces (host vs container, chroot, user namespaces)?\r\n - What are my security implications (path traversal prevention, canonicalization before checks)?\r\n - How can I remain portable across OSes and filesystems?\r\n\r\n- From other systems’ perspectives:\r\n - Kernel/filesystem: How to resolve efficiently and securely (caching, path walk, permission checks)?\r\n - Container runtime: How to remap or project host paths into container roots reliably?\r\n - CI/build system: How to avoid brittle hard-coded locations while preserving determinism?\r\n - Security/DevSecOps: How to canonicalize before authorization (TOCTOU issues, symlink races)?\r\n - Cross-platform application: How to abstract location without embedding OS-specific syntax?\r\n - User/developer: When should I prefer absolute over relative for reliability, and how to manage maintainability?\r\n - Backup/restore/migration: How to preserve or remap absolute paths across machines and mount layouts?\r\n - Distributed filesystems/SMB/NFS: How do server/share semantics (UNC) alter the notion of “root”?\r\n\r\nNot applicable: If modeling absolute path as a physical boundary or a dynamic agent with goals—those interpretations do not fit; it is a representational construct within broader computational systems.\r\n", + metadata: { + sourceFile: "definitions/absolute-path/dsrp-questions.md", + compiledAt: "2026-02-23T00:32:17.312Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/exam-questions.md': { + module: "# Absolute Path - Exam Questions\r\n\r\nGenerated on 2025-09-03 11:06:16\r\n\r\nHere are 3 multiple-choice questions based on the concept of absolute paths:\r\n\r\n1) Which statement best defines an absolute path?\r\n- A) A path that is relative to the current working directory\r\n- B) A path that uses shortcuts and environment variables\r\n- C) The full, exact address of a file or folder starting at the root of the file system\r\n- D) A path that changes depending on where the command is run\r\n\r\nCorrect answer: C\r\n\r\n2) Which of the following is an example of an absolute path on Windows?\r\n- A) Users\\Alex\\Documents\\report.docx\r\n- B) .\\Documents\\report.docx\r\n- C) C:\\Users\\Alex\\Documents\\report.docx\r\n- D) ..\\Alex\\Documents\\report.docx\r\n\r\nCorrect answer: C\r\n\r\n3) In which scenario is using an absolute path most appropriate?\r\n- A) When writing a quick command in a shell where the current directory won’t change\r\n- B) When creating a script that must reliably find files regardless of where it’s run\r\n- C) When you want the path to change relative to the user’s current location\r\n- D) When navigating interactively and prefer shorter, context-dependent paths\r\n\r\nCorrect answer: B\r\n", + metadata: { + sourceFile: "definitions/absolute-path/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.312Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/expanded-definition.md': { + module: "# Absolute Path - Expanded Definition\r\n\r\nAbsolute path\r\nPart of speech: noun (Computing). Plural: absolute paths. Also: absolute pathname (older/Unix), full path (informal).\r\n\r\nCore definition (sense 1)\r\n- A file-system path that specifies the complete location of a file or directory starting at the root of the file system, independent of the current working directory. On Unix-like systems it begins with a leading slash (e.g., /home/alex/Documents/report.docx); on Windows it typically begins with a drive letter and backslash (e.g., C:\\Users\\Alex\\Documents\\report.docx), or with a UNC prefix for network resources (e.g., \\\\server\\share\\folder\\file.txt).\r\n\r\nExtended/analogical use (sense 2)\r\n- By extension: any fully qualified identifier within a hierarchical namespace that is resolvable without reference to a current context, as in some programming languages or configuration systems that speak of “absolute import paths” or “absolute module paths.” Compare absolute URL in web contexts.\r\n\r\nUsage notes and distinctions\r\n- Contrast relative path: a path whose interpretation depends on the current working directory (e.g., ../Documents/report.docx).\r\n- Typical markers of absoluteness:\r\n - Unix/macOS/Linux: leading slash (/). A leading tilde (~) expands to a user’s home directory but is not itself an absolute path until expansion.\r\n - Windows: drive letter with colon and backslash (C:\\…), or UNC prefix (\\\\server\\share\\…). A path like \\Windows\\System32 is rooted at the current drive and is not fully absolute across drives.\r\n- Practical advantages: eliminates ambiguity; dependable in scripts, services, and troubleshooting; stable for logging and auditing.\r\n- Practical drawbacks: can be brittle across machines (different root, drives, user names); may reveal sensitive structure in error messages; often less portable in cross-platform code unless constructed dynamically.\r\n- Related forms/variants: absolute pathname (common in early Unix documentation), fully qualified path, canonical path (not identical; canonical implies a normalized, unique representation, resolving symlinks and dot-segments).\r\n\r\nHistorical development\r\n- Emerged with early hierarchical file systems and Unix documentation of the 1970s, where pathname denoted the sequence of directory names. The contrast of absolute vs. relative pathname became standard in Unix manuals and textbooks. With the rise of MS‑DOS and later Windows, the concept broadened to include drive-letter roots and UNC shares. Over time, developer usage shortened pathname to path, and absolute path became the prevailing term across platforms. Despite differing platform conventions (slash vs. backslash, drive letters, case sensitivity), the underlying concept—a root-anchored, context-independent locator—remains consistent. Contemporary tooling (IDEs, build systems, containers) often constructs absolute paths at runtime to balance reproducibility and portability.\r\n\r\nStakeholder/contextual uses\r\n- System administrators: Favor absolute paths in cron/systemd jobs, service units, backup scripts, and diagnostics to prevent resolution errors.\r\n- Software developers: Use absolute paths when invoking tools, locating resources, or writing logs; often compute them dynamically (e.g., basedir + relative) for portability.\r\n- DevOps/SRE: Rely on absolute paths in deployments and observability to ensure consistent resource references across environments.\r\n- Security professionals: Monitor for hard-coded absolute paths that may leak environment details or create privilege/escalation assumptions; sanitize path handling to prevent injection.\r\n- Data scientists/analysts: Avoid user-specific absolute paths in notebooks; prefer project-root resolution to maintain reproducibility across machines.\r\n- Helpdesk/support: Request absolute paths from users to precisely identify files when troubleshooting.\r\n\r\nExample sentences\r\n- Use an absolute path to the configuration file so the service can find it regardless of its working directory.\r\n- On Linux, /var/log/syslog is an absolute path; syslog alone is not.\r\n- The script failed because it assumed C:\\Users\\Admin\\Desktop, an absolute path that doesn’t exist on this machine.\r\n- For a network share, specify the UNC absolute path: \\\\fileserver\\projects\\Q3\\budget.xlsx.\r\n- The build system resolves relative includes against the project root to produce absolute paths in the compilation database.\r\n- Avoid hard-coding absolute paths in notebooks; derive them from environment variables or the repository root.\r\n\r\nCross-references\r\n- relative path; root directory; working directory; pathname; canonical path; absolute URL.\r\n", + metadata: { + sourceFile: "definitions/absolute-path/expanded-definition.md", + compiledAt: "2026-02-23T00:32:17.313Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/related-concept-sentences.md': { + module: "# Absolute Path - Related Concept Sentences\r\n\r\n- File Path: An absolute path is a specific type of file path that uniquely identifies a file or folder from the root of the file system.\r\n- Relative Path: A relative path locates a resource based on the current working directory, whereas an absolute path starts at the root and points to the same location regardless of context.\r\n- File: An absolute path precisely indicates the location of a file in the file system, ensuring it can be accessed from any context.\r\n- Folder (Directory): An absolute path identifies a folder’s exact position in the directory hierarchy starting from the root.\r\n- Operating System (OS): The OS interprets absolute paths to locate files and folders, with syntax conventions that vary by OS (e.g., Windows vs. macOS/Linux).\r\n- File Management: Using absolute paths in file management tasks ensures consistent, unambiguous access to resources when moving, copying, or organizing items.\r\n- Storage: Absolute paths map to locations on storage devices, specifying the drive or root volume and the full directory chain to the resource.\r\n- System Software: System software (like shells, file managers, and services) relies on absolute paths in scripts and configurations to reliably reference required files.\r\n- Backup: Backup processes often use absolute paths to define exact source and destination locations, preventing errors from changing working directories.\r\n- Troubleshooting: Absolute paths aid troubleshooting by removing ambiguity about where a file or configuration resides, making it easier to verify and correct issues.\r\n", + metadata: { + sourceFile: "definitions/absolute-path/related-concept-sentences.md", + compiledAt: "2026-02-23T00:32:17.313Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path/related-concepts.md': { + module: "# Absolute Path - Related Concepts\r\n\r\n- File Path [File Systems]\r\n- Relative Path [File Systems]\r\n- File [File Systems]\r\n- Folder (Directory) [File Systems]\r\n- Operating System (OS) [Operating Systems and Software]\r\n- File Management [File Systems]\r\n- Storage [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Backup [File Systems]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/absolute-path/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.314Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/absolute-path.md': { + module: "# Absolute Path\r\n\r\nComplete file location from the root directory\r\n\r\n## Definition\r\nAn absolute path is the full, exact address of a file or folder starting at the root of the file system, so it always points to the same place no matter where you are. It typically starts with a drive letter and backslash on Windows (e.g., C:\\Users\\Alex\\Documents\\report.docx) or a leading slash on macOS/Linux (e.g., /home/alex/Documents/report.docx). Because it avoids ambiguity, absolute paths are widely used in scripts, configuration files, and troubleshooting to ensure the system can reliably locate resources.\r\n", + metadata: { + sourceFile: "definitions/absolute-path.md", + compiledAt: "2026-02-23T00:32:17.314Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/categories-1.md': { + module: "# Abstraction - Categories 1\r\n\r\nGenerated on 2025-09-03 13:17:57\r\n\r\nShort answer: Abstraction is both a member of several broader categories and a category that contains many subtypes.\r\n\r\nDSRP lens (brief)\r\n- Distinctions: Abstraction is not mere omission; it is purposeful focus on essentials with hidden detail controlled by an interface.\r\n- Systems (part–whole): The “abstraction” idea contains parts such as intent (simplify), mechanism (hide details, expose interface), and level (higher/lower).\r\n- Relationships: Closely related to encapsulation, information hiding, modularity, generalization, modeling, and decomposition.\r\n- Perspectives: Meaning shifts across disciplines (cognition, CS/software, math, systems engineering). Category placement depends on the perspective.\r\n\r\nCategorization\r\n\r\n1) As a member (parents it belongs to)\r\n- Cognitive science/psychology: cognitive process; concept formation; generalization mechanism\r\n- Computer science (theory): foundational CS concept; representation/modeling principle\r\n- Software engineering: design principle; architecture principle; modularity principle\r\n- Systems thinking: complexity-management strategy; black-boxing/level-of-detail strategy\r\n- Mathematics/philosophy of science: idealization/abstraction process; modeling method\r\n\r\n2) As a category (subcategories/kinds of abstraction)\r\n- Data and type abstraction: abstract data types (ADTs), interfaces, modules, algebraic data types, type classes, traits\r\n- Procedural/control abstraction: procedures/functions, higher-order functions, iterators, control structures, coroutines\r\n- Interface/service abstraction: APIs, microservice contracts, RPC/REST/GraphQL interfaces\r\n- Resource abstraction: files vs. disks, virtual memory, processes/threads, VMs/containers, cloud services\r\n- Architectural abstraction: layers (UI/domain/infrastructure), hexagonal/ports-and-adapters, SOA, clean architecture boundaries\r\n- Model/representation abstraction: maps and models, UML/ER diagrams, schemas, logical vs. physical data models, level-of-detail models\r\n- Policy/mechanism abstraction: separating policy (what) from mechanism (how)\r\n- Temporal/behavioral abstraction: state machines, protocols, transactions, idempotency contracts\r\n- Security/privacy abstraction: capability models, access-control interfaces, differential privacy abstractions\r\n\r\n3) Siblings (other members under common parents)\r\n- Under cognitive process: categorization, chunking, attention, idealization, simplification\r\n- Under CS foundational ideas: algorithms, decomposition, representation, automation, modeling\r\n- Under software engineering principles: modularity, encapsulation, information hiding, separation of concerns, cohesion/coupling management, interface segregation, layering\r\n\r\nNotes on closely related distinctions\r\n- Encapsulation vs. abstraction: Encapsulation hides internal state/structure; abstraction hides unnecessary detail by exposing an interface that matches intent. They often co-occur but are distinct.\r\n- Information hiding: A design principle that implements abstraction; sometimes treated as a subcategory or mechanism depending on perspective.\r\n\r\nVerdict\r\n- Abstraction is both:\r\n - A member of multiple higher-level categories (e.g., cognitive process; software engineering principle).\r\n - A category that contains many concrete forms (data/type, control/procedural, interface/service, resource, architectural, modeling, etc.).\r\nCategory membership and sibling sets vary by perspective (cognition, CS theory, software engineering, systems).\r\n\r\n\r\n---\r\n\r\n## 2025-09-03 13:20:28\r\n\r\nGenus–differentia (what it is, by kind and distinguishing features)\r\n- As a cognitive/process concept\r\n - Genus: Mental representational process.\r\n - Differentia: Selectively retains features invariant or salient for a purpose while omitting particulars, enabling reasoning at an appropriate level of detail.\r\n\r\n- As an engineering/design principle (computing)\r\n - Genus: Software/system design principle.\r\n - Differentia: Specifies behavior via a stable interface or contract while hiding implementation details, so components interact through the specification rather than internal steps—controlling complexity, enabling reuse, and easing change.\r\n\r\nIs it a category, a member, or both?\r\n- Both.\r\n - Category: “Abstraction” as a type of process/principle and family of techniques (e.g., data abstraction, control abstraction).\r\n - Members: Particular abstractions (e.g., a specific API, a class interface, a virtualization layer, a map of Paris) are instances of that category.\r\n\r\nTaxonomic placement and relations\r\n\r\nParents (supercategories)\r\n- Cognitive/philosophical\r\n - Mental operation\r\n - Representational process\r\n - Concept-formation method\r\n - Idealization/modeling method\r\n- Computing/engineering\r\n - Software engineering principle\r\n - Programming language and type-system concept\r\n - Systems/architectural design principle\r\n - Complexity management technique\r\n\r\nSiblings (coordinated categories at the same level)\r\n- Cognitive/philosophical\r\n - Generalization\r\n - Categorization\r\n - Idealization\r\n - Analogy\r\n - Modeling/simplification\r\n- Computing/engineering\r\n - Encapsulation\r\n - Information hiding\r\n - Modularity\r\n - Decomposition/composition\r\n - Parameterization/generics\r\n - Polymorphism\r\n - Layering\r\n - Virtualization\r\n - Separation of concerns\r\n - Contracts/specifications\r\n\r\nSubcategories (not exhaustive; many overlap)\r\n- Cognitive/mathematical\r\n - Feature abstraction (focusing on salient attributes)\r\n - Structural abstraction (capturing relational form)\r\n - Mathematical abstraction (sets, functions, algebraic structures)\r\n - Levels of abstraction (coarse vs fine-grained modeling)\r\n- Computing/software\r\n - Data abstraction (abstract data types; representation independence)\r\n - Type abstraction (interfaces, abstract classes, module signatures)\r\n - Control abstraction (procedures, higher-order functions, iterators)\r\n - Interface/API abstraction (service contracts, REST/GRPC interfaces)\r\n - Module/class abstraction (object/class interfaces, modules/packages)\r\n - Resource abstraction (files, sockets, threads, transactions)\r\n - Hardware/OS abstraction (HALs, virtual memory, syscalls)\r\n - Virtualization/containerization (VMs, containers as resource abstractions)\r\n - Architectural abstraction (layers, services, microservices boundaries)\r\n - Declarative abstraction (SQL, regex, query languages hiding execution)\r\n - Pattern-based abstractions (Facade, Adapter, Strategy)\r\n - Abstraction barriers (well-defined layers that prevent leaking implementation)\r\n\r\nNotes\r\n- Individual examples like “calling a function without seeing its code,” “using a map,” or “accessing a service through an API” are members (instances) of the Abstraction category.\r\n- Some siblings are closely related: e.g., encapsulation and information hiding often co-occur with abstraction but are distinct emphases (mechanism vs interface focus).\r\n", + metadata: { + sourceFile: "definitions/abstraction/categories-1.md", + compiledAt: "2026-02-23T00:32:17.315Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/dsrp-1.md': { + module: "# Abstraction - Cabrera Dialectic 2\r\n\r\nGenerated on 2025-09-03 12:54:49\r\n\r\nClarify the idea\r\n- What it is vs. what it isn’t:\r\n - Is: focusing on essentials; hiding incidental detail behind a stable interface.\r\n - Isn’t: ignoring reality; it’s selective representation with a purpose.\r\n- Boundary decisions:\r\n - Interface (public contract) vs. implementation (hidden mechanism).\r\n - Essential features vs. accidental complexity.\r\n - General concepts (e.g., “List”) vs. concrete instances (e.g., “array of 10 ints”).\r\n- Signals vs. noise:\r\n - Keep: name, purpose, inputs/outputs, invariants.\r\n - Hide: data layout, control flow, optimizations.\r\n\r\nOrganize it\r\n- Parts of an abstraction:\r\n - Interface: names, types, pre/postconditions, error model.\r\n - Contract: what must hold (invariants), performance envelope, security posture.\r\n - Semantics: meaning of operations independent of implementation.\r\n - Evidence: tests/specs/docs/examples.\r\n- Wholes and nesting:\r\n - Layers: hardware → OS → runtime → libraries → app → UI.\r\n - Common forms: data type, class, module, service, API, DSL, map/diagram.\r\n - Levels of granularity: function → module → subsystem → architecture.\r\n- Exemplars:\r\n - Map vs. city; function call vs. source code; data type/class vs. raw memory; API vs. service internals.\r\n\r\nMap interactions\r\n- Causes and effects:\r\n - Hiding detail reduces cognitive load → easier to reason/change.\r\n - Clear interfaces reduce coupling → safer refactors.\r\n - Stable contracts enable reuse and substitution.\r\n- Constraints and enablers:\r\n - Types/specs constrain behavior → enable composition.\r\n - Versioning and compatibility rules stabilize interfaces across change.\r\n- Trade-offs:\r\n - Too little hiding → tight coupling, fragile code.\r\n - Too much/poor fit → “leaky” abstractions, extra indirection, performance cost.\r\n - Wrong level → either oversimplifies (missing needed detail) or overcomplicates (unnecessary knobs).\r\n- Feedback loops:\r\n - Usage reveals mismatches → refine interface or add affordances.\r\n - Performance anomalies surface leaks → rework boundary or implementation.\r\n - Evolving domain → retire or generalize abstractions.\r\n- Dependencies:\r\n - Clients depend on contract, not internals; tests/types enforce this.\r\n - Observability (logs/metrics) provides a controlled “window” without breaking hiding.\r\n\r\nShift viewpoints\r\n- By role:\r\n - User/client: cares about contract, reliability, docs, examples.\r\n - Implementer: cares about invariants, algorithms, data layout.\r\n - Maintainer/ops: cares about observability, versioning, rollout safety.\r\n - Security: cares about least privilege, input contracts, side-channel exposure.\r\n- By time horizon:\r\n - Short-term: speed of development, ease of use.\r\n - Long-term: evolvability, API stability, backward compatibility.\r\n- By scale:\r\n - Micro (function signature) vs. macro (service boundary) changes what’s “essential.”\r\n- By context:\r\n - Debugging or performance tuning may temporarily pierce the abstraction (with tooling) without rewriting clients.\r\n - Teaching/learning may choose a simpler abstraction first, then refine.\r\n\r\nPractical moves\r\n- Choose the level: What question must this representation answer? Anything not serving that is hidden.\r\n- State the contract: Names, types, pre/postconditions, error cases, complexity guarantees.\r\n- Prove it: Examples, property tests, types/specs, CI checks.\r\n- Decouple deliberately: Depend on interfaces; invert dependencies where helpful.\r\n- Watch for smells:\r\n - Repeated cross-layer knowledge, brittle tests tied to internals, frequent “just this one” backdoors, “primitive obsession,” excessive parameter lists.\r\n- Evolve safely:\r\n - Additive changes preferred; deprecate with shims; semantic versioning; compatibility tests.\r\n- Know when not to abstract:\r\n - One-off code, volatile domains, critical hot paths where overhead outweighs clarity, situations demanding full-fidelity control.\r\n", + metadata: { + sourceFile: "definitions/abstraction/dsrp-1.md", + compiledAt: "2026-02-23T00:32:17.315Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/dsrp-questions.md': { + module: "# Abstraction - Dsrp Questions\r\n\r\n## Is it a System?\r\n- Yes, Abstraction can be thought of as a system. It has interacting parts (e.g., intent, interface, hidden detail, invariants) that together produce a capability: representing and manipulating complexity at an appropriate level.\r\n- Classification:\r\n - A system: it comprises components and processes that collectively “lift” or “hide” detail.\r\n - A part of a system: it functions as a component within larger practices (e.g., software architecture, scientific modeling).\r\n - A relationship between systems: it mediates interactions (e.g., via APIs) and maps between levels (e.g., model ↔ phenomenon).\r\n - A boundary between systems: it creates interfaces and demarcates implementation from usage.\r\n - A cognitive tool for understanding systems: it structures thought by foregrounding essentials and backgrounding details.\r\n - Something else related to systems: a design discipline and a representational mapping (model-to-world, interface-to-implementation).\r\n\r\n## Distinctions\r\n- What Abstraction is (as a system):\r\n - A disciplined focus on essential features while hiding unnecessary details.\r\n - A representational mapping that preserves relevant structure for a purpose (task-, role-, or domain-specific).\r\n - An interface-plus-contract that enables safe composition and reuse.\r\n - A level-of-description in a hierarchy, supporting “working at the right level.”\r\n - A complexity-management technique that stabilizes change by decoupling users from internal steps.\r\n - In computing: functions, data types, classes, modules, services/APIs; in science: models and idealizations; in math: structures defined by axioms; in design: affordances that hide mechanism.\r\n\r\n- What Abstraction is not (outside its boundary):\r\n - Raw, uninterpreted detail or implementation minutiae irrelevant to the current purpose.\r\n - Mere omission or vagueness without preserved structure or contract.\r\n - A guarantee of performance or correctness beyond its stated invariants (abstractions can leak or be misapplied).\r\n - The concrete phenomenon itself; it’s a model or interface to it.\r\n - Arbitrary simplification without validation or alignment to use-cases.\r\n\r\n## Systems\r\n- Parts of Abstraction (internal composition):\r\n - Intent and scope: what is considered essential, for whom, and for what tasks.\r\n - Interface: the visible surface (operations, types, protocols).\r\n - Hidden mechanism: implementation details deliberately concealed.\r\n - Invariants/contract: guarantees and obligations (pre/postconditions, error modes).\r\n - Level and mapping: the abstraction layer and how it relates to lower/higher layers (refinement/realization).\r\n - Composition mechanisms: ways abstractions combine (parameterization, genericity, polymorphism).\r\n - Cost model: performance, space, latency, cognitive load; where leaks may occur.\r\n - Validation and tests: how the contract is enforced.\r\n\r\n- Abstraction as a part of larger systems:\r\n - Software systems: architectures, modules, service boundaries, frameworks.\r\n - Scientific inquiry: modeling, idealization, dimensional reduction.\r\n - Data and information systems: schemas, views, ETL pipelines.\r\n - Human–computer interaction: UI affordances masking workflows.\r\n - Mathematics and logic: axiomatization, type systems.\r\n - Organizational design: roles and procedures as abstractions over people’s work.\r\n - Education: curricular scaffolds that stage complexity.\r\n\r\n## Relationships\r\n- Related systems and concepts:\r\n - Encapsulation and information hiding: mechanisms for implementing abstraction.\r\n - Modularity and composition: how abstractions assemble into larger wholes.\r\n - Generalization/specialization: moving up/down abstraction hierarchies.\r\n - Interfaces/APIs/protocols: primary carriers of abstraction boundaries.\r\n - Refinement/concretization: implementing or detailing an abstraction.\r\n - Polymorphism/parametricity: reusability across types or contexts.\r\n - Idealization/approximation: scientific and engineering counterparts.\r\n - Verification/testing: ensuring contracts hold despite hidden details.\r\n - Performance engineering: managing cost and leak risks.\r\n - Security: least privilege, attack-surface reduction via strict interfaces.\r\n\r\n- Abstraction as a relationship:\r\n - Mapping relation: A abstracts B if there exists a purpose-preserving map f: B → A that forgets certain details while preserving task-relevant structure.\r\n - Interface relation: Users interact with implementation through a stable interface; dependencies flow to the interface, not internals.\r\n - Hierarchical relation: Layer L+1 depends on guarantees of L; L refines L+1’s operations into concrete steps.\r\n\r\n- Tradeoffs (relationship dynamics):\r\n - Under-abstraction: users confront accidental complexity.\r\n - Over-abstraction: loss of signal, indirection costs, brittleness.\r\n - Mismatch: abstraction’s essential set doesn’t fit the task, causing leaks.\r\n - Temporal drift: stable interfaces vs evolving domains; versioning and compatibility.\r\n\r\n## Perspectives\r\n- From the perspective of Abstraction as a system:\r\n - What are my invariants and who are my users?\r\n - Which details are essential vs accidental for current purposes?\r\n - Where can I leak, and how costly are those leaks?\r\n - How do I compose with other abstractions safely?\r\n - What refinement paths implement me, and how do I validate them?\r\n - What is my cost model and how visible is it to users?\r\n - How will I evolve without breaking dependents (versioning, deprecation)?\r\n\r\n- Perspectives of other systems on Abstraction:\r\n - User/developer: Does the interface match mental models and tasks? Is it learnable?\r\n - Implementer/maintainer: Can internals change safely behind the boundary?\r\n - Architect: Does it reduce coupling and enable composability at scale?\r\n - Performance engineer: Does it obscure critical costs or enable optimization hooks?\r\n - Security analyst: Does it minimize attack surface and enforce least privilege?\r\n - Scientist/modeler: Does the model preserve phenomena relevant to inquiry?\r\n - Educator/learner: Does it scaffold complexity appropriately across levels?\r\n - Product/UX: Does it hide complexity without hiding necessary control?\r\n - Compliance/audit: Are guarantees explicit and testable?\r\n\r\nNot applicable:\r\n- If treated purely as a relationship (mapping or interface), some “internal parts” questions are not relevant; the focus shifts to properties of the mapping (faithfulness, completeness, composability) rather than to components.\r\n", + metadata: { + sourceFile: "definitions/abstraction/dsrp-questions.md", + compiledAt: "2026-02-23T00:32:17.316Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/exam-questions.md': { + module: "# Abstraction - Exam Questions\r\n\r\nGenerated on 2025-09-03 11:06:25\r\n\r\nHere are 3 multiple-choice exam questions on abstraction:\r\n\r\n1) Which option best illustrates abstraction in computing?\r\nA. Manually managing memory addresses for every variable\r\nB. Calling a function by its name and parameters without reading its source code\r\nC. Stepping through every line of an algorithm each time you use it\r\nD. Embedding database query strings directly in UI code\r\nCorrect answer: B\r\n\r\n2) Which is NOT a primary benefit of abstraction?\r\nA. Managing complexity by focusing on essentials\r\nB. Enabling reuse through well-defined components\r\nC. Making it safe to change internals behind stable interfaces\r\nD. Eliminating the need for testing\r\nCorrect answer: D\r\n\r\n3) A team replaces the internal implementation of a payment module without changing its public API. Client systems continue to work without modification. What principle does this demonstrate?\r\nA. Tight coupling via shared internal state\r\nB. Optimization through lower-level access\r\nC. Abstraction via clear interfaces hiding internal details\r\nD. Concurrency through parallel execution\r\nCorrect answer: C\r\n", + metadata: { + sourceFile: "definitions/abstraction/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.316Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/expanded-definition.md': { + module: "# Abstraction - Expanded Definition\r\n\r\nAbstraction (noun)\r\n\r\nPronunciation: /æbˈstrækʃən/\r\n\r\nInflections: plural abstractions\r\n\r\nCore definition: The action or process of separating, drawing out, or generalizing from particulars; the result of such an act (a concept, quality, or representation removed from concrete specifics).\r\n\r\nSenses\r\n1) The act of abstracting; mental removal or separation.\r\n - The action of considering something independently of its associations, attributes, or concrete instances; a generalization.\r\n - Example: By careful abstraction, the researcher identified the principle common to all the cases.\r\n\r\n2) A state or quality of being abstract; abstractedness.\r\n - Example: The argument’s abstraction made it hard for newcomers to follow.\r\n\r\n3) A general idea or concept formed by mental separation from particulars; an abstract.\r\n - Example: Justice is an abstraction that guides the court’s deliberations.\r\n\r\n4) The act of taking away; removal, withdrawal, or theft (now chiefly formal).\r\n - Example: The unauthorized abstraction of funds triggered an audit.\r\n\r\n5) Distraction or absorption of the mind; absent-mindedness (now somewhat archaic).\r\n - Example: He sat in abstraction, unaware of the bustle around him.\r\n\r\n6) Art. The process or result of reducing representation to essential forms, often dispensing with realistic depiction; abstract art or an abstract work.\r\n - Example: The exhibition traces the rise of geometric abstraction in the 20th century.\r\n\r\n7) Mathematics and logic. The formation of structures by identifying and retaining only essential properties and relations, disregarding specific instances.\r\n - Example: Group theory arises from the abstraction of symmetry operations.\r\n\r\n8) Computing and information systems. A design principle: focusing on essential features while concealing unnecessary implementation details, so components can be understood and used via well-defined interfaces.\r\n - Typical benefits: managing complexity, enabling reuse, and allowing safe change because dependencies run through interfaces rather than internal steps.\r\n - Example: Developers use an abstraction layer to call a database without knowing its storage engine.\r\n\r\n9) Chemistry and physics. The removal of a component (e.g., proton abstraction); extraction.\r\n - Example: Base-catalyzed proton abstraction initiates the reaction.\r\n\r\nHistorical development (brief)\r\n- Medieval philosophy: From Latin abstractio, the intellect’s operation of drawing universals from particulars (Aristotelian and Scholastic traditions).\r\n- Early modern usage: Broadened to mental withdrawal and to removal in general (including legal/financial “abstraction” = taking away).\r\n- 19th–20th centuries: Strong emergence in aesthetics (non-figurative art); solidification in mathematics and logic as method and product of generalization.\r\n- Mid–late 20th century to present: Central in computing and systems engineering as a foundational design strategy (data abstraction, procedural abstraction, object abstraction, APIs, virtualization, layers, models).\r\n\r\nStakeholder/contextual uses\r\n- Philosophers: The operation by which universals are formed; debates over realism vs nominalism.\r\n- Logicians/mathematicians: Method for defining structures by axioms; moving from concrete instances to formal systems.\r\n- Artists/critics: Degree of non-representational form; movements such as Abstract Expressionism, geometric abstraction.\r\n- Psychologists/cognitive scientists: Cognitive ability to generalize across instances; levels of representation; abstraction in concept learning.\r\n- Chemists/physicists: Specific removal processes (e.g., hydrogen abstraction).\r\n- Software engineers/architects: Interfaces, layers, modules; encapsulation; API design; modeling; abstraction barriers.\r\n- Product managers/UX designers: Simplifying user interaction by hiding complexity; conceptual models; progressive disclosure.\r\n- Data scientists/ML engineers: Feature abstraction, embeddings, model interfaces, schema design; abstraction for reproducibility.\r\n- Legal/financial professionals: Formal term for unauthorized removal of assets; “abstraction” as misappropriation.\r\n\r\nExtended examples by sense\r\n1) Mental separation: Through abstraction, she set aside the anecdotes and focused on the underlying mechanism.\r\n2) Abstractedness: The report’s level of abstraction makes it portable across teams.\r\n3) Abstract (concept): Freedom is an abstraction that resists precise definition.\r\n4) Removal/theft: The investigation uncovered the systematic abstraction of client funds.\r\n5) Absorption of mind: Lost in abstraction, he missed his stop.\r\n6) Art: Her late work moves toward bold color fields and near-total abstraction.\r\n7) Math/logic: Category theory is a further abstraction of structures and mappings found across mathematics.\r\n8) Computing: - Calling a function is an act of procedural abstraction; the caller need not see the code.\r\n - A class provides data abstraction by exposing behavior while hiding representation.\r\n - An API abstracts a service so clients depend on a contract, not internals.\r\n9) Chemistry/physics: Radical abstraction of a hydrogen atom propagates the chain reaction.\r\n\r\nNotes on usage and nuance\r\n- Count vs mass: “an abstraction” (a specific concept or model) vs “abstraction” (the process/degree). \r\n- Level of abstraction: often used comparatively to indicate granularity (higher-level vs lower-level views).\r\n- Collocations: degree/level of abstraction; abstraction layer; data/procedural/object abstraction; pure abstraction; geometric abstraction; abstraction from particulars; abstraction of funds.\r\n", + metadata: { + sourceFile: "definitions/abstraction/expanded-definition.md", + compiledAt: "2026-02-23T00:32:17.317Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/related-concept-sentences.md': { + module: "# Abstraction - Related Concept Sentences\r\n\r\n- Programming: Abstraction is a core principle in programming that manages complexity by breaking systems into modules with clear interfaces, enabling encapsulation, reuse, and independent evolution of parts.\r\n\r\n- Function: A function is an abstraction of a computation; its signature defines the contract you use, while the implementation details are hidden.\r\n\r\n- Data Type: A data type (and especially an abstract data type) abstracts the representation of values and the operations allowed on them, so code relies on behavior, not on low-level memory layout.\r\n\r\n- API (Application Programming Interface): An API is an abstraction layer over a service or component, exposing a stable contract so clients can use capabilities without knowing internal logic or infrastructure.\r\n\r\n- Operating System (OS): An OS provides powerful abstractions over hardware—such as processes, files, and virtual memory—and exposes them through system-call interfaces.\r\n\r\n- System Software: System software both provides and consumes abstractions, mediating between raw hardware details and higher-level application needs (e.g., loaders, compilers, runtime environments).\r\n\r\n- Device Driver: A device driver abstracts the specifics of a hardware device behind a uniform interface for the OS, so applications can use devices without handling vendor-specific details.\r\n\r\n- Database: A database abstracts data storage, indexing, and concurrency, letting you interact through data models and query languages (e.g., SQL) without managing on-disk structures.\r\n\r\n- Cloud Computing: Cloud computing abstracts underlying infrastructure into service models (IaaS, PaaS, SaaS), letting users provision and scale resources via APIs without managing physical hardware.\r\n\r\n- Computational Thinking: Abstraction is a pillar of computational thinking, enabling problem decomposition, model formation, and reasoning at appropriate levels while suppressing irrelevant detail.\r\n", + metadata: { + sourceFile: "definitions/abstraction/related-concept-sentences.md", + compiledAt: "2026-02-23T00:32:17.318Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction/related-concepts.md': { + module: "# Abstraction - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- API (Application Programming Interface) [Web Development]\r\n- Operating System (OS) [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Database [Web Development]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Computational Thinking [Computational Thinking]\r\n", + metadata: { + sourceFile: "definitions/abstraction/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.318Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/abstraction.md': { + module: "# Abstraction\r\n\r\nFocusing on essential features while ignoring unnecessary details\r\n\r\n## Definition\r\nAbstraction is the idea of focusing on the essential features of something while hiding unnecessary details, so you can think and work at the right level. In computing it helps manage complexity, enable reuse, and make changes safely because parts interact through clear interfaces instead of depending on internal steps. Examples include using a map instead of the whole city, calling a function without seeing its code, working with a data type or class instead of raw memory, or accessing a service through an API.\r\n", + metadata: { + sourceFile: "definitions/abstraction.md", + compiledAt: "2026-02-23T00:32:17.319Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/categories-1.md': { + module: "# Algorithm - Categories 1\r\n\r\nGenerated on 2025-09-03 13:18:19\r\n\r\nShort answer: Algorithm is both a category and a member. As a concept, “Algorithm” is a category that contains many specific algorithms; any particular algorithm (e.g., Quicksort) is a member of that category.\r\n\r\nDSRP categorization view\r\n\r\n- Category: “Algorithm” (the general concept: a clear, finite, step-by-step procedure that maps inputs to outputs via unambiguous rules).\r\n- Members (examples): Euclid’s algorithm, Quicksort, Mergesort, Dijkstra’s algorithm, BFS/DFS, A*, PageRank, RSA key generation, Gradient Descent, K-Means, FFT.\r\n\r\nParent categories (context-dependent)\r\n- Procedure/Method/Process (general)\r\n- Computational procedure (computer science)\r\n- Problem-solving method (applied math/CS)\r\n- Formal specification/recipe for computation (theoretical CS)\r\n- Information-processing method (information science)\r\n\r\nSibling categories (under different plausible parents)\r\n- Under “Computational procedure”: heuristic (may sacrifice correctness/guarantees), protocol (interaction procedure among agents), workflow, recipe (everyday analogue).\r\n- Under “Computing constructs”: data structure, program (implementation of an algorithm), specification, model.\r\n- Under “Problem-solving method”: strategy, rule, policy, optimization method.\r\n\r\nSubcategories of Algorithm (non-exhaustive)\r\n- By determinism: deterministic, randomized, nondeterministic (theoretical model).\r\n- By guarantee: exact, approximate.\r\n- By interaction/timing: offline, online, streaming.\r\n- By computational model: sequential, parallel, distributed, concurrent; external-memory/I-O efficient.\r\n- By design technique: divide-and-conquer, dynamic programming, greedy, backtracking, branch-and-bound, local search.\r\n- By domain/task: sorting, searching, selection, graph algorithms, string algorithms, cryptographic algorithms, numerical linear algebra, optimization, machine learning training/inference, compression.\r\n- By complexity/resource profile: sublinear, linear-time, n log n, polynomial-time, exponential-time; space-bounded classes.\r\n- By access/assumption: comparison-based, hashing-based, cache-aware/oblivious.\r\n\r\nPerspective note\r\n- As a type (category): “Algorithm” organizes and defines what counts as an algorithm.\r\n- As a token (member): any named procedure (e.g., Dijkstra’s algorithm) is a member of that category.\r\n\r\n\r\n---\r\n\r\n## 2025-09-03 13:20:50\r\n\r\nGenus–differentia (definition)\r\n- Genus: procedure (a prescribed sequence of actions for transforming inputs into outputs)\r\n- Differentia: finite and effectively computable sequence of unambiguous steps that, for any valid input, specifies how to produce the corresponding output independent of any particular programming language or machine representation; may include controlled randomness but is fully specified.\r\n\r\nTaxonomic status\r\n- Algorithm is both:\r\n - a member of broader categories (e.g., procedure, computational method)\r\n - a category containing instances (e.g., Quicksort, Dijkstra’s algorithm, Euclid’s GCD)\r\n\r\nImmediate parent categories (from general to more specific)\r\n- Procedure / method (general problem-solving or operational procedures)\r\n- Formal/effective procedure (precisely specified, executable by a mechanical agent)\r\n- Computational method (procedures intended for computation)\r\n- Mathematical/computational artifact (abstract objects used in computation)\r\n\r\nRepresentative siblings (sharing a parent such as “procedure/method”)\r\n- Heuristic (procedure not guaranteed to be correct/optimal; may trade rigor for speed)\r\n- Protocol (prescribed interaction procedure among agents or systems)\r\n- Recipe/workflow (procedural instructions, often informal or domain-specific)\r\n- Policy/rule set (prescriptive decision procedure, may lack finiteness or completeness)\r\n- Data processing pipeline (procedural composition; often not specified at algorithmic level)\r\n\r\nSubcategories of algorithm (non-exhaustive)\r\n- By determinism/randomness:\r\n - Deterministic algorithms\r\n - Randomized algorithms (Las Vegas, Monte Carlo)\r\n- By optimality/guarantees:\r\n - Exact algorithms\r\n - Approximation algorithms\r\n - Heuristics-as-algorithms (well-specified but not guaranteed optimal)\r\n- By control strategy/paradigm:\r\n - Divide-and-conquer\r\n - Greedy\r\n - Dynamic programming\r\n - Backtracking/branch-and-bound\r\n - Recursive vs. iterative\r\n - Parallel and distributed algorithms\r\n - Online vs. offline algorithms\r\n - Streaming/sublinear-time algorithms\r\n- By domain/problem class:\r\n - Sorting and searching algorithms (e.g., Quicksort, binary search)\r\n - Graph algorithms (e.g., Dijkstra, BFS/DFS, Kruskal)\r\n - Numerical algorithms (e.g., Newton–Raphson, Gaussian elimination)\r\n - Cryptographic algorithms (e.g., AES, RSA; also protocols built atop algorithms)\r\n - String/text algorithms (e.g., KMP, Boyer–Moore)\r\n - Optimization algorithms (e.g., simplex, gradient descent)\r\n - Machine learning algorithms (e.g., k-means, decision tree training)\r\n - Computational geometry, combinatorial, and randomized algorithms\r\n\r\nNotes/contrasts\r\n- Program vs. algorithm: a program is a concrete implementation; an algorithm is the abstract plan the code realizes.\r\n- Not every procedure is an algorithm: informal, ambiguous, or non-terminating procedures fall outside the category.\r\n- Desiderata (not definitional): correctness, termination, and efficiency; practical design balances time, space, and simplicity.\r\n", + metadata: { + sourceFile: "definitions/algorithm/categories-1.md", + compiledAt: "2026-02-23T00:32:17.319Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/dsrp-1.md': { + module: "# Algorithm - Cabrera Dialectic 2\r\n\r\nGenerated on 2025-09-03 12:55:16\r\n\r\nWhat it is vs. what it isn’t\r\n- An algorithm: a finite, unambiguous sequence of steps that transforms inputs into outputs.\r\n- Not the same as code: code is a language-specific implementation of the abstract steps.\r\n- Not a heuristic if steps are vague or may not yield the right answer; heuristics trade certainty for speed or simplicity.\r\n- Not a data structure, though it often uses them; data structures store/organize data, algorithms operate on it.\r\n- Randomized algorithms still qualify: the steps are unambiguous even if they include well-defined randomness.\r\n\r\nBoundary questions to clarify scope\r\n- Where does it start? At receipt/validation of input.\r\n- Where does it end? Upon producing output and halting (termination condition).\r\n- What assumptions must hold? Preconditions on inputs, resources, and environment.\r\n- What guarantees are promised? Postconditions: correctness, performance bounds, resource usage.\r\n\r\nElements and organization (parts within the whole)\r\n- Inputs: type, format, constraints.\r\n- Steps: sequence, branching (if/else), iteration/recursion, data access patterns.\r\n- State: variables, temporary storage, invariants that must remain true.\r\n- Decision logic: comparisons, thresholds, tie-breaking rules.\r\n- Termination condition: ensures finiteness.\r\n- Outputs: type, format, correctness criteria.\r\n- Analysis artifacts: correctness argument, complexity (time/space), edge cases, test suite.\r\n\r\nHow the pieces nest\r\n- A complex algorithm is composed of subroutines (e.g., partition inside quicksort; relax inside Dijkstra).\r\n- The algorithm sits inside a program that handles I/O, errors, and user interaction.\r\n- Data structures enable operations (e.g., heaps for priority queues) that shape performance.\r\n- In products, multiple algorithms chain together (e.g., parsing input → core computation → formatting output).\r\n\r\nCore flows and mappings\r\n- Input → validate → transform/normalize → core procedure → produce output → verify conditions.\r\n- Preconditions → steps preserve invariants → termination → postconditions.\r\n- Data complexity → operation count → runtime → energy/memory usage.\r\n\r\nTrade-offs and tensions to reason about\r\n- Time vs. space: faster often uses more memory (e.g., memoization).\r\n- Worst-case vs. average-case behavior.\r\n- Simplicity/readability vs. raw speed.\r\n- Exactness vs. efficiency (approximation algorithms).\r\n- Generality vs. specialization to specific data distributions.\r\n- Determinism vs. randomized performance guarantees.\r\n\r\nMultiple lenses to interrogate the same algorithm\r\n- User: Does it give the right answer quickly enough on my device?\r\n- Developer: Is it implementable, testable, maintainable? Clear invariants? Good failure modes?\r\n- Mathematician: Can we prove termination and correctness? What are tight bounds?\r\n- Systems engineer: How does it behave under memory/CPU constraints, cache, or parallelism?\r\n- Ethicist/sociotechnical analyst: When the algorithm is part of decision systems (e.g., routing, ranking), what are the implications for fairness, transparency, and accountability?\r\n\r\nQuality checks and probes\r\n- Termination: Identify and justify the decreasing measure (e.g., input size shrinks).\r\n- Correctness: State and prove invariants; use induction for recursive forms; test representative and adversarial cases.\r\n- Complexity: Derive Big-O; profile real data; consider constant factors and cache behavior.\r\n- Robustness: Validate inputs, handle edge conditions, define behavior on invalid inputs.\r\n- Stability and idempotence where relevant (e.g., stable sorting, repeatable results).\r\n\r\nEveryday anchors and their anatomy\r\n- Unlocking a phone: input (passcode) → stepwise digit comparison → accept/reject → lockout after N failures (termination and security policy).\r\n- Sorting contacts: choose a comparison rule → apply sorting procedure → guarantee order and stability (names with same last name).\r\n- Map shortest route: model as a graph → apply path-finding (e.g., Dijkstra/A*) → output route; trade speed vs. optimality depending on heuristics and traffic updates.\r\n\r\nQuestions that sharpen thinking and design\r\n- What exact problem class is this solving? What are valid inputs?\r\n- What invariant, if maintained, forces correctness at the end?\r\n- What’s the clearest termination argument?\r\n- Which data structure choice best matches the operation frequency?\r\n- What’s the acceptable performance envelope (time, space, energy) on target platforms?\r\n- What are the simplest changes that break it? How will it fail safely?\r\n- Can we substitute a simpler algorithm with comparable results for typical cases?\r\n\r\nMental pocket model\r\n- Define the contract (pre/postconditions).\r\n- Choose representations (data structures).\r\n- Specify a finite, unambiguous step sequence that maintains invariants.\r\n- Prove or test for termination and correctness.\r\n- Measure and tune for the real constraints you actually face.\r\n", + metadata: { + sourceFile: "definitions/algorithm/dsrp-1.md", + compiledAt: "2026-02-23T00:32:17.320Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/dsrp-questions.md': { + module: "# Algorithm - Dsrp Questions\r\n\r\n## Is it a System?\r\n\r\n- Yes, an Algorithm can be thought of as a system. It has inputs, internal structure (ordered steps, control flow, invariants), and outputs, governed by rules and constraints (termination, correctness, efficiency). It also has an interface (preconditions and postconditions) that defines its boundary with its environment.\r\n- Classification:\r\n - A system (abstract computational process with internal structure).\r\n - A part of a system (e.g., a module in software, a step in a workflow, a subroutine in a larger algorithm).\r\n - A relationship between systems (maps problem instances to solutions; mediates between a specification and an implementation; links data structures to operations).\r\n - A boundary between systems (its interface and contracts separate caller from callee).\r\n - A cognitive tool for understanding systems (proceduralizing thought; making problem-solving explicit and analyzable).\r\n\r\n## Distinctions\r\n\r\n- What is Algorithm (as a system):\r\n - A finite, well-defined procedure mapping inputs to outputs according to explicit rules.\r\n - Characterized by:\r\n - Preconditions and input domain.\r\n - Determinate steps (which may be deterministic or randomized but are specified).\r\n - Control structures (sequence, selection, iteration/recursion).\r\n - Correctness criteria (partial/total correctness).\r\n - Termination guarantees (or specified conditions for non-termination in online/streaming variants).\r\n - Resource model and complexity (time, space, I/O, energy).\r\n - Output specification and postconditions.\r\n - Proof/artifacts: invariants, loop variants, correctness proofs, complexity analyses.\r\n- What is not Algorithm (outside the system boundary):\r\n - Data and file formats (inputs/outputs, not the procedure).\r\n - A program’s syntax or a specific language implementation (that’s an encoding of an algorithm, not the abstract procedure itself).\r\n - Hardware/OS/runtime environment (substrates that execute but are not the algorithm).\r\n - Vague strategies or heuristics without unambiguous steps (e.g., “try to make it faster”).\r\n - Policies or goals without procedures (e.g., “minimize waiting time”).\r\n - A trained machine learning model (a function learned by an algorithm; the training and inference procedures are algorithms, the learned parameters are data).\r\n - Non-terminating processes without explicit specifications (unless termination criteria or fairness assumptions are part of the definition).\r\n\r\n## Systems\r\n\r\n- Does Algorithm have parts?\r\n - Conceptual parts:\r\n - Problem specification (input domain, desired output, constraints).\r\n - Interface/contract (preconditions, postconditions).\r\n - Step set and control flow (operations, order, recursion/iteration, base cases).\r\n - State model (variables, data abstractions, invariants).\r\n - Subroutines/components (e.g., partition in Quicksort).\r\n - Correctness artifacts (loop invariants, variants, proofs).\r\n - Cost model and complexity bounds (worst/average/amortized/probabilistic).\r\n - Error/approximation model (if randomized/approximate).\r\n - Practical parts:\r\n - Data structure assumptions.\r\n - Randomness source (for randomized algorithms).\r\n - Resource budgets and timeouts.\r\n - API surface (parameters, error codes).\r\n- Can Algorithm be a part?\r\n - Yes:\r\n - As a module in software systems, ETL pipelines, compilers, cryptographic protocols.\r\n - As a step within a meta-algorithm (e.g., local search inside simulated annealing).\r\n - As a method within a larger scientific or decision workflow.\r\n - As a rule within institutional/socio-technical systems (e.g., scheduling rule in operations).\r\n\r\n## Relationships\r\n\r\n- What other systems is Algorithm related to?\r\n - Data structures (mutually constraining; “Algorithms + Data Structures = Programs”).\r\n - Problem classes and complexity theory (reductions, completeness, classes like P, NP, BPP).\r\n - Formal languages and automata (expressiveness, computability).\r\n - Software engineering (APIs, testing, verification, performance engineering).\r\n - Hardware architectures (cache behavior, parallelism, GPU/TPU models).\r\n - Cryptography (security reductions, hardness assumptions).\r\n - Optimization and operations research (exact/approximate methods, relaxations).\r\n - Machine learning (training/inference algorithms; search/optimization).\r\n - Human-computer interaction (algorithmic latency, fairness, interpretability).\r\n- Can Algorithm be a relationship between systems?\r\n - Yes:\r\n - As a mapping from problem instances to solutions (input space → output space).\r\n - As a mediator between specification and implementation (refinement).\r\n - As a protocol defining interactions among agents/processes (distributed algorithms).\r\n - As a trade-off function (accuracy vs. time; memory vs. speed).\r\n - As a boundary contract (caller/callee; producer/consumer in pipelines).\r\n\r\n## Perspectives\r\n\r\n- From the perspective of Algorithm as a system:\r\n - Are my preconditions satisfied by incoming inputs?\r\n - What invariants must hold before/after each step?\r\n - Do I terminate for all valid inputs; under what conditions might I not?\r\n - What are my worst-case and expected resource usages in the assumed cost model?\r\n - How do I degrade under resource pressure; can I adapt (anytime/streaming variants)?\r\n - What are my failure modes (numerical instability, adversarial inputs, deadlock)?\r\n - What proofs or tests substantiate my correctness and performance claims?\r\n - What interfaces do I expose; are they minimal, clear, and robust?\r\n - What ethical or societal impacts arise from my outputs (bias, fairness, transparency)?\r\n- Perspectives from other systems:\r\n - Data structure: Which operations will be invoked and with what access patterns?\r\n - Hardware: How do memory hierarchies, vector units, or parallel cores affect performance?\r\n - User/product: Does the latency/accuracy meet experience requirements?\r\n - Security/adversary: Can worst-case inputs or side-channels be exploited?\r\n - Regulator/auditor: Is the procedure explainable, testable, and compliant?\r\n - Theorist: What is the asymptotic complexity; can I reduce from known hard problems?\r\n - Educator: What core ideas does this algorithm illustrate; how to teach proofs/invariants?\r\n - Maintainer/engineer: How stable is the interface; what are edge cases and logging needs?\r\n - Environment/energy: What is the energy footprint per operation/output?\r\n - Domain expert (e.g., map routing): How do constraints (traffic, turn penalties) integrate; what approximation is acceptable?\r\n\r\nIn DSRP terms, an Algorithm is simultaneously:\r\n- A system with parts and boundaries.\r\n- A part within larger computational and socio-technical systems.\r\n- A set of distinctions (procedure vs data, spec vs implementation).\r\n- A nexus of relationships (mapping inputs to outputs; trading resources for quality).\r\n- A cognitive tool that structures reasoning about processes.\r\n", + metadata: { + sourceFile: "definitions/algorithm/dsrp-questions.md", + compiledAt: "2026-02-23T00:32:17.320Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/exam-questions.md': { + module: "# Algorithm - Exam Questions\r\n\r\nGenerated on 2025-09-03 11:06:35\r\n\r\nHere are 3 multiple-choice exam questions on the topic:\r\n\r\n1) Which statement best defines an algorithm?\r\n- A) Any code written in a specific programming language that compiles successfully\r\n- B) A clear, finite sequence of unambiguous steps that transforms input into output, independent of language\r\n- C) A set of heuristics that may or may not terminate\r\n- D) A data structure used to store information\r\nCorrect answer: B\r\n\r\n2) Which of the following procedures fails to meet a key property of a “good” algorithm?\r\n- A) A contact-sorting method that always finishes and correctly orders names\r\n- B) A map route finder that sometimes loops forever when there is no path\r\n- C) A passcode check that compares the entered code to the stored code\r\n- D) A search that uses extra memory to run faster\r\nCorrect answer: B\r\n\r\n3) A team is choosing between two correct algorithms to process large datasets: Algorithm X runs fast but uses a lot of memory; Algorithm Y runs slower but uses little memory. This choice best illustrates:\r\n- A) Algorithms must be written in the same language as the data\r\n- B) Efficiency only concerns speed, not memory\r\n- C) Trade-offs between time and space efficiency in algorithm design\r\n- D) The need for algorithms to be infinite to handle big data\r\nCorrect answer: C\r\n", + metadata: { + sourceFile: "definitions/algorithm/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.321Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/expanded-definition.md': { + module: "# Algorithm - Expanded Definition\r\n\r\nAlgorithm\r\nPronunciation: /ˈal-ɡə-rɪð-əm/\r\nForms: plural algorithms; attributive use common (algorithm design, algorithm bias). Derivatives: algorithmic adj. /ˌal-ɡə-ˈrɪð-ɪk/; algorithmically adv.; algorithmics n. (the study of algorithms); algorithmist n. (rare).\r\n\r\nPart of speech: noun\r\n\r\nEtymology:\r\nFrom medieval Latinized French algorisme/algorithme, originally “the system of arithmetic using Arabic numerals,” from the Latinized name of Muḥammad ibn Mūsā al-Khwārizmī (9th‑cent. mathematician). Later influenced by Greek arithmós ‘number,’ producing the -thm spelling. Sense shifted from ‘rules of computation’ (Middle Ages–early modern) to the general notion of a stepwise procedure (19th c.), and to the modern, formalized concept in mathematics and computing (20th c.).\r\n\r\nSenses:\r\n1. Historical. A set of rules for performing arithmetic with Hindu–Arabic numerals; the art of reckoning. Now chiefly historical or in discussions of the history of mathematics.\r\n – Example: “Medieval treatises on algorism taught the operations of addition and division with the newly adopted figures.”\r\n\r\n2. Mathematics and computer science. A finite, effective procedure composed of unambiguous steps that, given input, produces output and terminates; independent of implementation language.\r\n – Example: “Dijkstra’s algorithm finds shortest paths in a weighted graph.”\r\n – Notes: Emphasizes correctness (right result for all valid inputs), termination (finiteness), and resource use (time and space). May be deterministic or randomized; exact or approximate.\r\n\r\n 2a. By extension (technical). A formally specified method for solving a class of problems, often analyzed for complexity, optimality, and trade-offs (speed, memory, simplicity).\r\n – Example: “No polynomial-time algorithm is known for the general traveling salesman problem.”\r\n\r\n3. Applied computing and engineering. Any codified procedure embedded in software or hardware to accomplish a task (e.g., sorting, compression, routing, encryption).\r\n – Example: “The codec’s compression algorithm reduces bandwidth without perceptible loss.”\r\n\r\n4. Data and platforms (popular and professional). The composite procedures, models, and rules governing automated decisions in services and media, especially recommender and ranking systems; sometimes personified as a singular agent “the algorithm.”\r\n – Example: “Creators keep trying to please the algorithm to boost their visibility.”\r\n – Usage note: Often conflates distinct components (ranking functions, heuristics, machine‑learned models, business rules, and feedback loops).\r\n\r\n5. General or figurative. Any step-by-step method or recipe for accomplishing a task.\r\n – Example: “Her morning routine is an algorithm for getting two kids out the door in 20 minutes.”\r\n\r\nHistorical development:\r\n- 12th–15th c.: Through Latin and French, algorism denotes the newly diffused numeral system and the rules of arithmetic.\r\n- 17th–19th c.: Broadening to methodical calculation procedures; early appearances in logic and mechanical computation.\r\n- 20th c.: Formalization via Church, Turing, Post, and others: algorithm as an effectively computable procedure; rise of complexity theory defining efficiency classes (P, NP, etc.).\r\n- Late 20th–21st c.: Ubiquitous in software; term diffuses into public discourse with the growth of search, social media, and AI; semantic broadening to socio-technical systems behind automated decisions.\r\n\r\nStakeholder/contextual uses:\r\n- Theoretical computer scientists: stress formal models (Turing machines, RAM models), correctness proofs, and asymptotic complexity.\r\n- Software engineers: focus on practical performance, memory footprint, maintainability, and real‑world constraints; algorithm vs. data structure trade-offs.\r\n- Data scientists/ML practitioners: sometimes use “algorithm” to mean both learning procedure (e.g., stochastic gradient descent) and the trained model; evaluation via accuracy, bias, robustness.\r\n- Operations researchers: algorithms as optimization procedures (simplex, branch‑and‑bound, heuristics, metaheuristics).\r\n- Cryptographers/security: algorithms as rigorously specified primitives (AES, SHA‑256), with properties like indistinguishability and resistance to attacks.\r\n- Law, policy, and ethics: “algorithmic decision‑making” as a socio-technical system; concerns over transparency, accountability, fairness, explainability.\r\n- Medicine/clinical practice: “clinical algorithms” as standardized decision pathways or care protocols.\r\n- Popular media/creators: “the algorithm” shorthand for platform ranking/recommendation behavior; often anthropomorphized.\r\n\r\nUsage notes:\r\n- An algorithm is distinct from its implementation (code), from a data structure (organization of data), and from a model (a learned parameterization); in practice these blur, especially in ML and platform contexts.\r\n- Good algorithms are finite, correct, and efficient, often balancing speed, memory, and simplicity. Randomized or approximate algorithms may trade exactness for performance or scalability.\r\n\r\nAdditional example sentences:\r\n- “The new routing algorithm cut delivery times by 12% while using less memory.”\r\n- “Merge sort and quicksort are comparison-based sorting algorithms with different trade-offs.”\r\n- “Auditors examined the loan-approval algorithm for disparate impact.”\r\n- “There’s no algorithm that solves this problem faster than O(n log n) in the comparison model.”\r\n- “The app changed its algorithm, and my feed looks completely different.”\r\n", + metadata: { + sourceFile: "definitions/algorithm/expanded-definition.md", + compiledAt: "2026-02-23T00:32:17.322Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/related-concept-sentences.md': { + module: "# Algorithm - Related Concept Sentences\r\n\r\n- Pseudocode: Pseudocode is a language-neutral way to write down an algorithm’s steps clearly before translating them into actual code.\r\n- Programming: Programming is the act of implementing algorithms on a computer so they can be executed to solve problems.\r\n- Code: Code is the concrete, language-specific expression of an algorithm that a computer can run.\r\n- Computational Thinking: Computational thinking is the problem-solving mindset used to design good algorithms, including how to break problems down and reason about solutions.\r\n- Decomposition: Decomposition breaks a complex problem into smaller parts, making it easier to design the overall algorithm from simpler sub-algorithms.\r\n- Abstraction: Abstraction hides unnecessary details so an algorithm focuses on the essential steps relevant to solving the problem.\r\n- Function: A function packages part of an algorithm into a reusable, named unit, helping organize and modularize the overall procedure.\r\n- Loop: A loop expresses repeated steps within an algorithm, allowing efficient handling of repetitive tasks until a condition is met.\r\n- Conditional: A conditional introduces decision points in an algorithm, choosing different steps based on whether a test is true or false.\r\n- IPOS Model: The IPOS (Input-Process-Output-Storage) model frames how an algorithm takes inputs, processes them through defined steps, may store intermediate results, and produces outputs.\r\n", + metadata: { + sourceFile: "definitions/algorithm/related-concept-sentences.md", + compiledAt: "2026-02-23T00:32:17.322Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm/related-concepts.md': { + module: "# Algorithm - Related Concepts\r\n\r\n- Pseudocode [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Computational Thinking [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Function [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- IPOS Model [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/algorithm/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.323Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithm.md': { + module: "# Algorithm\r\n\r\nStep-by-step procedure for solving a problem\r\n\r\n## Definition\r\nAn algorithm is a clear, step-by-step procedure for solving a problem or completing a task: it takes input, follows unambiguous rules, and produces output, independent of any specific programming language. Good algorithms are finite (they eventually stop), correct (give the right result for all valid inputs), and efficient (use reasonable time and memory), often balancing trade-offs among speed, memory, and simplicity. Everyday examples include unlocking a phone with a passcode, sorting contacts, or a map app finding the shortest route; in programs, algorithms are the plans that code carries out.\r\n", + metadata: { + sourceFile: "definitions/algorithm.md", + compiledAt: "2026-02-23T00:32:17.323Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/categories-1.md': { + module: "# Algorithmic Bias - Categories 1\r\n\r\nGenerated on 2025-09-03 13:18:40\r\n\r\nHere’s a DSRP (Distinctions, Systems, Relationships, Perspectives) categorization of “Algorithmic Bias,” with emphasis on whether it is a category, a member of a category, or both.\r\n\r\nCategorization\r\n- Status: Both\r\n - As a member: It is a member of broader categories like Bias, AI/ML Risks, and Ethical Issues in AI.\r\n - As a category: It is a category that contains multiple subtypes/sources (e.g., data bias, evaluation bias) and domain-specific instances (e.g., hiring bias).\r\n\r\nParent categories (what Algorithmic Bias is a member of)\r\n- Bias (general)\r\n- Statistical bias (systematic error)\r\n- Algorithmic/AI risk\r\n- Ethical issues in AI (AI ethics)\r\n- Sociotechnical harms\r\n- Discrimination (legal/policy framing when bias leads to protected-class harms; overlapping parent)\r\n\r\nSibling categories (share the same parent, depending on the parent chosen)\r\n- Under Bias (general):\r\n - Cognitive bias (e.g., confirmation bias)\r\n - Measurement bias\r\n - Sampling/selection bias\r\n - Observer/experimenter bias\r\n - Publication bias\r\n- Under AI/ML risk:\r\n - Privacy risks (e.g., reidentification)\r\n - Security/robustness risks (e.g., adversarial examples)\r\n - Safety risks (e.g., catastrophic failures)\r\n - Explainability/opacity (lack of interpretability)\r\n - Misinformation/propagation harms\r\n- Under Ethical issues in AI:\r\n - Surveillance and autonomy harms\r\n - Manipulation/nudging\r\n - Accountability gaps\r\n\r\nSubcategories of Algorithmic Bias (what it categorizes)\r\n- By source/stage in the ML pipeline (Suresh & Guttag-style taxonomy plus deployment):\r\n - Data bias\r\n - Sampling/coverage bias\r\n - Historical bias (structural inequities embedded in data)\r\n - Measurement/labeling bias\r\n - Class imbalance\r\n - Model/Objective bias\r\n - Inductive bias/design choices (architecture, features)\r\n - Objective/metric choice (loss functions that trade off group outcomes)\r\n - Regularization/thresholding choices\r\n - Evaluation bias\r\n - Metrics that hide subgroup disparities (e.g., overall accuracy masking group error rates)\r\n - Poor benchmarking datasets lacking subgroup coverage\r\n - Deployment/Use bias\r\n - Population shift (train–serve mismatch)\r\n - Proxy/threshold decisions that disadvantage groups\r\n - Human-in-the-loop operational practices that amplify bias\r\n - Interaction/Feedback bias\r\n - Reinforcement loops from user feedback or recommender exposure\r\n- By harm type\r\n - Allocative harms (resource access: loans, jobs)\r\n - Representational harms (stereotyping, misrecognition)\r\n- By domain (instances within the category)\r\n - Hiring tools, loan approvals, facial recognition, predictive policing, healthcare triage, education/edtech scoring\r\n\r\nDSRP framing\r\n- Distinctions\r\n - Is: systematic, group-differential unfairness arising in algorithmic systems.\r\n - Is not: random error/noise; mere model inaccuracy; fairness as a property.\r\n- Systems\r\n - Whole: a sociotechnical system (data, model, deployment, policy, people).\r\n - Parts: data generation, labeling, modeling, evaluation, deployment, feedback loops, governance.\r\n- Relationships\r\n - Causes: biased/incomplete data; design and training choices; evaluation and operational policies.\r\n - Effects: disparate error rates, unfair allocations, eroded trust; feedback loops reinforcing inequity.\r\n- Perspectives\r\n - Statistical: systematic error across groups.\r\n - Ethical: unfair treatment and harm.\r\n - Legal/policy: discrimination and compliance risk.\r\n - Stakeholder: developers, users, impacted communities, auditors, regulators see different problem boundaries and remedies.\r\n\r\nBottom line\r\n- Algorithmic Bias is both a member (of Bias, AI Risk, Ethical Issues) and a category (containing multiple subtypes and domain-specific instances). The useful categorization depends on the level of analysis: conceptual (sources/harm types) versus applied (domain instances).\r\n\r\n\r\n---\r\n\r\n## 2025-09-03 13:21:15\r\n\r\nGenus–differentia definition\r\n- Genus: A form of systemic bias in decision-making systems.\r\n- Differentia: Occurs specifically in automated or computational (algorithmic) systems when their outputs produce systematic, unfair advantages or disadvantages across groups (often defined by protected attributes), due to properties of the data, model design/optimization, evaluation, or deployment context; the effect is measurable as consistent performance or outcome disparities rather than random error.\r\n\r\nOntological status\r\n- Both. It is:\r\n - A member of the broader category “bias,” and\r\n - A category that contains more specific types of algorithmic bias.\r\n\r\nParent categories (supercategories)\r\n- Bias (general)\r\n- Systemic bias / structural bias\r\n- Statistical and measurement bias (inference/estimation context)\r\n- AI/ML risks and harms\r\n- Discrimination mechanisms (socio-technical)\r\n\r\nSibling categories (under the respective parents)\r\n- Under Bias: human cognitive bias, sampling bias, measurement bias, media bias\r\n- Under Statistical/measurement bias: selection bias, label bias, confounding bias, omitted-variable bias\r\n- Under AI/ML risks: privacy risks, security/robustness failures (adversarial examples), lack of interpretability, model drift\r\n- Under Discrimination mechanisms: institutional discrimination, human decision-maker bias, policy bias\r\n\r\nSubcategories of algorithmic bias\r\n- By pipeline origin:\r\n - Data bias: sampling bias, historical bias, measurement bias, label bias, survivorship/selective-labels bias\r\n - Feature/target bias: proxy-variable bias, construct validity/target definition bias\r\n - Model/optimization bias: objective-function bias (e.g., optimizing overall accuracy at the expense of subgroup errors), regularization/inductive choices that skew group performance\r\n - Evaluation bias: metric choice bias, benchmark/dataset shift, unrepresentative test sets\r\n - Deployment/context bias: feedback-loop/performative effects, automation bias in end-users, domain shift, missing or misused uncertainty\r\n- By effect type:\r\n - Disparate treatment vs disparate impact\r\n - Allocative harm vs quality-of-service harm vs representational harm\r\n - Group fairness violations (e.g., error-rate parity, demographic parity, equalized odds) vs individual fairness violations\r\n - Intersectional bias (compounded disparities across multiple attributes)\r\n - Calibration disparity, FPR/FNR disparity, ranking/exposure bias\r\n- By domain/application:\r\n - Hiring and admissions screening bias\r\n - Credit/loan underwriting bias\r\n - Facial recognition demographic bias\r\n - Predictive policing/recidivism risk bias\r\n - Healthcare triage/risk scoring bias\r\n - Ad delivery and content moderation bias\r\n- By mechanism:\r\n - Feedback amplification and retraining bias\r\n - Confounding/omitted-variable bias\r\n - Proxy discrimination\r\n - Label leakage and target shift\r\n\r\nClarifications and near relations\r\n- Related but distinct: inductive bias (a learning-theory concept) is not inherently unfair; algorithmic discrimination is a legal/policy framing of certain effects of algorithmic bias.\r\n- Typical instances/exemplars: disparate error rates in commercial facial recognition by gender/skin tone; COMPAS risk scores with differing FPR/FNR across races; ad delivery skew for employment/credit housing ads.\r\n\r\nPractical criteria/diagnostics (necessary-and-typical features)\r\n- Locus: automated system (model, rules, or pipeline)\r\n- Systematic disparity: consistent performance or outcome differences across groups\r\n- Causal pathways: data, modeling choices, evaluation, or deployment context\r\n- Observability: measurable through subgroup analysis; may persist or amplify over time\r\n- Normative judgment: deemed unfair relative to legal, ethical, or policy standards\r\n\r\nMitigation levers (category-typical remedies)\r\n- Dataset improvement and documentation, subgroup performance auditing, transparent objectives/metrics, fairness-aware learning or post-processing, human oversight and accountability, and monitoring in deployment.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/categories-1.md", + compiledAt: "2026-02-23T00:32:17.324Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/dsrp-1.md': { + module: "# Algorithmic Bias - Cabrera Dialectic 2\r\n\r\nGenerated on 2025-09-03 12:55:55\r\n\r\nDistinctions (what it is and isn’t)\r\n- What it is: Consistent, systematic advantages/disadvantages for groups in algorithmic outputs.\r\n- What it isn’t: Random errors, occasional mistakes, or mere differences that do not systematically affect groups.\r\n- Outcomes vs processes: Biased outcomes can arise even if code is “neutral” when data or use context is biased.\r\n- Technical vs societal: Statistical bias (estimation error) differs from social bias (unfair impact). Both can interact.\r\n- Subtypes to watch:\r\n - Representation bias (who’s in the data, sample imbalance)\r\n - Measurement/label bias (proxies, flawed labels)\r\n - Historical/structural bias (data encodes past inequities)\r\n - Evaluation bias (one-size-fits-all metrics)\r\n - Deployment/use bias (thresholds, contexts, human-in-the-loop)\r\n - Feedback bias (system outputs change the world and future data)\r\n- Scope boundaries: Define target task, population, protected attributes, context of use, and harms of interest. Decide what counts as “fair” for this application.\r\n\r\nParts and wholes (how it’s structured)\r\n- Pipeline parts:\r\n - Problem framing (objective, target, constraints)\r\n - Data sourcing (coverage, consent, provenance)\r\n - Labeling (criteria, annotator guidance, inter-rater reliability)\r\n - Preprocessing/feature engineering (proxy detection, leakage)\r\n - Modeling (loss functions, regularization, fairness constraints)\r\n - Evaluation (overall and subgroup metrics; stress tests)\r\n - Deployment (thresholds, human oversight, UI, explanations)\r\n - Monitoring (drift, post-deployment audits, incident response)\r\n- Nested systems:\r\n - Technical system sits inside organizational incentives, legal/compliance requirements, societal norms, and domain-specific processes (e.g., hiring or lending pipelines).\r\n- Control points in each part:\r\n - Framing: articulate fairness definitions and harms\r\n - Data: audits, documentation (datasheets, lineage), gap-filling or reweighting\r\n - Labels: bias reviews, gold standards, blinded annotation\r\n - Modeling: hyperparameter/fairness sweeps, robust objectives\r\n - Evaluation: stratified metrics, intersectional analysis, uncertainty\r\n - Deployment: policy guardrails, appeals, override protocols\r\n - Monitoring: dashboards per group, alerts, periodic revalidation\r\n\r\nRelationships (causes, effects, feedbacks, trade-offs)\r\n- Causal pathways:\r\n - Underrepresentation → higher error rates → unfair denial/approval patterns\r\n - Proxy features (e.g., zipcode) → reconstruct protected status → disparate impact\r\n - Threshold choices → different FPR/FNR across groups → unequal burdens\r\n- Feedback loops:\r\n - Predictive policing increases patrols → more recorded incidents → model “learns” higher risk → perpetuation/escalation\r\n - Credit denials reduce credit history building → future denials\r\n- Metric tensions:\r\n - Can’t generally satisfy calibration and equalized odds simultaneously when base rates differ; choose and justify trade-offs.\r\n- Intervention effects:\r\n - Reweighting/augmentation → improved subgroup recall but possible precision loss\r\n - Post-processing thresholds by group → parity gains, potential perceptions of individual unfairness; require governance and transparency\r\n- Accountability linkages:\r\n - Documentation → auditability → corrective action → trust\r\n - Oversight and appeal mechanisms → mitigation of harm when errors occur\r\n\r\nPerspectives (viewpoints, scales, contexts)\r\n- Stakeholders:\r\n - Impacted individuals/communities: focus on lived experience, false positives/negatives, recourse\r\n - Domain experts (e.g., clinicians, loan officers): utility, safety, workflow fit\r\n - Developers/ML engineers: technical feasibility, debt, monitoring\r\n - Product/business: outcomes, costs, timelines, incentive structures\r\n - Regulators/ethicists/auditors: compliance, transparency, due process\r\n- Scales:\r\n - Short-term model metrics vs long-term societal outcomes and distributional effects\r\n - Individual fairness (similar individuals treated similarly) vs group fairness (parity across groups)\r\n- Context sensitivity:\r\n - High-stakes domains (health, criminal justice, credit) require stronger evidence, human-in-the-loop, and formal harm assessments.\r\n- Counterfactual thinking:\r\n - Would this decision change if sensitive attributes were different, holding relevant factors constant?\r\n\r\nPractical checklist\r\n- Define\r\n - What harms are we trying to prevent? Which fairness criteria are appropriate here and why?\r\n - Which groups and intersections will we evaluate?\r\n- Diagnose\r\n - Compute performance and error types per group; include calibration, TPR/FPR, PPV/NPV, and uncertainty.\r\n - Run stress tests: distribution shifts, worst-case subgroup performance, counterfactual evaluations.\r\n- Data work\r\n - Audit coverage and label quality; document provenance and known limitations.\r\n - Address gaps via augmentation, reweighting, or targeted data collection; reduce proxy leakage.\r\n- Model work\r\n - Compare models with and without fairness-aware training; examine trade-offs explicitly.\r\n - Tune thresholds (possibly per group) with governance review and justification.\r\n- Transparency\r\n - Produce datasheets/model cards; document decisions, metrics, trade-offs, and known risks.\r\n - Provide user-facing explanations suitable for the domain.\r\n- Oversight and accountability\r\n - Establish human review for edge/high-stakes cases; define appeal and error-correction processes.\r\n - Monitor in production with alerts on subgroup metrics and drift; schedule regular audits.\r\n - Record incidents and implement corrective actions; revisit incentives that might pressure unsafe shortcuts.\r\n\r\nGuiding questions\r\n- Where could unfairness enter in our pipeline, and what evidence do we have?\r\n- Which trade-offs are we accepting, and who bears their costs?\r\n- How will we know if things get worse after deployment, and what will we do next?\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/dsrp-1.md", + compiledAt: "2026-02-23T00:32:17.325Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/dsrp-questions.md': { + module: "# Algorithmic Bias - Dsrp Questions\r\n\r\n# Is it a System?\r\n- Yes, Algorithmic Bias can be thought of as a system. It emerges from interacting components—data, models, objectives, training procedures, deployment contexts, governance processes, and human actors—whose interactions produce patterned, measurable disparities across groups. The phenomenon has feedback loops (e.g., biased outputs influence future data), boundary conditions (institutional, legal, domain-specific), and multi-scale structure (from feature engineering choices to societal impacts).\r\n- Classification:\r\n - A system (when considered as the socio-technical phenomenon producing inequitable outcomes).\r\n - A part of a system (as one component of broader socio-technical systems like hiring, credit, health, or justice).\r\n - A relationship between systems (as the patterned inequity arising from interactions among datasets, models, institutions, and populations).\r\n - A boundary between systems (surfacing at the interface where algorithmic decisions meet social identity categories and legal norms).\r\n - A cognitive tool (less so; the concept of “algorithmic bias” is also a lens for diagnosing dysfunctions in complex systems).\r\n\r\n# Distinctions\r\n- What it is (inside the boundary):\r\n - Systematic, group-differentiated error or unfairness in algorithmic decision-making (e.g., higher false positive rates for one demographic group).\r\n - A socio-technical phenomenon caused by data-generation processes, modeling choices, deployment contexts, and institutional incentives.\r\n - Manifested in real applications (hiring filters, loan underwriting, facial recognition, predictive policing, healthcare triage).\r\n - Addressable via practices such as dataset documentation, performance stratified by groups, fairness-aware modeling, transparency, human oversight, and accountability mechanisms.\r\n\r\n- What it is not (outside the boundary):\r\n - Random noise or idiosyncratic single-instance errors without patterned group disparity.\r\n - Purely technical model underperformance unrelated to social categories or protected classes.\r\n - The totality of societal inequity (it is a contributor and amplifier, not the whole cause).\r\n - Bias only “in the data” or only “in the model”: algorithmic bias is not reducible to a single locus.\r\n - A solved problem through accuracy alone; high average accuracy can coexist with high disparity.\r\n\r\n# Systems\r\n- Parts of Algorithmic Bias (viewed as a system):\r\n - Data subsystem: sampling frames, labeling practices, measurement error, historical prejudices embedded in outcomes.\r\n - Modeling subsystem: objectives (loss functions), architectures, regularization, feature selection, hyperparameters.\r\n - Evaluation subsystem: metrics (accuracy, calibration, equalized odds, demographic parity), validation splits, subgroup analyses.\r\n - Deployment context: user interfaces, thresholding, human-in-the-loop design, organizational policies, incentive structures.\r\n - Governance/ethics/legal: documentation (datasheets/model cards), audits, reporting, compliance, recourse mechanisms.\r\n - Feedback dynamics: how decisions alter future data (e.g., policing intensity affecting crime reports).\r\n - Stakeholders: applicants, decision-subjects, operators, auditors, regulators, impacted communities.\r\n\r\n- Algorithmic Bias as a part:\r\n - Within AI/ML risk management systems (one risk category alongside privacy, robustness, security).\r\n - Within organizational decision systems (a failure mode within hiring/credit/healthcare decision pipelines).\r\n - Within societal inequity systems (a technological amplifier or attenuator within broader structures of discrimination).\r\n\r\n# Relationships\r\n- Related systems:\r\n - Data ecosystems (collection, curation, annotation markets).\r\n - Legal-regulatory systems (anti-discrimination law, AI governance frameworks, standards bodies).\r\n - Economic systems (labor markets, credit markets) that both shape and are shaped by algorithmic decisions.\r\n - Technical assurance systems (auditing, certification, monitoring, incident reporting).\r\n - Sociocultural systems (norms around fairness, identity, and legitimacy).\r\n\r\n- Algorithmic Bias as a relationship:\r\n - Between datasets and populations: mismatch between training data distributions and real-world group distributions.\r\n - Between model objectives and social values: optimization for aggregate loss versus equitable outcomes.\r\n - Between institutions and individuals: power asymmetries mediated by algorithmic decision tools.\r\n - Between historical data and future allocation: path dependence where past inequities inform future predictions.\r\n\r\n# Perspectives\r\n- Questions from the perspective of Algorithmic Bias as a system:\r\n - Where do disparities originate within the pipeline, and how do they propagate across stages?\r\n - Which feedback loops amplify or dampen disparities over time?\r\n - What metrics (and trade-offs) best capture fairness given the domain’s constraints?\r\n - How do changes at one layer (e.g., loss function) affect outcomes at others (e.g., long-term population impacts)?\r\n - What governance and accountability mechanisms effectively realign incentives and reduce harm?\r\n\r\n- Perspectives from other systems:\r\n - Regulator’s perspective: Are outcomes compliant with anti-discrimination law? Is there documentation, auditability, and evidence of subgroup performance?\r\n - Data steward’s perspective: How were labels produced? What are coverage gaps, measurement errors, and consent constraints?\r\n - Model developer’s perspective: What fairness definitions are appropriate? How to adjust objectives, constraints, or post-processing to meet them?\r\n - Impacted individual’s perspective: Is the decision explainable? Is there recourse and remedy? Are appeals timely and accessible?\r\n - Organizational executive’s perspective: What are the risk, reputation, and compliance implications? How to align incentives with responsible outcomes?\r\n - Community advocate’s perspective: Do systems uphold dignity and equity? Were communities consulted in design and evaluation?\r\n - Ethicist/philosopher’s perspective: Which moral theories of fairness are implicit in metric choices? What harms are distributive vs. recognitional?\r\n - Systems engineer’s perspective: How to instrument monitoring for drift and subgroup performance in production? What incident response processes exist?\r\n\r\n- Not applicable:\r\n - None. All DSRP aspects can be meaningfully applied to Algorithmic Bias.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/dsrp-questions.md", + compiledAt: "2026-02-23T00:32:17.325Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/exam-questions.md': { + module: "# Algorithmic Bias - Exam Questions\r\n\r\nGenerated on 2025-09-03 11:06:45\r\n\r\nHere are three multiple-choice exam questions on algorithmic bias.\r\n\r\n1) Which statement best describes algorithmic bias?\r\n- A. Random errors caused by software bugs\r\n- B. Consistent unfair advantages or disadvantages produced by a system for certain people or groups\r\n- C. Differences in user preferences across demographics\r\n- D. Any inaccurate prediction made by a model\r\nCorrect answer: B\r\nExplanation: Algorithmic bias refers to systematic unfairness affecting specific groups.\r\n\r\n2) A company’s hiring tool shows higher pass rates for men than for equally qualified women. Which action is the most appropriate first step to reduce bias?\r\n- A. Increase the model’s overall accuracy using more features\r\n- B. Remove all demographic variables from the model and redeploy immediately\r\n- C. Evaluate performance across demographic groups and audit the training data for imbalance and proxies\r\n- D. Replace the model with a different algorithm without reviewing data or outputs\r\nCorrect answer: C\r\nExplanation: Bias reduction begins with measuring group-wise performance and auditing datasets for imbalance and proxy features.\r\n\r\n3) Which combination correctly pairs a real-world domain with a suitable bias-mitigation practice?\r\n- A. Loan approvals — limit transparency to prevent users from gaming the system\r\n- B. Facial recognition — document datasets, expand representation, and test error rates by demographic group\r\n- C. Predictive policing — train solely on historical arrest data to ensure consistency\r\n- D. Hiring — remove all human oversight to avoid subjective judgment\r\nCorrect answer: B\r\nExplanation: Bias mitigation involves better dataset documentation/coverage and group-wise evaluation; predictive policing and hiring require more oversight, not less.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/exam-questions.md", + compiledAt: "2026-02-23T00:32:17.326Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/expanded-definition.md': { + module: "# Algorithmic Bias - Expanded Definition\r\n\r\nAlgorithmic bias, n. (also algorithm bias; occasionally attrib. and as adj. in algorithmically biased)\r\n\r\nPronunciation: /ˌælɡəˈrɪðmɪk ˈbaɪəs/\r\n\r\nInflections: plural algorithmic biases\r\n\r\nEtymology: Formed from algorithmic adj. ‘relating to an algorithm’ + bias n. In this sense, bias follows established statistical and psychological uses (‘systematic deviation’), now applied to computational systems.\r\n\r\nCore definition:\r\n1. The systematic and unfair skewing of outcomes produced by a computational system (e.g., a model, algorithm, or pipeline) such that certain individuals or groups are consistently advantaged or disadvantaged. Arises from properties of data, design and training choices, deployment context, or feedback effects.\r\n\r\nExtended senses:\r\n2. Statistical/ML sense. A measurable disparity in model performance, error rates, or allocations across protected or meaningful subpopulations (e.g., differences in false positive/negative rates, calibration, or allocation parity).\r\n\r\n3. Governance and ethics sense. A risk category in automated decision-making that requires mitigation through process controls (dataset documentation, transparency, auditing, human oversight, accountability) to meet legal, ethical, or organizational standards of nondiscrimination and fairness.\r\n\r\n4. Attributive and participial uses. algorithmic-bias audit; algorithmically biased system; algorithmic-bias mitigation.\r\n\r\nHistorical development:\r\n- Prefiguring concepts: Discussions of “bias in algorithms” and “bias in expert systems” appear in the 1980s–1990s, paralleling concerns in statistics about sampling and measurement bias.\r\n- Early usage: The collocation algorithmic bias gains currency in the late 2000s to early 2010s with the rise of large-scale machine learning in hiring, credit scoring, advertising, and criminal justice.\r\n- Public attention: Mid-2010s reporting and academic work (e.g., on predictive policing tools, online ad delivery skew, face recognition error disparities, and risk assessment systems) popularize the term and spur policy responses.\r\n- Institutionalization: Late 2010s–2020s see formal guidance in industry standards, data protection and AI regulation, model risk management, and internal audit functions, with “bias” often operationalized via fairness metrics and impact assessments.\r\n\r\nStakeholder and contextual uses:\r\n- Data science/ML engineering: Refers to measurable performance disparities; addressed through dataset curation, reweighting, debiasing, algorithm selection, thresholding, post-processing, and continuous monitoring.\r\n- Product and UX: Focus on harms to users and cohorts; includes inclusive design, representative testing, and clear user messaging about limitations.\r\n- Compliance, risk, and audit: Categorized as model risk or discrimination risk; managed via documentation (datasheets, model cards), testing across subgroups, transparency, human-in-the-loop controls, and incident response.\r\n- Legal and policy: Intersects with equal opportunity, anti-discrimination, consumer protection, data protection, sectoral rules (e.g., credit, employment, housing), and emerging AI regulations; emphasizes explainability, impact assessments, and redress.\r\n- Research and ethics: Examines sources (historical and measurement biases, label subjectivity, deployment shift, feedback loops), normative choices (which fairness criteria), and trade-offs (accuracy, privacy, utility).\r\n- Affected communities and advocacy: Centers lived experience, disparate impacts, due process, and accountability; calls for participatory design, transparency, and stronger oversight.\r\n\r\nSources and mechanisms:\r\n- Data: Unrepresentative samples, historical discrimination encoded in labels, measurement error, missingness, proxy variables.\r\n- Modeling: Objective functions that ignore fairness constraints; regularization and class imbalance handling; thresholding choices.\r\n- Deployment and feedback: Context mismatch, selection effects, automation bias by users, and feedback loops that entrench disparities.\r\n- Use and interpretation: Overreliance on scores without context; lack of appeals; opaque explanations.\r\n\r\nMitigation and evaluation practices:\r\n- Check performance across groups; define relevant subpopulations.\r\n- Use multiple fairness metrics (e.g., calibration, equalized odds, demographic parity) and be explicit about trade-offs.\r\n- Improve and document datasets; assess consent, provenance, sampling frames, and labeling.\r\n- Increase transparency via model cards, datasheets, and user-facing explanations.\r\n- Add human oversight, appeals processes, governance, and accountability.\r\n- Monitor post-deployment drift and impacts; perform periodic audits.\r\n\r\nExample sentences:\r\nSense 1 (general)\r\n- The city paused deployment after an external review found algorithmic bias against applicants from certain neighborhoods.\r\n- Advocacy groups argued that algorithmic bias in the screening tool mirrored past discrimination.\r\n\r\nSense 2 (statistical/ML)\r\n- We detected algorithmic bias as a 12% gap in false positive rates between groups, even though overall accuracy was similar.\r\n- Threshold adjustments reduced one metric of algorithmic bias but worsened calibration, highlighting a fairness trade-off.\r\n\r\nSense 3 (governance/ethics)\r\n- The policy mandates annual assessments for algorithmic bias and requires a documented mitigation plan.\r\n- Regulators now treat unmanaged algorithmic bias as a form of compliance failure.\r\n\r\nAttributive/participial\r\n- The team conducted an algorithmic-bias audit before launch.\r\n- Complaints described the system as algorithmically biased in its loan approvals.\r\n\r\nUsage notes:\r\n- The term may conflate normative judgment (“unfair”) with statistical deviation; technical work often specifies the metric and population.\r\n- Bias can originate in data, model, or context; mitigation is most effective when it treats the full lifecycle.\r\n- “Fairness” criteria are not interchangeable; stakeholders should agree on definitions aligned with legal and social goals.\r\n- Transparency and human oversight are complements, not substitutes, for quantitative evaluation.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/expanded-definition.md", + compiledAt: "2026-02-23T00:32:17.327Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/related-concept-sentences.md': { + module: "# Algorithmic Bias - Related Concept Sentences\r\n\r\n- Artificial Intelligence (AI): Algorithmic bias can emerge in AI systems when their decision-making patterns systematically favor or disadvantage certain groups due to biased training data, design assumptions, or deployment contexts.\r\n- Machine Learning: Algorithmic bias often arises in machine learning models because they learn from historical data that may encode societal inequities, amplifying those patterns in predictions.\r\n- Algorithm: Bias can be embedded in an algorithm’s objectives, features, thresholds, or constraints, leading to unfair outcomes even when the code functions as intended.\r\n- Data: Biased, incomplete, or unrepresentative data is a primary source of algorithmic bias, shaping model behavior and performance across different populations.\r\n- Data Mining: Data mining practices can introduce or reinforce bias by overemphasizing patterns that reflect existing disparities or by filtering out minority signals as noise.\r\n- Analytics: Biased analytics pipelines—from metric selection to segmentation and interpretation—can produce misleading insights that drive inequitable decisions.\r\n- Big Data: Large-scale datasets can mask minority group patterns and entrench historical bias at scale, making algorithmic bias harder to detect and correct.\r\n- Digital Ethics: Algorithmic bias is a central concern in digital ethics, which provides frameworks for fairness, accountability, transparency, and governance to mitigate harm.\r\n- Biometrics: Biometric systems, such as facial or voice recognition, are prone to algorithmic bias when accuracy varies across demographic groups due to skewed training data or sensor differences.\r\n- Automation: When biased algorithms are automated, unfair decisions can be applied quickly and widely, increasing the urgency for bias audits, human oversight, and accountability mechanisms.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/related-concept-sentences.md", + compiledAt: "2026-02-23T00:32:17.327Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias/related-concepts.md': { + module: "# Algorithmic Bias - Related Concepts\r\n\r\n- Artificial Intelligence (AI) [Emerging Technologies]\r\n- Machine Learning [Emerging Technologies]\r\n- Algorithm [Programming Concepts]\r\n- Data [Data and Information Processing]\r\n- Data Mining [Digital Ethics]\r\n- Analytics [Data and Information Processing]\r\n- Big Data [Databases and Structured Data]\r\n- Digital Ethics [Digital Ethics]\r\n- Biometrics [Emerging Technologies]\r\n- Automation [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.328Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/algorithmic-bias.md': { + module: "# Algorithmic Bias\r\n\r\nUnfair discrimination in automated systems\r\n\r\n## Definition\r\nAlgorithmic bias occurs when a computer system consistently gives unfair advantages or disadvantages to certain people or groups. It can come from biased or incomplete data, design and training choices, or the way results are used, and appears in real systems like hiring tools, loan approvals, facial recognition, and predictive policing. Reducing bias is essential for fair and accurate technology and involves checking performance across groups, improving and documenting datasets, increasing transparency, and adding human oversight and accountability.\r\n", + metadata: { + sourceFile: "definitions/algorithmic-bias.md", + compiledAt: "2026-02-23T00:32:17.328Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/analytics/related-concepts.md': { + module: "# Analytics - Related Concepts\r\n\r\n- Data [Data and Information Processing]\r\n- Information [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Dashboard [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Big Data [Databases and Structured Data]\r\n- Machine Learning [Emerging Technologies]\r\n- Pattern Recognition [Computational Thinking]\r\n", + metadata: { + sourceFile: "definitions/analytics/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.329Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/analytics.md': { + module: "# Analytics\r\n\r\nProcess of examining data to discover patterns and insights\r\n\r\n", + metadata: { + sourceFile: "definitions/analytics.md", + compiledAt: "2026-02-23T00:32:17.329Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/antivirus/related-concepts.md': { + module: "# Antivirus - Related Concepts\r\n\r\n- Malware [Cybersecurity Fundamentals]\r\n- Virus [Cybersecurity Fundamentals]\r\n- Trojan [Cybersecurity Fundamentals]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Rootkit [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Antivirus Software [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Zero-Day Exploit [Threats and Attacks]\r\n", + metadata: { + sourceFile: "definitions/antivirus/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.330Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/antivirus-software/related-concepts.md': { + module: "# Antivirus Software - Related Concepts\r\n\r\nTop ten most related concepts:\r\n- Malware [Cybersecurity Fundamentals]\r\n- Virus [Cybersecurity Fundamentals]\r\n- Trojan [Cybersecurity Fundamentals]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Rootkit [Cybersecurity Fundamentals]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Operating System [Operating Systems and Software]\r\n- Software Update [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/antivirus-software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.331Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/antivirus-software.md': { + module: "# Antivirus Software\r\n\r\nProgram that detects and removes malicious software\r\n\r\n", + metadata: { + sourceFile: "definitions/antivirus-software.md", + compiledAt: "2026-02-23T00:32:17.331Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/antivirus.md': { + module: "# Antivirus\r\n\r\nSoftware designed to detect and remove malware\r\n\r\n", + metadata: { + sourceFile: "definitions/antivirus.md", + compiledAt: "2026-02-23T00:32:17.332Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/api/related-concepts.md': { + module: "# Api - Related Concepts\r\n\r\n- API [Web Development]\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Programming [Programming Concepts]\r\n- HTTP [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Backend [Web Development]\r\n- Framework [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/api/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.333Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/api.md': { + module: "# API\r\n\r\nSet of rules for different software components to communicate\r\n\r\n", + metadata: { + sourceFile: "definitions/api.md", + compiledAt: "2026-02-23T00:32:17.334Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/app-store/related-concepts.md': { + module: "# App Store - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Download [File Systems]\r\n- Software License [Operating Systems and Software]\r\n- Internet [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Platform [Digital Communication and Platforms]\r\n- Uninstall [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/app-store/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.335Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/app-store.md': { + module: "# App Store\r\n\r\nDigital marketplace for downloading applications\r\n\r\n", + metadata: { + sourceFile: "definitions/app-store.md", + compiledAt: "2026-02-23T00:32:17.335Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/application-software/related-concepts.md': { + module: "# Application Software - Related Concepts\r\n\r\n- Software [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- Local Application [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Software License [Operating Systems and Software]\r\n- Office Suite [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/application-software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.336Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/application-software.md': { + module: "# Application Software\r\n\r\nPrograms designed for end-users to accomplish specific tasks\r\n\r\n", + metadata: { + sourceFile: "definitions/application-software.md", + compiledAt: "2026-02-23T00:32:17.336Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/archivecompression-tool/related-concepts.md': { + module: "# Archivecompression Tool - Related Concepts\r\n\r\n- Compression [File Systems]\r\n- ZIP File [File Systems]\r\n- File [File Systems]\r\n- File Extension [File Systems]\r\n- File Format [File Systems]\r\n- File Management [File Systems]\r\n- Backup [File Systems]\r\n- Encryption [Authentication and Protection]\r\n- Decryption [Authentication and Protection]\r\n- Application Software [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/archivecompression-tool/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.337Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/archivecompression-tool.md': { + module: "# Archive/Compression Tool\r\n\r\nSoftware for creating and extracting compressed files\r\n\r\n", + metadata: { + sourceFile: "definitions/archivecompression-tool.md", + compiledAt: "2026-02-23T00:32:17.337Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/artificial-intelligence/related-concepts.md': { + module: "# Artificial Intelligence - Related Concepts\r\n\r\n- Machine Learning [Emerging Technologies]\r\n- Algorithm [Programming Concepts]\r\n- Data [Data and Information Processing]\r\n- Programming [Programming Concepts]\r\n- Automation [Emerging Technologies]\r\n- Chatbot [Emerging Technologies]\r\n- Big Data [Databases and Structured Data]\r\n- Analytics [Data and Information Processing]\r\n- Cloud Computing [Operating Systems and Software]\r\n- API [Web Development]\r\n", + metadata: { + sourceFile: "definitions/artificial-intelligence/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.338Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/artificial-intelligence.md': { + module: "# Artificial Intelligence\r\n\r\nComputer systems that perform tasks typically requiring human intelligence\r\n\r\n", + metadata: { + sourceFile: "definitions/artificial-intelligence.md", + compiledAt: "2026-02-23T00:32:17.339Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/augmented-reality/related-concepts.md': { + module: "# Augmented Reality - Related Concepts\r\n\r\n- Hardware [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Application Software [Operating Systems and Software]\r\n- API [Web Development]\r\n- Framework [Web Development]\r\n- Smart Device [Emerging Technologies]\r\n- Wearable Technology [Emerging Technologies]\r\n- Virtual Reality [Emerging Technologies]\r\n- User Interface [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/augmented-reality/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.339Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/augmented-reality.md': { + module: "# Augmented Reality\r\n\r\nOverlay of digital information on the real world\r\n\r\n", + metadata: { + sourceFile: "definitions/augmented-reality.md", + compiledAt: "2026-02-23T00:32:17.340Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/automation/related-concepts.md': { + module: "# Automation - Related Concepts\r\n\r\n- Artificial Intelligence [Emerging Technologies]\r\n- Machine Learning [Emerging Technologies]\r\n- Internet of Things [Emerging Technologies]\r\n- Embedded System [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- API [Web Development]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Smart Device [Emerging Technologies]\r\n- Programming [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/automation/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.340Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/automation.md': { + module: "# Automation\r\n\r\nTechnology that performs tasks without human intervention\r\n\r\n", + metadata: { + sourceFile: "definitions/automation.md", + compiledAt: "2026-02-23T00:32:17.341Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/backend/related-concepts.md': { + module: "# Backend - Related Concepts\r\n\r\n- Web Server [Internet Infrastructure]\r\n- API [Web Development]\r\n- Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n- Framework [Web Development]\r\n- Cloud Computing [Operating Systems and Software]\r\n- HTTP [Internet Infrastructure]\r\n- Caching [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/backend/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.341Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/backend.md': { + module: "# Backend\r\n\r\nServer-side components that users don't directly see\r\n\r\n", + metadata: { + sourceFile: "definitions/backend.md", + compiledAt: "2026-02-23T00:32:17.342Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/backup/related-concepts.md': { + module: "# Backup - Related Concepts\r\n\r\n- Storage [Computer Systems and Architecture]\r\n- Cloud Storage [Online Communication]\r\n- File [File Systems]\r\n- File Management [File Systems]\r\n- Sync [File Systems]\r\n- Version Control [File Systems]\r\n- Compression [File Systems]\r\n- Encryption [Authentication and Protection]\r\n- Database [Databases and Structured Data]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n", + metadata: { + sourceFile: "definitions/backup/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.342Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/backup.md': { + module: "# Backup\r\n\r\nCopy of data stored separately for protection\r\n\r\n", + metadata: { + sourceFile: "definitions/backup.md", + compiledAt: "2026-02-23T00:32:17.342Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/bandwidth/related-concepts.md': { + module: "# Bandwidth - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- 5G [Emerging Technologies]\r\n- Streaming [Digital Communication and Platforms]\r\n- Download [File Systems]\r\n- Upload [File Systems]\r\n- Compression [File Systems]\r\n- Caching [Web Development]\r\n", + metadata: { + sourceFile: "definitions/bandwidth/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.343Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/bandwidth.md': { + module: "# Bandwidth\r\n\r\nAmount of data that can be transmitted over a network connection\r\n\r\n", + metadata: { + sourceFile: "definitions/bandwidth.md", + compiledAt: "2026-02-23T00:32:17.343Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/big-data/related-concepts.md': { + module: "# Big Data - Related Concepts\r\n\r\n- NoSQL [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Analytics [Data and Information Processing]\r\n- Machine Learning [Emerging Technologies]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Storage [Computer Systems and Architecture]\r\n- Cloud Storage [Online Communication]\r\n- Data [Data and Information Processing]\r\n- Internet of Things [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/big-data/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.344Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/big-data.md': { + module: "# Big Data\r\n\r\nExtremely large datasets that require special tools to process\r\n\r\n", + metadata: { + sourceFile: "definitions/big-data.md", + compiledAt: "2026-02-23T00:32:17.344Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/biometrics/related-concepts.md': { + module: "# Biometrics - Related Concepts\r\n\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Digital Identity [Online Communication]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Encryption [Authentication and Protection]\r\n- Artificial Intelligence [Emerging Technologies]\r\n- Machine Learning [Emerging Technologies]\r\n- Input Device [Computer Systems and Architecture]\r\n- Smart Device [Emerging Technologies]\r\n- Wearable Technology [Emerging Technologies]\r\n- Internet of Things [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/biometrics/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.345Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/biometrics.md': { + module: "# Biometrics\r\n\r\nTechnology that identifies people based on physical characteristics\r\n\r\n", + metadata: { + sourceFile: "definitions/biometrics.md", + compiledAt: "2026-02-23T00:32:17.345Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/blockchain/related-concepts.md': { + module: "# Blockchain - Related Concepts\r\n\r\nTop 10 most related concepts to Blockchain (Distributed ledger technology):\r\n- Cryptocurrency [Emerging Technologies]\r\n- Encryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n- Digital Identity [Online Communication]\r\n- Database [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n- API [Web Development]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Internet [Internet Infrastructure]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n", + metadata: { + sourceFile: "definitions/blockchain/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.346Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/blockchain.md': { + module: "# Blockchain\r\n\r\nDistributed ledger technology\r\n\r\n", + metadata: { + sourceFile: "definitions/blockchain.md", + compiledAt: "2026-02-23T00:32:17.346Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/blog/related-concepts.md': { + module: "# Blog - Related Concepts\r\n\r\n- Web Application [Operating Systems and Software]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Search Engine [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/blog/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.347Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/blog.md': { + module: "# Blog\r\n\r\nRegularly updated website featuring personal or professional content\r\n\r\n", + metadata: { + sourceFile: "definitions/blog.md", + compiledAt: "2026-02-23T00:32:17.347Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/bug/related-concepts.md': { + module: "# Bug - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Crash [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Software [Computer Systems and Architecture]\r\n- Application Software [Operating Systems and Software]\r\n- Software Update [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/bug/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.348Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/bug.md': { + module: "# Bug\r\n\r\nError in computer code\r\n\r\n", + metadata: { + sourceFile: "definitions/bug.md", + compiledAt: "2026-02-23T00:32:17.348Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/caching/related-concepts.md': { + module: "# Caching - Related Concepts\r\n\r\n- RAM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Database [Databases and Structured Data]\r\n- Caching [Web Development]\r\n", + metadata: { + sourceFile: "definitions/caching/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.349Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/caching.md': { + module: "# Caching\r\n\r\nStoring frequently accessed data for faster retrieval\r\n\r\n", + metadata: { + sourceFile: "definitions/caching.md", + compiledAt: "2026-02-23T00:32:17.349Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/chartgraph/related-concepts.md': { + module: "# Chartgraph - Related Concepts\r\n\r\n- Chart/Graph [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Dashboard [Data and Information Processing]\r\n- Analytics [Data and Information Processing]\r\n- Spreadsheet [Data and Information Processing]\r\n- Data [Data and Information Processing]\r\n- Table [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Filter [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/chartgraph/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.350Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/chartgraph.md': { + module: "# Chart/Graph\r\n\r\nVisual representation of data\r\n\r\n", + metadata: { + sourceFile: "definitions/chartgraph.md", + compiledAt: "2026-02-23T00:32:17.350Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/chatbot/related-concepts.md': { + module: "# Chatbot - Related Concepts\r\n\r\n- Artificial Intelligence [Emerging Technologies]\r\n- Machine Learning [Emerging Technologies]\r\n- Automation [Emerging Technologies]\r\n- API [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Computing [Operating Systems and Software]\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n- Instant Messaging [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/chatbot/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.351Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/chatbot.md': { + module: "# Chatbot\r\n\r\nAutomated program designed to simulate conversation with users\r\n\r\n", + metadata: { + sourceFile: "definitions/chatbot.md", + compiledAt: "2026-02-23T00:32:17.352Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cloud-computing/related-concepts.md': { + module: "# Cloud Computing - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Storage [Online Communication]\r\n- API [Web Development]\r\n- Web Server [Internet Infrastructure]\r\n- Database [Databases and Structured Data]\r\n- Big Data [Databases and Structured Data]\r\n- Encryption [Authentication and Protection]\r\n- Remote Access [Problem-Solving Concepts]\r\n- Platform [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/cloud-computing/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.352Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cloud-computing.md': { + module: "# Cloud Computing\r\n\r\nUsing remote servers over the internet for computing resources\r\n\r\n", + metadata: { + sourceFile: "definitions/cloud-computing.md", + compiledAt: "2026-02-23T00:32:17.353Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cloud-storage/related-concepts.md': { + module: "# Cloud Storage - Related Concepts\r\n\r\n- Cloud Computing [Operating Systems and Software]\r\n- Internet [Internet Infrastructure]\r\n- Storage [Computer Systems and Architecture]\r\n- Upload [File Systems]\r\n- Download [File Systems]\r\n- Sync [File Systems]\r\n- Backup [File Systems]\r\n- File [File Systems]\r\n- File Management [File Systems]\r\n- Encryption [Authentication and Protection]\r\n", + metadata: { + sourceFile: "definitions/cloud-storage/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.354Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cloud-storage.md': { + module: "# Cloud Storage\r\n\r\nOnline storage service accessible from any internet-connected device\r\n\r\n", + metadata: { + sourceFile: "definitions/cloud-storage.md", + compiledAt: "2026-02-23T00:32:17.354Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/code/related-concepts.md': { + module: "# Code - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Bug [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/code/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.355Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/code.md': { + module: "# Code\r\n\r\nSet of instructions written in a programming language\r\n\r\n", + metadata: { + sourceFile: "definitions/code.md", + compiledAt: "2026-02-23T00:32:17.355Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/collaboration-tools/related-concepts.md': { + module: "# Collaboration Tools - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Email [Online Communication]\r\n- Instant Messaging [Online Communication]\r\n- Video Conferencing [Online Communication]\r\n- Cloud Storage [Online Communication]\r\n- Version Control [File Systems]\r\n- Office Suite [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/collaboration-tools/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.356Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/collaboration-tools.md': { + module: "# Collaboration Tools\r\n\r\nSoftware that enables multiple people to work together remotely\r\n\r\n", + metadata: { + sourceFile: "definitions/collaboration-tools.md", + compiledAt: "2026-02-23T00:32:17.357Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/compression/related-concepts.md': { + module: "# Compression - Related Concepts\r\n\r\n- ZIP File [File Systems]\r\n- Archive/Compression Tool [Common Software and Applications]\r\n- File Format [File Systems]\r\n- File [File Systems]\r\n- Storage [Computer Systems and Architecture]\r\n- Bandwidth [Internet Infrastructure]\r\n- Upload [File Systems]\r\n- Download [File Systems]\r\n- Streaming [Digital Communication and Platforms]\r\n- Algorithm [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/compression/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.357Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/compression.md': { + module: "# Compression\r\n\r\nReducing file size for storage or transmission\r\n\r\n", + metadata: { + sourceFile: "definitions/compression.md", + compiledAt: "2026-02-23T00:32:17.358Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/computational-thinking/related-concepts.md': { + module: "# Computational Thinking - Related Concepts\r\n\r\n- Decomposition [Computational Thinking]\r\n- Pattern Recognition [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Logical Reasoning [Computational Thinking]\r\n- Iteration [Computational Thinking]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/computational-thinking/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.358Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/computational-thinking.md': { + module: "# Computational Thinking\r\n\r\nProblem-solving process using computer science concepts\r\n\r\n", + metadata: { + sourceFile: "definitions/computational-thinking.md", + compiledAt: "2026-02-23T00:32:17.359Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/computer/related-concepts.md': { + module: "# Computer - Related Concepts\r\n\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- IPOS Model [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- ROM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/computer/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.359Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/computer.md': { + module: "# Computer\r\n\r\nA programmable electronic device that processes data using stored instructions\r\n\r\n", + metadata: { + sourceFile: "definitions/computer.md", + compiledAt: "2026-02-23T00:32:17.360Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/conditional/related-concepts.md': { + module: "# Conditional - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Logical Reasoning [Computational Thinking]\r\n", + metadata: { + sourceFile: "definitions/conditional/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.360Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/conditional.md': { + module: "# Conditional\r\n\r\nCode that executes different actions based on conditions\r\n\r\n", + metadata: { + sourceFile: "definitions/conditional.md", + compiledAt: "2026-02-23T00:32:17.361Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/content-creator/related-concepts.md': { + module: "# Content Creator - Related Concepts\r\n\r\n- Platform [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Influencer [Digital Communication and Platforms]\r\n- Hashtag [Digital Communication and Platforms]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Streaming [Digital Communication and Platforms]\r\n- Blog [Digital Communication and Platforms]\r\n- Podcast [Digital Communication and Platforms]\r\n- Viral [Digital Communication and Platforms]\r\n- Analytics [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/content-creator/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.361Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/content-creator.md': { + module: "# Content Creator\r\n\r\nPerson who produces digital content for online platforms\r\n\r\n", + metadata: { + sourceFile: "definitions/content-creator.md", + compiledAt: "2026-02-23T00:32:17.362Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/copyright/related-concepts.md': { + module: "# Copyright - Related Concepts\r\n\r\n- Fair Use [Intellectual Property]\r\n- Creative Commons [Intellectual Property]\r\n- Plagiarism [Intellectual Property]\r\n- Open Source [Intellectual Property]\r\n- Proprietary Software [Intellectual Property]\r\n- Software License [Operating Systems and Software]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Streaming [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Upload [File Systems]\r\n", + metadata: { + sourceFile: "definitions/copyright/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.362Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/copyright.md': { + module: "# Copyright\r\n\r\nLegal protection for original creative works\r\n\r\n", + metadata: { + sourceFile: "definitions/copyright.md", + compiledAt: "2026-02-23T00:32:17.363Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cpu/related-concepts.md': { + module: "# Cpu - Related Concepts\r\n\r\n- Computer [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- ROM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- IPOS Model [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/cpu/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.363Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cpu.md': { + module: "# CPU\r\n\r\nThe \"brain\" of the computer that executes instructions\r\n\r\n", + metadata: { + sourceFile: "definitions/cpu.md", + compiledAt: "2026-02-23T00:32:17.364Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/crash/related-concepts.md': { + module: "# Crash - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Bug [Programming Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Debugging [Programming Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Restart/Reboot [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/crash/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.364Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/crash.md': { + module: "# Crash\r\n\r\nSudden failure of software or system\r\n\r\n", + metadata: { + sourceFile: "definitions/crash.md", + compiledAt: "2026-02-23T00:32:17.365Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/creative-commons/related-concepts.md': { + module: "# Creative Commons - Related Concepts\r\n\r\n- Copyright [Intellectual Property]\r\n- Fair Use [Intellectual Property]\r\n- Software License [Operating Systems and Software]\r\n- Open Source [Intellectual Property]\r\n- Plagiarism [Intellectual Property]\r\n- Internet [Internet Infrastructure]\r\n- Platform [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Metadata [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/creative-commons/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.365Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/creative-commons.md': { + module: "# Creative Commons\r\n\r\nLicensing system for sharing creative works\r\n\r\n", + metadata: { + sourceFile: "definitions/creative-commons.md", + compiledAt: "2026-02-23T00:32:17.366Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cryptocurrency/related-concepts.md': { + module: "# Cryptocurrency - Related Concepts\r\n\r\n- Blockchain [Emerging Technologies]\r\n- Encryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n- Internet [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- API [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Algorithm [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/cryptocurrency/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.367Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cryptocurrency.md': { + module: "# Cryptocurrency\r\n\r\nDigital currency secured by cryptography\r\n\r\n", + metadata: { + sourceFile: "definitions/cryptocurrency.md", + compiledAt: "2026-02-23T00:32:17.367Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/css/related-concepts.md': { + module: "# Css - Related Concepts\r\n\r\n- HTML [Web Development]\r\n- JavaScript [Web Development]\r\n- Frontend [Web Development]\r\n- Responsive Design [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- User Interface [Digital Communication and Platforms]\r\n- Framework [Web Development]\r\n- Code [Programming Concepts]\r\n- File Extension [File Systems]\r\n", + metadata: { + sourceFile: "definitions/css/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.368Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/css.md': { + module: "# CSS\r\n\r\nCode used to style and format web pages\r\n\r\n", + metadata: { + sourceFile: "definitions/css.md", + compiledAt: "2026-02-23T00:32:17.369Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cybersecurity/related-concepts.md': { + module: "# Cybersecurity - Related Concepts\r\n\r\n- Malware [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Encryption [Authentication and Protection]\r\n- VPN [Authentication and Protection]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Data Breach [Threats and Attacks]\r\n", + metadata: { + sourceFile: "definitions/cybersecurity/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.369Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/cybersecurity.md': { + module: "# Cybersecurity\r\n\r\nPractice of protecting digital systems and data from threats\r\n\r\n", + metadata: { + sourceFile: "definitions/cybersecurity.md", + compiledAt: "2026-02-23T00:32:17.370Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dashboard/related-concepts.md': { + module: "# Dashboard - Related Concepts\r\n\r\n- Data [Data and Information Processing]\r\n- Information [Data and Information Processing]\r\n- Analytics [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Filter [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- API [Web Development]\r\n- User Interface [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/dashboard/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.370Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dashboard.md': { + module: "# Dashboard\r\n\r\nInterface displaying key information and metrics at a glance\r\n\r\n", + metadata: { + sourceFile: "definitions/dashboard.md", + compiledAt: "2026-02-23T00:32:17.371Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data/related-concepts.md': { + module: "# Data - Related Concepts\r\n\r\n- Information [Data and Information Processing]\r\n- Metadata [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Big Data [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Spreadsheet [Data and Information Processing]\r\n- Data Type [Programming Concepts]\r\n- Analytics [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/data/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.371Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-breach/related-concepts.md': { + module: "# Data Breach - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Intrusion [Threats and Attacks]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Malware [Cybersecurity Fundamentals]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Encryption [Authentication and Protection]\r\n- Database [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/data-breach/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.372Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-breach.md': { + module: "# Data Breach\r\n\r\nIncident where sensitive data is accessed without authorization\r\n\r\n", + metadata: { + sourceFile: "definitions/data-breach.md", + compiledAt: "2026-02-23T00:32:17.372Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-type/related-concepts.md': { + module: "# Data Type - Related Concepts\r\n\r\n- Variable [Programming Concepts]\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Data [Data and Information Processing]\r\n- Spreadsheet [Data and Information Processing]\r\n- Programming [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/data-type/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.373Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-type.md': { + module: "# Data Type\r\n\r\nCategory of data (number, text, true/false)\r\n\r\n", + metadata: { + sourceFile: "definitions/data-type.md", + compiledAt: "2026-02-23T00:32:17.373Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-visualization/related-concepts.md': { + module: "# Data Visualization - Related Concepts\r\n\r\n- Chart/Graph [Data and Information Processing]\r\n- Dashboard [Data and Information Processing]\r\n- Analytics [Data and Information Processing]\r\n- Data [Data and Information Processing]\r\n- Information [Data and Information Processing]\r\n- Spreadsheet [Data and Information Processing]\r\n- Table [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Filter [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/data-visualization/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.374Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data-visualization.md': { + module: "# Data Visualization\r\n\r\nGraphic representation of information and data\r\n\r\n", + metadata: { + sourceFile: "definitions/data-visualization.md", + compiledAt: "2026-02-23T00:32:17.374Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/data.md': { + module: "# Data\r\n\r\nRaw facts and figures without context\r\n\r\n", + metadata: { + sourceFile: "definitions/data.md", + compiledAt: "2026-02-23T00:32:17.375Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/database/related-concepts.md': { + module: "# Database - Related Concepts\r\n\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/database/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.375Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/database.md': { + module: "# Database\r\n\r\nOrganized collection of structured information\r\n\r\n", + metadata: { + sourceFile: "definitions/database.md", + compiledAt: "2026-02-23T00:32:17.376Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/debugging/related-concepts.md': { + module: "# Debugging - Related Concepts\r\n\r\n- Bug [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Crash [Problem-Solving Concepts]\r\n- Logical Reasoning [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Pattern Recognition [Computational Thinking]\r\n- Iteration [Computational Thinking]\r\n", + metadata: { + sourceFile: "definitions/debugging/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.376Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/debugging.md': { + module: "# Debugging\r\n\r\nProcess of finding and fixing errors in code\r\n\r\n", + metadata: { + sourceFile: "definitions/debugging.md", + compiledAt: "2026-02-23T00:32:17.377Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/decomposition/related-concepts.md': { + module: "# Decomposition - Related Concepts\r\n\r\n- Pattern Recognition [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Logical Reasoning [Computational Thinking]\r\n- Iteration [Computational Thinking]\r\n- Algorithm [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- System [Systems]\r\n- DSRP [Systems]\r\n", + metadata: { + sourceFile: "definitions/decomposition/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.377Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/decomposition.md': { + module: "# Decomposition\r\n\r\nBreaking complex problems into smaller, manageable parts\r\n\r\n", + metadata: { + sourceFile: "definitions/decomposition.md", + compiledAt: "2026-02-23T00:32:17.378Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/decryption/related-concepts.md': { + module: "# Decryption - Related Concepts\r\n\r\n- Encryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n- HTTPS [Internet Infrastructure]\r\n- VPN [Authentication and Protection]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Password [Authentication and Protection]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Algorithm [Programming Concepts]\r\n- Data [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/decryption/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.378Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/decryption.md': { + module: "# Decryption\r\n\r\nConverting encrypted data back to readable form\r\n\r\n", + metadata: { + sourceFile: "definitions/decryption.md", + compiledAt: "2026-02-23T00:32:17.379Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/device-driver/related-concepts.md': { + module: "# Device Driver - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- Hardware [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Embedded System [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/device-driver/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.379Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/device-driver.md': { + module: "# Device Driver\r\n\r\nSoftware that allows the operating system to communicate with hardware\r\n\r\n", + metadata: { + sourceFile: "definitions/device-driver.md", + compiledAt: "2026-02-23T00:32:17.380Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/digital-certificate/related-concepts.md': { + module: "# Digital Certificate - Related Concepts\r\n\r\n- Encryption [Authentication and Protection]\r\n- Decryption [Authentication and Protection]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- Digital Identity [Online Communication]\r\n- VPN [Authentication and Protection]\r\n- Internet [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/digital-certificate/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.380Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/digital-certificate.md': { + module: "# Digital Certificate\r\n\r\nElectronic document that verifies identity\r\n\r\n", + metadata: { + sourceFile: "definitions/digital-certificate.md", + compiledAt: "2026-02-23T00:32:17.381Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/digital-identity/related-concepts.md': { + module: "# Digital Identity - Related Concepts\r\n\r\n- Profile [Online Communication]\r\n- Social Media [Online Communication]\r\n- Social Network [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- Metadata [Data and Information Processing]\r\n- Web Cookie [Web Development]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Biometrics [Emerging Technologies]\r\n- Spoofing [Threats and Attacks]\r\n", + metadata: { + sourceFile: "definitions/digital-identity/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.381Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/digital-identity.md': { + module: "# Digital Identity\r\n\r\nHow you are represented and perceived online\r\n\r\n", + metadata: { + sourceFile: "definitions/digital-identity.md", + compiledAt: "2026-02-23T00:32:17.382Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dns/related-concepts.md': { + module: "# Dns - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/dns/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.382Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dns.md': { + module: "# DNS\r\n\r\nSystem that translates domain names to IP addresses\r\n\r\n", + metadata: { + sourceFile: "definitions/dns.md", + compiledAt: "2026-02-23T00:32:17.383Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/documentation/related-concepts.md': { + module: "# Documentation - Related Concepts\r\n\r\n- 'Tutorial [Problem-Solving Concepts]'\r\n- 'FAQ [Problem-Solving Concepts]'\r\n- 'Troubleshooting [Problem-Solving Concepts]'\r\n- 'Help Desk [Problem-Solving Concepts]'\r\n- 'Tech Support [Problem-Solving Concepts]'\r\n- 'Installation [Common Software and Applications]'\r\n- 'API [Web Development]'\r\n- 'HTML [Web Development]'\r\n- 'PDF [Common Software and Applications]'\r\n- 'Error Message [Problem-Solving Concepts]'\r\n", + metadata: { + sourceFile: "definitions/documentation/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.383Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/documentation.md': { + module: "# Documentation\r\n\r\nWritten materials that explain how to use software or systems\r\n\r\n", + metadata: { + sourceFile: "definitions/documentation.md", + compiledAt: "2026-02-23T00:32:17.384Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/domain-name/related-concepts.md': { + module: "# Domain Name - Related Concepts\r\n\r\n- DNS [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Digital Certificate [Authentication and Protection]\r\n- ISP [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/domain-name/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.384Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/domain-name.md': { + module: "# Domain Name\r\n\r\nHuman-readable address for a website\r\n\r\n", + metadata: { + sourceFile: "definitions/domain-name.md", + compiledAt: "2026-02-23T00:32:17.385Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/download/related-concepts.md': { + module: "# Download - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- File [File Systems]\r\n", + metadata: { + sourceFile: "definitions/download/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.385Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/download.md': { + module: "# Download\r\n\r\nTransferring a file from a remote server to your device\r\n\r\n", + metadata: { + sourceFile: "definitions/download.md", + compiledAt: "2026-02-23T00:32:17.386Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dsrp/related-concepts.md': { + module: "# Dsrp - Related Concepts\r\n\r\n- System [Systems]\r\n- DSRP [Systems]\r\n- Computational Thinking [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Pattern Recognition [Computational Thinking]\r\n- Logical Reasoning [Computational Thinking]\r\n- Relationship [Databases and Structured Data]\r\n- Social Network [Online Communication]\r\n- Data Visualization [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/dsrp/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.386Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/dsrp.md': { + module: "# DSRP\r\n\r\nA framework for thinking about systems: Distinctions, Systems, Relations, and Perspectives\r\n\r\n", + metadata: { + sourceFile: "definitions/dsrp.md", + compiledAt: "2026-02-23T00:32:17.387Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/email/related-concepts.md': { + module: "# Email - Related Concepts\r\n\r\nTop ten most related concepts to Email (Electronic messaging system):\r\n- Internet [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Web Browser [Internet Infrastructure]\r\n- Application Software [Operating Systems and Software]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Encryption [Authentication and Protection]\r\n- Phishing [Threats and Attacks]\r\n- File [File Systems]\r\n- DNS [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/email/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.388Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/email.md': { + module: "# Email\r\n\r\nElectronic messaging system\r\n\r\n", + metadata: { + sourceFile: "definitions/email.md", + compiledAt: "2026-02-23T00:32:17.388Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/embedded-system/related-concepts.md': { + module: "# Embedded System - Related Concepts\r\n\r\n- Computer [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- ROM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/embedded-system/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.389Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/embedded-system.md': { + module: "# Embedded System\r\n\r\nA computer built into another device for specific purposes\r\n\r\n", + metadata: { + sourceFile: "definitions/embedded-system.md", + compiledAt: "2026-02-23T00:32:17.389Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/encryption/related-concepts.md': { + module: "# Encryption - Related Concepts\r\n\r\n- Decryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n- HTTPS [Internet Infrastructure]\r\n- VPN [Authentication and Protection]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Data [Data and Information Processing]\r\n- WiFi [Internet Infrastructure]\r\n- Cloud Storage [Online Communication]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Database [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/encryption/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.390Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/encryption.md': { + module: "# Encryption\r\n\r\nConverting data into coded form to prevent unauthorized access\r\n\r\n", + metadata: { + sourceFile: "definitions/encryption.md", + compiledAt: "2026-02-23T00:32:17.390Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/error-message/related-concepts.md': { + module: "# Error Message - Related Concepts\r\n\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Crash [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Bug [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- User Interface [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/error-message/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.391Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/error-message.md': { + module: "# Error Message\r\n\r\nText that appears when software encounters a problem\r\n\r\n", + metadata: { + sourceFile: "definitions/error-message.md", + compiledAt: "2026-02-23T00:32:17.391Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/fair-use/related-concepts.md': { + module: "# Fair Use - Related Concepts\r\n\r\n- Copyright [Intellectual Property]\r\n- Creative Commons [Intellectual Property]\r\n- Software License [Operating Systems and Software]\r\n- Open Source [Intellectual Property]\r\n- Proprietary Software [Intellectual Property]\r\n- Plagiarism [Intellectual Property]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Streaming [Digital Communication and Platforms]\r\n- Download [File Systems]\r\n", + metadata: { + sourceFile: "definitions/fair-use/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.392Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/fair-use.md': { + module: "# Fair Use\r\n\r\nLimited use of copyrighted material without permission\r\n\r\n", + metadata: { + sourceFile: "definitions/fair-use.md", + compiledAt: "2026-02-23T00:32:17.392Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/faq/related-concepts.md': { + module: "# Faq - Related Concepts\r\n\r\n- FAQ [Problem-Solving Concepts]\r\n- Documentation [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Tech Support [Problem-Solving Concepts]\r\n- Help Desk [Problem-Solving Concepts]\r\n- Tutorial [Problem-Solving Concepts]\r\n- Search Engine [Internet Infrastructure]\r\n- Chatbot [Emerging Technologies]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/faq/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.393Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/faq.md': { + module: "# FAQ\r\n\r\nList of common questions and answers\r\n\r\n", + metadata: { + sourceFile: "definitions/faq.md", + compiledAt: "2026-02-23T00:32:17.393Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/field/related-concepts.md': { + module: "# Field - Related Concepts\r\n\r\n- Table [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Data Type [Programming Concepts]\r\n- Spreadsheet [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/field/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.394Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/field.md': { + module: "# Field\r\n\r\nIndividual data element (column in a table)\r\n\r\n", + metadata: { + sourceFile: "definitions/field.md", + compiledAt: "2026-02-23T00:32:17.394Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file/related-concepts.md': { + module: "# File - Related Concepts\r\n\r\n- Folder [File Systems]\r\n- File Extension [File Systems]\r\n- File Path [File Systems]\r\n- Absolute Path [File Systems]\r\n- Relative Path [File Systems]\r\n- File Management [File Systems]\r\n- File Format [File Systems]\r\n- Metadata [Data and Information Processing]\r\n- Storage [Computer Systems and Architecture]\r\n- Backup [File Systems]\r\n", + metadata: { + sourceFile: "definitions/file/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.395Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-extension/related-concepts.md': { + module: "# File Extension - Related Concepts\r\n\r\n- File [File Systems]\r\n- File Format [File Systems]\r\n- File Path [File Systems]\r\n- File Management [File Systems]\r\n- Compression [File Systems]\r\n- ZIP File [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Archive/Compression Tool [Common Software and Applications]\r\n- PDF [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/file-extension/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.396Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-extension.md': { + module: "# File Extension\r\n\r\nSuffix that indicates file type (.txt, .pdf, .jpg)\r\n\r\n", + metadata: { + sourceFile: "definitions/file-extension.md", + compiledAt: "2026-02-23T00:32:17.396Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-format/related-concepts.md': { + module: "# File Format - Related Concepts\r\n\r\n- File [File Systems]\r\n- File Extension [File Systems]\r\n- Compression [File Systems]\r\n- ZIP File [File Systems]\r\n- PDF [Common Software and Applications]\r\n- Data [Data and Information Processing]\r\n- Metadata [Data and Information Processing]\r\n- Word Processor [Common Software and Applications]\r\n- Image Editor [Common Software and Applications]\r\n- Archive/Compression Tool [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/file-format/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.397Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-format.md': { + module: "# File Format\r\n\r\nStandard way that information is encoded for storage\r\n\r\n", + metadata: { + sourceFile: "definitions/file-format.md", + compiledAt: "2026-02-23T00:32:17.397Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-management/related-concepts.md': { + module: "# File Management - Related Concepts\r\n\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Path [File Systems]\r\n- File Extension [File Systems]\r\n- File Format [File Systems]\r\n- Storage [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Backup [File Systems]\r\n- Cloud Storage [Online Communication]\r\n- Metadata [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/file-management/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.398Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-management.md': { + module: "# File Management\r\n\r\nOrganizing, storing, and retrieving digital files\r\n\r\n", + metadata: { + sourceFile: "definitions/file-management.md", + compiledAt: "2026-02-23T00:32:17.399Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-path/related-concepts.md': { + module: "# File Path - Related Concepts\r\n\r\n- Folder [File Systems]\r\n- File [File Systems]\r\n- Absolute Path [File Systems]\r\n- Relative Path [File Systems]\r\n- File Management [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- Storage [Computer Systems and Architecture]\r\n- File Extension [File Systems]\r\n- Metadata [Data and Information Processing]\r\n- Sync [File Systems]\r\n", + metadata: { + sourceFile: "definitions/file-path/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.399Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file-path.md': { + module: "# File Path\r\n\r\nLocation of a file in the folder hierarchy\r\n\r\n", + metadata: { + sourceFile: "definitions/file-path.md", + compiledAt: "2026-02-23T00:32:17.400Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/file.md': { + module: "# File\r\n\r\nNamed collection of data stored on a computer\r\n\r\n", + metadata: { + sourceFile: "definitions/file.md", + compiledAt: "2026-02-23T00:32:17.400Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/filter/related-concepts.md': { + module: "# Filter - Related Concepts\r\n\r\n- Spreadsheet [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Sort [Data and Information Processing]\r\n- Data [Data and Information Processing]\r\n- Formula [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/filter/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.401Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/filter.md': { + module: "# Filter\r\n\r\nTool for displaying only data that meets specific criteria\r\n\r\n", + metadata: { + sourceFile: "definitions/filter.md", + compiledAt: "2026-02-23T00:32:17.401Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/firewall/related-concepts.md': { + module: "# Firewall - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Malware [Cybersecurity Fundamentals]\r\n- Intrusion [Threats and Attacks]\r\n- Data Breach [Threats and Attacks]\r\n- VPN [Authentication and Protection]\r\n- Router [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/firewall/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.402Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/firewall.md': { + module: "# Firewall\r\n\r\nSecurity system that monitors and controls network traffic\r\n\r\n", + metadata: { + sourceFile: "definitions/firewall.md", + compiledAt: "2026-02-23T00:32:17.403Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/folder/related-concepts.md': { + module: "# Folder - Related Concepts\r\n\r\n- File [File Systems]\r\n- File Path [File Systems]\r\n- Absolute Path [File Systems]\r\n- Relative Path [File Systems]\r\n- File Management [File Systems]\r\n- Backup [File Systems]\r\n- Sync [File Systems]\r\n- ZIP File [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- Storage [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/folder/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.403Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/folder.md': { + module: "# Folder\r\n\r\nContainer for organizing files\r\n\r\n", + metadata: { + sourceFile: "definitions/folder.md", + compiledAt: "2026-02-23T00:32:17.404Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/formula/related-concepts.md': { + module: "# Formula - Related Concepts\r\n\r\n- Spreadsheet [Data and Information Processing]\r\n- Function [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data [Data and Information Processing]\r\n- Algorithm [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Analytics [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Programming [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/formula/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.404Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/formula.md': { + module: "# Formula\r\n\r\nMathematical expression used to calculate values\r\n\r\n", + metadata: { + sourceFile: "definitions/formula.md", + compiledAt: "2026-02-23T00:32:17.405Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/framework/related-concepts.md': { + module: "# Framework - Related Concepts\r\n\r\n- Framework [Web Development]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- API [Web Development]\r\n- Frontend [Web Development]\r\n- Backend [Web Development]\r\n- Plugin [Web Development]\r\n- Software [Computer Systems and Architecture]\r\n- Application Software [Operating Systems and Software]\r\n- Open Source [Intellectual Property]\r\n", + metadata: { + sourceFile: "definitions/framework/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.405Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/framework.md': { + module: "# Framework\r\n\r\nPre-built code structure that simplifies development\r\n\r\n", + metadata: { + sourceFile: "definitions/framework.md", + compiledAt: "2026-02-23T00:32:17.406Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/freezehang/related-concepts.md': { + module: "# Freezehang - Related Concepts\r\n\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Multithreading [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Crash [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Restart/Reboot [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/freezehang/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.406Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/freezehang.md': { + module: "# Freeze/Hang\r\n\r\nWhen software stops responding to user input\r\n\r\n", + metadata: { + sourceFile: "definitions/freezehang.md", + compiledAt: "2026-02-23T00:32:17.407Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/frontend/related-concepts.md': { + module: "# Frontend - Related Concepts\r\n\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Backend [Web Development]\r\n- API [Web Development]\r\n- Responsive Design [Web Development]\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/frontend/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.407Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/frontend.md': { + module: "# Frontend\r\n\r\nUser-facing part of a web application\r\n\r\n", + metadata: { + sourceFile: "definitions/frontend.md", + compiledAt: "2026-02-23T00:32:17.408Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/function/related-concepts.md': { + module: "# Function - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Bug [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/function/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.408Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/function.md': { + module: "# Function\r\n\r\nReusable block of code that performs a specific task\r\n\r\n", + metadata: { + sourceFile: "definitions/function.md", + compiledAt: "2026-02-23T00:32:17.409Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hardware/related-concepts.md': { + module: "# Hardware - Related Concepts\r\n\r\n- Computer [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- ROM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- IPOS Model [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/hardware/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.409Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hardware.md': { + module: "# Hardware\r\n\r\nThe physical components of a computer system\r\n\r\n", + metadata: { + sourceFile: "definitions/hardware.md", + compiledAt: "2026-02-23T00:32:17.410Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hashtag/related-concepts.md': { + module: "# Hashtag - Related Concepts\r\n\r\n- Social Media [Online Communication]\r\n- Social Network [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Metadata [Data and Information Processing]\r\n- Search Engine [Internet Infrastructure]\r\n- Filter [Data and Information Processing]\r\n- Viral [Digital Communication and Platforms]\r\n- Influencer [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/hashtag/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.410Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hashtag.md': { + module: "# Hashtag\r\n\r\nMetadata tag used to categorize content on social media\r\n\r\n", + metadata: { + sourceFile: "definitions/hashtag.md", + compiledAt: "2026-02-23T00:32:17.411Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/help-desk/related-concepts.md': { + module: "# Help Desk - Related Concepts\r\n\r\n- Tech Support [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Remote Access [Problem-Solving Concepts]\r\n- Documentation [Problem-Solving Concepts]\r\n- FAQ [Problem-Solving Concepts]\r\n- Software Update [Common Software and Applications]\r\n- Installation [Common Software and Applications]\r\n- Password [Authentication and Protection]\r\n- Restart/Reboot [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/help-desk/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.411Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/help-desk.md': { + module: "# Help Desk\r\n\r\nSupport service that assists users with technical issues\r\n\r\n", + metadata: { + sourceFile: "definitions/help-desk.md", + compiledAt: "2026-02-23T00:32:17.412Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/html/related-concepts.md': { + module: "# Html - Related Concepts\r\n\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Hyperlink [Web Development]\r\n- Frontend [Web Development]\r\n- Responsive Design [Web Development]\r\n", + metadata: { + sourceFile: "definitions/html/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.412Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/html.md': { + module: "# HTML\r\n\r\nCode used to structure web content\r\n\r\n", + metadata: { + sourceFile: "definitions/html.md", + compiledAt: "2026-02-23T00:32:17.413Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/http/related-concepts.md': { + module: "# Http - Related Concepts\r\n\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- Web Cookie [Web Development]\r\n- Caching [Web Development]\r\n", + metadata: { + sourceFile: "definitions/http/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.413Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/http.md': { + module: "# HTTP\r\n\r\nStandard for transferring web content\r\n\r\n", + metadata: { + sourceFile: "definitions/http.md", + compiledAt: "2026-02-23T00:32:17.414Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/https/related-concepts.md': { + module: "# Https - Related Concepts\r\n\r\n- HTTP [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Encryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n", + metadata: { + sourceFile: "definitions/https/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.414Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/https.md': { + module: "# HTTPS\r\n\r\nSecure version of HTTP with encryption\r\n\r\n", + metadata: { + sourceFile: "definitions/https.md", + compiledAt: "2026-02-23T00:32:17.415Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hyperlink/related-concepts.md': { + module: "# Hyperlink - Related Concepts\r\n\r\n- URL [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- Relative Path [File Systems]\r\n- Absolute Path [File Systems]\r\n", + metadata: { + sourceFile: "definitions/hyperlink/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.415Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/hyperlink.md': { + module: "# Hyperlink\r\n\r\nClickable connection between web pages or resources\r\n\r\n", + metadata: { + sourceFile: "definitions/hyperlink.md", + compiledAt: "2026-02-23T00:32:17.416Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/image-editor/related-concepts.md': { + module: "# Image Editor - Related Concepts\r\n\r\nTop ten most related concepts to Image Editor:\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Local Application [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- User Interface [Digital Communication and Platforms]\r\n- Plugin [Web Development]\r\n- File Format [File Systems]\r\n- File Extension [File Systems]\r\n- Metadata [Data and Information Processing]\r\n- Compression [File Systems]\r\n", + metadata: { + sourceFile: "definitions/image-editor/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.417Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/image-editor.md': { + module: "# Image Editor\r\n\r\nSoftware for modifying and enhancing digital images\r\n\r\n", + metadata: { + sourceFile: "definitions/image-editor.md", + compiledAt: "2026-02-23T00:32:17.417Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/index/related-concepts.md': { + module: "# Index - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/index/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.418Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/index.md': { + module: "# Index\r\n\r\nDatabase feature that speeds up data retrieval\r\n\r\n", + metadata: { + sourceFile: "definitions/index.md", + compiledAt: "2026-02-23T00:32:17.418Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/influencer/related-concepts.md': { + module: "# Influencer - Related Concepts\r\n\r\n- Social Media [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Social Network [Online Communication]\r\n- Hashtag [Digital Communication and Platforms]\r\n- Viral [Digital Communication and Platforms]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Profile [Online Communication]\r\n- Digital Identity [Online Communication]\r\n- Streaming [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/influencer/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.419Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/influencer.md': { + module: "# Influencer\r\n\r\nPerson with significant online following who can affect opinions\r\n\r\n", + metadata: { + sourceFile: "definitions/influencer.md", + compiledAt: "2026-02-23T00:32:17.420Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/information/related-concepts.md': { + module: "# Information - Related Concepts\r\n\r\n- Data [Data and Information Processing]\r\n- Metadata [Data and Information Processing]\r\n- Analytics [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Dashboard [Data and Information Processing]\r\n- Spreadsheet [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/information/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.420Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/information.md': { + module: "# Information\r\n\r\nProcessed data that has meaning and context\r\n\r\n", + metadata: { + sourceFile: "definitions/information.md", + compiledAt: "2026-02-23T00:32:17.421Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/input-device/related-concepts.md': { + module: "# Input Device - Related Concepts\r\n\r\n- Hardware [Computer Systems and Architecture]\r\n- Computer [Computer Systems and Architecture]\r\n- IPOS Model [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- User Interface [Digital Communication and Platforms]\r\n- Data [Data and Information Processing]\r\n- CPU [Computer Systems and Architecture]\r\n- Biometrics [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/input-device/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.421Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/input-device.md': { + module: "# Input Device\r\n\r\nHardware that allows users to enter data (keyboard, mouse, touchscreen)\r\n\r\n", + metadata: { + sourceFile: "definitions/input-device.md", + compiledAt: "2026-02-23T00:32:17.422Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/installation/related-concepts.md': { + module: "# Installation - Related Concepts\r\n\r\nTop 10 most related concepts to Installation (Process of setting up software on a computer):\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Software License [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Download [File Systems]\r\n- Software Update [Common Software and Applications]\r\n- Uninstall [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/installation/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.422Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/installation.md': { + module: "# Installation\r\n\r\nProcess of setting up software on a computer\r\n\r\n", + metadata: { + sourceFile: "definitions/installation.md", + compiledAt: "2026-02-23T00:32:17.423Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/instant-messaging/related-concepts.md': { + module: "# Instant Messaging - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Platform [Digital Communication and Platforms]\r\n- User Interface [Digital Communication and Platforms]\r\n- Notification [Digital Communication and Platforms]\r\n- Encryption [Authentication and Protection]\r\n- API [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- Cloud Computing [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/instant-messaging/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.423Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/instant-messaging.md': { + module: "# Instant Messaging\r\n\r\nReal-time text communication between users\r\n\r\n", + metadata: { + sourceFile: "definitions/instant-messaging.md", + compiledAt: "2026-02-23T00:32:17.424Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/internet/related-concepts.md': { + module: "# Internet - Related Concepts\r\n\r\n- IP Address [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/internet/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.424Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/internet-of-things/related-concepts.md': { + module: "# Internet Of Things - Related Concepts\r\n\r\n- Embedded System [Computer Systems and Architecture]\r\n- Smart Device [Emerging Technologies]\r\n- Internet [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Cloud Computing [Operating Systems and Software]\r\n- 5G [Emerging Technologies]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Automation [Emerging Technologies]\r\n- Wearable Technology [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/internet-of-things/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.425Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/internet-of-things.md': { + module: "# Internet of Things\r\n\r\nNetwork of connected everyday objects\r\n\r\n", + metadata: { + sourceFile: "definitions/internet-of-things.md", + compiledAt: "2026-02-23T00:32:17.425Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/internet.md': { + module: "# Internet\r\n\r\nGlobal network of interconnected computers\r\n\r\n", + metadata: { + sourceFile: "definitions/internet.md", + compiledAt: "2026-02-23T00:32:17.426Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/intrusion/related-concepts.md': { + module: "# Intrusion - Related Concepts\r\n\r\n- 'Cybersecurity [Cybersecurity Fundamentals]'\r\n- 'Firewall [Cybersecurity Fundamentals]'\r\n- 'Malware [Cybersecurity Fundamentals]'\r\n- 'Phishing [Threats and Attacks]'\r\n- 'Social Engineering [Threats and Attacks]'\r\n- 'Spoofing [Threats and Attacks]'\r\n- 'Zero-Day Exploit [Threats and Attacks]'\r\n- 'Data Breach [Threats and Attacks]'\r\n- 'Password [Authentication and Protection]'\r\n- 'Two-Factor Authentication [Authentication and Protection]'\r\n", + metadata: { + sourceFile: "definitions/intrusion/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.426Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/intrusion.md': { + module: "# Intrusion\r\n\r\nUnauthorized access to a computer system\r\n\r\n", + metadata: { + sourceFile: "definitions/intrusion.md", + compiledAt: "2026-02-23T00:32:17.427Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ip-address/related-concepts.md': { + module: "# Ip Address - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/ip-address/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.428Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ip-address.md': { + module: "# IP Address\r\n\r\nNumerical address that identifies devices on a network\r\n\r\n", + metadata: { + sourceFile: "definitions/ip-address.md", + compiledAt: "2026-02-23T00:32:17.428Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ipos-model/related-concepts.md': { + module: "# Ipos Model - Related Concepts\r\n\r\n- Computer [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Data [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/ipos-model/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.429Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ipos-model.md': { + module: "# IPOS Model\r\n\r\nInput, Processing, Output, Storage - the four fundamental computer operations\r\n\r\n", + metadata: { + sourceFile: "definitions/ipos-model.md", + compiledAt: "2026-02-23T00:32:17.429Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/isp/related-concepts.md': { + module: "# Isp - Related Concepts\r\n\r\nTop ten most related concepts to ISP (Internet Service Provider):\r\n\r\n- Internet [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- VPN [Authentication and Protection]\r\n- 5G [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/isp/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.430Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/isp.md': { + module: "# ISP\r\n\r\nCompany that provides internet access\r\n\r\n", + metadata: { + sourceFile: "definitions/isp.md", + compiledAt: "2026-02-23T00:32:17.431Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/iteration/related-concepts.md': { + module: "# Iteration - Related Concepts\r\n\r\n- Loop [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Computational Thinking [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Version Control [File Systems]\r\n- Machine Learning [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/iteration/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.431Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/iteration.md': { + module: "# Iteration\r\n\r\nRepeating a process to improve or refine results\r\n\r\n", + metadata: { + sourceFile: "definitions/iteration.md", + compiledAt: "2026-02-23T00:32:17.432Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/javascript/related-concepts.md': { + module: "# Javascript - Related Concepts\r\n\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Frontend [Web Development]\r\n- Backend [Web Development]\r\n- API [Web Development]\r\n- Framework [Web Development]\r\n- HTTP [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/javascript/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.432Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/javascript.md': { + module: "# JavaScript\r\n\r\nProgramming language that adds interactivity to web pages\r\n\r\n", + metadata: { + sourceFile: "definitions/javascript.md", + compiledAt: "2026-02-23T00:32:17.433Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/local-application/related-concepts.md': { + module: "# Local Application - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- Installation [Common Software and Applications]\r\n- Uninstall [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Software License [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Download [File Systems]\r\n- File [File Systems]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/local-application/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.433Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/local-application.md': { + module: "# Local Application\r\n\r\nSoftware installed and run on your device\r\n\r\n", + metadata: { + sourceFile: "definitions/local-application.md", + compiledAt: "2026-02-23T00:32:17.434Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/logical-reasoning/related-concepts.md': { + module: "# Logical Reasoning - Related Concepts\r\n\r\n- Computational Thinking [Computational Thinking]\r\n- Algorithm [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Pattern Recognition [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Iteration [Computational Thinking]\r\n- Programming [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/logical-reasoning/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.434Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/logical-reasoning.md': { + module: "# Logical Reasoning\r\n\r\nUsing rules and principles to reach valid conclusions\r\n\r\n", + metadata: { + sourceFile: "definitions/logical-reasoning.md", + compiledAt: "2026-02-23T00:32:17.435Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/loop/related-concepts.md': { + module: "# Loop - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Iteration [Computational Thinking]\r\n- Debugging [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/loop/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.435Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/loop.md': { + module: "# Loop\r\n\r\nCode structure that repeats instructions\r\n\r\n", + metadata: { + sourceFile: "definitions/loop.md", + compiledAt: "2026-02-23T00:32:17.436Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/machine-learning/related-concepts.md': { + module: "# Machine Learning - Related Concepts\r\n\r\n- Artificial Intelligence [Emerging Technologies]\r\n- Data [Data and Information Processing]\r\n- Algorithm [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- Analytics [Data and Information Processing]\r\n- Big Data [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Automation [Emerging Technologies]\r\n- API [Web Development]\r\n", + metadata: { + sourceFile: "definitions/machine-learning/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.436Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/machine-learning.md': { + module: "# Machine Learning\r\n\r\nAI systems that improve through experience\r\n\r\n", + metadata: { + sourceFile: "definitions/machine-learning.md", + compiledAt: "2026-02-23T00:32:17.437Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/malware/related-concepts.md': { + module: "# Malware - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Virus [Cybersecurity Fundamentals]\r\n- Trojan [Cybersecurity Fundamentals]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Rootkit [Cybersecurity Fundamentals]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Zero-Day Exploit [Threats and Attacks]\r\n- Phishing [Threats and Attacks]\r\n- Data Breach [Threats and Attacks]\r\n", + metadata: { + sourceFile: "definitions/malware/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.437Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/malware.md': { + module: "# Malware\r\n\r\nMalicious software designed to harm or exploit systems\r\n\r\n", + metadata: { + sourceFile: "definitions/malware.md", + compiledAt: "2026-02-23T00:32:17.438Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/media-player/related-concepts.md': { + module: "# Media Player - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- File Format [File Systems]\r\n- File Extension [File Systems]\r\n- Streaming [Digital Communication and Platforms]\r\n- Output Device [Computer Systems and Architecture]\r\n- Compression [File Systems]\r\n- Metadata [Data and Information Processing]\r\n- User Interface [Digital Communication and Platforms]\r\n- Caching [Web Development]\r\n", + metadata: { + sourceFile: "definitions/media-player/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.438Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/media-player.md': { + module: "# Media Player\r\n\r\nApplication for playing audio and video files\r\n\r\n", + metadata: { + sourceFile: "definitions/media-player.md", + compiledAt: "2026-02-23T00:32:17.439Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/metadata/related-concepts.md': { + module: "# Metadata - Related Concepts\r\n\r\nTop ten most related concepts to Metadata:\r\n\r\n- Data [Data and Information Processing]\r\n- Information [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- File [File Systems]\r\n- File Format [File Systems]\r\n- File Extension [File Systems]\r\n- Index [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/metadata/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.439Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/metadata.md': { + module: "# Metadata\r\n\r\nData that describes other data\r\n\r\n", + metadata: { + sourceFile: "definitions/metadata.md", + compiledAt: "2026-02-23T00:32:17.440Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multiprocessing/related-concepts.md': { + module: "# Multiprocessing - Related Concepts\r\n\r\n- CPU [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Multithreading [Operating Systems and Software]\r\n- Multitasking [Operating Systems and Software]\r\n- Hardware [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Software [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Computer [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/multiprocessing/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.440Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multiprocessing.md': { + module: "# Multiprocessing\r\n\r\nUsing multiple processors to increase computing power\r\n\r\n", + metadata: { + sourceFile: "definitions/multiprocessing.md", + compiledAt: "2026-02-23T00:32:17.441Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multitasking/related-concepts.md': { + module: "# Multitasking - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Multithreading [Operating Systems and Software]\r\n- Multiprocessing [Operating Systems and Software]\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- Computer [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/multitasking/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.441Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multitasking.md': { + module: "# Multitasking\r\n\r\nRunning multiple programs simultaneously\r\n\r\n", + metadata: { + sourceFile: "definitions/multitasking.md", + compiledAt: "2026-02-23T00:32:17.442Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multithreading/related-concepts.md': { + module: "# Multithreading - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- CPU [Computer Systems and Architecture]\r\n- Multitasking [Operating Systems and Software]\r\n- Multiprocessing [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Software [Computer Systems and Architecture]\r\n- Application Software [Operating Systems and Software]\r\n- Programming [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- RAM [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/multithreading/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.442Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/multithreading.md': { + module: "# Multithreading\r\n\r\nBreaking programs into smaller, concurrent tasks\r\n\r\n", + metadata: { + sourceFile: "definitions/multithreading.md", + compiledAt: "2026-02-23T00:32:17.443Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/nosql/related-concepts.md': { + module: "# Nosql - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- Big Data [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Backend [Web Development]\r\n- API [Web Development]\r\n- Cloud Storage [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/nosql/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.443Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/nosql.md': { + module: "# NoSQL\r\n\r\nDatabase systems designed for flexibility and large-scale data\r\n\r\n", + metadata: { + sourceFile: "definitions/nosql.md", + compiledAt: "2026-02-23T00:32:17.444Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/notification/related-concepts.md': { + module: "# Notification - Related Concepts\r\n\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- Web Browser [Internet Infrastructure]\r\n- API [Web Development]\r\n- Backend [Web Development]\r\n- Frontend [Web Development]\r\n- Email [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/notification/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.444Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/notification.md': { + module: "# Notification\r\n\r\nAlert or message sent to inform users of events\r\n\r\n", + metadata: { + sourceFile: "definitions/notification.md", + compiledAt: "2026-02-23T00:32:17.445Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/office-suite/related-concepts.md': { + module: "# Office Suite - Related Concepts\r\n\r\n- Word Processor [Common Software and Applications]\r\n- Spreadsheet [Data and Information Processing]\r\n- Presentation Software [Common Software and Applications]\r\n- Application Software [Operating Systems and Software]\r\n- File [File Systems]\r\n- File Format [File Systems]\r\n- PDF [Common Software and Applications]\r\n- Collaboration Tools [Online Communication]\r\n- Cloud Storage [Online Communication]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/office-suite/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.445Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/office-suite.md': { + module: "# Office Suite\r\n\r\nCollection of productivity applications (word processing, spreadsheets, presentations)\r\n\r\n", + metadata: { + sourceFile: "definitions/office-suite.md", + compiledAt: "2026-02-23T00:32:17.446Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/open-source/related-concepts.md': { + module: "# Open Source - Related Concepts\r\n\r\n- Software License [Operating Systems and Software]\r\n- Proprietary Software [Intellectual Property]\r\n- Software [Computer Systems and Architecture]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Version Control [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Copyright [Intellectual Property]\r\n", + metadata: { + sourceFile: "definitions/open-source/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.446Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/open-source.md': { + module: "# Open Source\r\n\r\nSoftware with publicly available source code\r\n\r\n", + metadata: { + sourceFile: "definitions/open-source.md", + compiledAt: "2026-02-23T00:32:17.447Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/operating-system/related-concepts.md': { + module: "# Operating System - Related Concepts\r\n\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Multitasking [Operating Systems and Software]\r\n- File [File Systems]\r\n", + metadata: { + sourceFile: "definitions/operating-system/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.448Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/operating-system.md': { + module: "# Operating System\r\n\r\nSoftware that manages computer hardware and provides services to other programs\r\n\r\n", + metadata: { + sourceFile: "definitions/operating-system.md", + compiledAt: "2026-02-23T00:32:17.448Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/output-device/related-concepts.md': { + module: "# Output Device - Related Concepts\r\n\r\n- Output Device [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- Computer [Computer Systems and Architecture]\r\n- IPOS Model [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Input Device [Computer Systems and Architecture]\r\n- User Interface [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/output-device/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.449Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/output-device.md': { + module: "# Output Device\r\n\r\nHardware that presents information to users (monitor, printer, speakers)\r\n\r\n", + metadata: { + sourceFile: "definitions/output-device.md", + compiledAt: "2026-02-23T00:32:17.449Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/password/related-concepts.md': { + module: "# Password - Related Concepts\r\n\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Encryption [Authentication and Protection]\r\n- HTTPS [Internet Infrastructure]\r\n- Digital Certificate [Authentication and Protection]\r\n- Digital Identity [Online Communication]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Data Breach [Threats and Attacks]\r\n- Web Application [Operating Systems and Software]\r\n- Biometrics [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/password/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.450Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/password.md': { + module: "# Password\r\n\r\nSecret phrase used to verify identity\r\n\r\n", + metadata: { + sourceFile: "definitions/password.md", + compiledAt: "2026-02-23T00:32:17.451Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pattern-recognition/related-concepts.md': { + module: "# Pattern Recognition - Related Concepts\r\n\r\n- Computational Thinking [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Logical Reasoning [Computational Thinking]\r\n- Algorithm [Programming Concepts]\r\n- Data [Data and Information Processing]\r\n- Analytics [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Machine Learning [Emerging Technologies]\r\n- Artificial Intelligence [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/pattern-recognition/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.451Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pattern-recognition.md': { + module: "# Pattern Recognition\r\n\r\nIdentifying similarities and trends in data or problems\r\n\r\n", + metadata: { + sourceFile: "definitions/pattern-recognition.md", + compiledAt: "2026-02-23T00:32:17.452Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pdf/related-concepts.md': { + module: "# Pdf - Related Concepts\r\n\r\n- PDF [Common Software and Applications]\r\n- File Format [File Systems]\r\n- File [File Systems]\r\n- File Extension [File Systems]\r\n- Web Browser [Internet Infrastructure]\r\n- Application Software [Operating Systems and Software]\r\n- Office Suite [Common Software and Applications]\r\n- Word Processor [Common Software and Applications]\r\n- Compression [File Systems]\r\n- Metadata [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/pdf/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.452Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pdf.md': { + module: "# PDF\r\n\r\nFile format that preserves document formatting across devices\r\n\r\n", + metadata: { + sourceFile: "definitions/pdf.md", + compiledAt: "2026-02-23T00:32:17.453Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/phishing/related-concepts.md': { + module: "# Phishing - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Social Engineering [Threats and Attacks]\r\n- Spoofing [Threats and Attacks]\r\n- Email [Online Communication]\r\n- URL [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Digital Certificate [Authentication and Protection]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n", + metadata: { + sourceFile: "definitions/phishing/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.453Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/phishing.md': { + module: "# Phishing\r\n\r\nFraudulent attempt to obtain sensitive information\r\n\r\n", + metadata: { + sourceFile: "definitions/phishing.md", + compiledAt: "2026-02-23T00:32:17.454Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/plagiarism/related-concepts.md': { + module: "# Plagiarism - Related Concepts\r\n\r\nTop ten most related concepts to Plagiarism:\r\n\r\n- Copyright [Intellectual Property]\r\n- Fair Use [Intellectual Property]\r\n- Creative Commons [Intellectual Property]\r\n- Open Source [Intellectual Property]\r\n- Proprietary Software [Intellectual Property]\r\n- Software License [Operating Systems and Software]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Blog [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Search Engine [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/plagiarism/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.454Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/plagiarism.md': { + module: "# Plagiarism\r\n\r\nUsing someone else's work without proper attribution\r\n\r\n", + metadata: { + sourceFile: "definitions/plagiarism.md", + compiledAt: "2026-02-23T00:32:17.455Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/platform/related-concepts.md': { + module: "# Platform - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Hardware [Computer Systems and Architecture]\r\n- Cloud Computing [Operating Systems and Software]\r\n- API [Web Development]\r\n- Framework [Web Development]\r\n- Web Server [Internet Infrastructure]\r\n- Database [Databases and Structured Data]\r\n- App Store [Common Software and Applications]\r\n- Backend [Web Development]\r\n", + metadata: { + sourceFile: "definitions/platform/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.455Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/platform.md': { + module: "# Platform\r\n\r\nTechnology foundation that supports other applications or services\r\n\r\n", + metadata: { + sourceFile: "definitions/platform.md", + compiledAt: "2026-02-23T00:32:17.456Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/plugin/related-concepts.md': { + module: "# Plugin - Related Concepts\r\n\r\n- Plugin [Web Development]\r\n- Application Software [Operating Systems and Software]\r\n- Software [Computer Systems and Architecture]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Framework [Web Development]\r\n- API [Web Development]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- App Store [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/plugin/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.456Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/plugin.md': { + module: "# Plugin\r\n\r\nAdd-on software that extends functionality of an application\r\n\r\n", + metadata: { + sourceFile: "definitions/plugin.md", + compiledAt: "2026-02-23T00:32:17.457Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/podcast/related-concepts.md': { + module: "# Podcast - Related Concepts\r\n\r\n- Streaming [Digital Communication and Platforms]\r\n- Download [File Systems]\r\n- Media Player [Common Software and Applications]\r\n- Platform [Digital Communication and Platforms]\r\n- Internet [Internet Infrastructure]\r\n- App Store [Common Software and Applications]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Web Application [Operating Systems and Software]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/podcast/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.458Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/podcast.md': { + module: "# Podcast\r\n\r\nDigital audio program available for download or streaming\r\n\r\n", + metadata: { + sourceFile: "definitions/podcast.md", + compiledAt: "2026-02-23T00:32:17.458Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/presentation-software/related-concepts.md': { + module: "# Presentation Software - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Office Suite [Common Software and Applications]\r\n- Local Application [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- File [File Systems]\r\n- File Format [File Systems]\r\n- PDF [Common Software and Applications]\r\n- Chart/Graph [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Collaboration Tools [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/presentation-software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.458Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/presentation-software.md': { + module: "# Presentation Software\r\n\r\nApplication for creating slideshows and visual presentations\r\n\r\n", + metadata: { + sourceFile: "definitions/presentation-software.md", + compiledAt: "2026-02-23T00:32:17.459Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/primary-key/related-concepts.md': { + module: "# Primary Key - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/primary-key/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.460Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/primary-key.md': { + module: "# Primary Key\r\n\r\nUnique identifier for each record in a database table\r\n\r\n", + metadata: { + sourceFile: "definitions/primary-key.md", + compiledAt: "2026-02-23T00:32:17.460Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/profile/related-concepts.md': { + module: "# Profile - Related Concepts\r\n\r\n- Digital Identity [Online Communication]\r\n- Social Network [Online Communication]\r\n- Social Media [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- User Interface [Digital Communication and Platforms]\r\n- Web Application [Operating Systems and Software]\r\n- Database [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Metadata [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/profile/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.461Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/profile.md': { + module: "# Profile\r\n\r\nCollection of information that represents a user on a platform\r\n\r\n", + metadata: { + sourceFile: "definitions/profile.md", + compiledAt: "2026-02-23T00:32:17.461Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/programming/related-concepts.md': { + module: "# Programming - Related Concepts\r\n\r\n- Code [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Bug [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/programming/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.462Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/programming.md': { + module: "# Programming\r\n\r\nProcess of creating instructions for computers\r\n\r\n", + metadata: { + sourceFile: "definitions/programming.md", + compiledAt: "2026-02-23T00:32:17.463Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/proprietary-software/related-concepts.md': { + module: "# Proprietary Software - Related Concepts\r\n\r\n- Software License [Operating Systems and Software]\r\n- Copyright [Intellectual Property]\r\n- Open Source [Intellectual Property]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Local Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/proprietary-software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.463Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/proprietary-software.md': { + module: "# Proprietary Software\r\n\r\nSoftware owned by individuals or companies\r\n\r\n", + metadata: { + sourceFile: "definitions/proprietary-software.md", + compiledAt: "2026-02-23T00:32:17.464Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pseudocode/related-concepts.md': { + module: "# Pseudocode - Related Concepts\r\n\r\n- Algorithm [Programming Concepts]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Computational Thinking [Computational Thinking]\r\n- Abstraction [Computational Thinking]\r\n- Decomposition [Computational Thinking]\r\n- Function [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Variable [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/pseudocode/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.464Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/pseudocode.md': { + module: "# Pseudocode\r\n\r\nAlgorithm written in plain language\r\n\r\n", + metadata: { + sourceFile: "definitions/pseudocode.md", + compiledAt: "2026-02-23T00:32:17.465Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/qr-code/related-concepts.md': { + module: "# Qr Code - Related Concepts\r\n\r\n- 'QR Code [Emerging Technologies]'\r\n- 'Smart Device [Emerging Technologies]'\r\n- 'Input Device [Computer Systems and Architecture]'\r\n- 'Web Browser [Internet Infrastructure]'\r\n- 'URL [Internet Infrastructure]'\r\n- 'HTTP [Internet Infrastructure]'\r\n- 'HTTPS [Internet Infrastructure]'\r\n- 'Internet [Internet Infrastructure]'\r\n- 'Application Software [Operating Systems and Software]'\r\n- 'WiFi [Internet Infrastructure]'\r\n", + metadata: { + sourceFile: "definitions/qr-code/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.465Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/qr-code.md': { + module: "# QR Code\r\n\r\nMatrix barcode that can be read by smartphones\r\n\r\n", + metadata: { + sourceFile: "definitions/qr-code.md", + compiledAt: "2026-02-23T00:32:17.466Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/query/related-concepts.md': { + module: "# Query - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- NoSQL [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/query/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.467Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/query.md': { + module: "# Query\r\n\r\nRequest for specific information from a database\r\n\r\n", + metadata: { + sourceFile: "definitions/query.md", + compiledAt: "2026-02-23T00:32:17.467Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ram/related-concepts.md': { + module: "# Ram - Related Concepts\r\n\r\n- RAM [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- ROM [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Multitasking [Operating Systems and Software]\r\n- Multiprocessing [Operating Systems and Software]\r\n- Multithreading [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/ram/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.468Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ram.md': { + module: "# RAM\r\n\r\nTemporary, fast storage for currently running programs\r\n\r\n", + metadata: { + sourceFile: "definitions/ram.md", + compiledAt: "2026-02-23T00:32:17.468Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ransomware/related-concepts.md': { + module: "# Ransomware - Related Concepts\r\n\r\n- Malware [Cybersecurity Fundamentals]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Encryption [Authentication and Protection]\r\n- Decryption [Authentication and Protection]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Backup [File Systems]\r\n- Data Breach [Threats and Attacks]\r\n", + metadata: { + sourceFile: "definitions/ransomware/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.469Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/ransomware.md': { + module: "# Ransomware\r\n\r\nMalware that encrypts data and demands payment\r\n\r\n", + metadata: { + sourceFile: "definitions/ransomware.md", + compiledAt: "2026-02-23T00:32:17.469Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/record/related-concepts.md': { + module: "# Record - Related Concepts\r\n\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- Data [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/record/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.470Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/record.md': { + module: "# Record\r\n\r\nComplete set of data about one item (row in a table)\r\n\r\n", + metadata: { + sourceFile: "definitions/record.md", + compiledAt: "2026-02-23T00:32:17.471Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relational-database/related-concepts.md': { + module: "# Relational Database - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- Data [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/relational-database/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.471Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relational-database.md': { + module: "# Relational Database\r\n\r\nDatabase that organizes data into related tables\r\n\r\n", + metadata: { + sourceFile: "definitions/relational-database.md", + compiledAt: "2026-02-23T00:32:17.472Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relationship/related-concepts.md': { + module: "# Relationship - Related Concepts\r\n\r\n- Relational Database [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Database [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Data [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/relationship/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.472Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relationship.md': { + module: "# Relationship\r\n\r\nConnection between data in different database tables\r\n\r\n", + metadata: { + sourceFile: "definitions/relationship.md", + compiledAt: "2026-02-23T00:32:17.473Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relative-path/related-concepts.md': { + module: "# Relative Path - Related Concepts\r\n\r\n- File Path [File Systems]\r\n- Absolute Path [File Systems]\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Management [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- Storage [Computer Systems and Architecture]\r\n- Sync [File Systems]\r\n- Version Control [File Systems]\r\n- Backup [File Systems]\r\n", + metadata: { + sourceFile: "definitions/relative-path/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.473Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/relative-path.md': { + module: "# Relative Path\r\n\r\nFile location relative to current directory\r\n\r\n", + metadata: { + sourceFile: "definitions/relative-path.md", + compiledAt: "2026-02-23T00:32:17.474Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/remote-access/related-concepts.md': { + module: "# Remote Access - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- VPN [Authentication and Protection]\r\n- Encryption [Authentication and Protection]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Operating System [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/remote-access/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.474Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/remote-access.md': { + module: "# Remote Access\r\n\r\nAbility to control a computer from a different location\r\n\r\n", + metadata: { + sourceFile: "definitions/remote-access.md", + compiledAt: "2026-02-23T00:32:17.475Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/reset/related-concepts.md': { + module: "# Reset - Related Concepts\r\n\r\n- Restart/Reboot [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Backup [File Systems]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Error Message [Problem-Solving Concepts]\r\n- Crash [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Uninstall [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/reset/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.475Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/reset.md': { + module: "# Reset\r\n\r\nReturning settings to their original state\r\n\r\n", + metadata: { + sourceFile: "definitions/reset.md", + compiledAt: "2026-02-23T00:32:17.476Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/responsive-design/related-concepts.md': { + module: "# Responsive Design - Related Concepts\r\n\r\nTop ten most related concepts to Responsive Design:\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Frontend [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n- Framework [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n- Platform [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/responsive-design/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.476Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/responsive-design.md': { + module: "# Responsive Design\r\n\r\nWeb design approach that adapts to different screen sizes\r\n\r\n", + metadata: { + sourceFile: "definitions/responsive-design.md", + compiledAt: "2026-02-23T00:32:17.477Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/restartreboot/related-concepts.md': { + module: "# Restartreboot - Related Concepts\r\n\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Crash [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Reset [Problem-Solving Concepts]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Tech Support [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/restartreboot/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.477Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/restartreboot.md': { + module: "# Restart/Reboot\r\n\r\nTurning a device off and on again to resolve issues\r\n\r\n", + metadata: { + sourceFile: "definitions/restartreboot.md", + compiledAt: "2026-02-23T00:32:17.478Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/rom/related-concepts.md': { + module: "# Rom - Related Concepts\r\n\r\n- ROM [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Computer [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/rom/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.478Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/rom.md': { + module: "# ROM\r\n\r\nPermanent storage for basic system instructions\r\n\r\n", + metadata: { + sourceFile: "definitions/rom.md", + compiledAt: "2026-02-23T00:32:17.479Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/rootkit/related-concepts.md': { + module: "# Rootkit - Related Concepts\r\n\r\n- Malware [Cybersecurity Fundamentals]\r\n- Operating System [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- System Software [Operating Systems and Software]\r\n- Trojan [Cybersecurity Fundamentals]\r\n- Zero-Day Exploit [Threats and Attacks]\r\n- Intrusion [Threats and Attacks]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Hardware [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/rootkit/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.480Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/rootkit.md': { + module: "# Rootkit\r\n\r\nMalware that hides deep in the system\r\n\r\n", + metadata: { + sourceFile: "definitions/rootkit.md", + compiledAt: "2026-02-23T00:32:17.480Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/router/related-concepts.md': { + module: "# Router - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- VPN [Authentication and Protection]\r\n- Hardware [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/router/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.481Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/router.md': { + module: "# Router\r\n\r\nDevice that forwards data between computer networks\r\n\r\n", + metadata: { + sourceFile: "definitions/router.md", + compiledAt: "2026-02-23T00:32:17.481Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/search-engine/related-concepts.md': { + module: "# Search Engine - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Database [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Algorithm [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/search-engine/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.482Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/search-engine.md': { + module: "# Search Engine\r\n\r\nSoftware system designed to search for information on the internet\r\n\r\n", + metadata: { + sourceFile: "definitions/search-engine.md", + compiledAt: "2026-02-23T00:32:17.482Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/six-degrees-of-separation/related-concepts.md': { + module: "# Six Degrees Of Separation - Related Concepts\r\n\r\n- Social Network [Online Communication]\r\n- Social Media [Online Communication]\r\n- Six Degrees of Separation [Online Communication]\r\n- Internet [Internet Infrastructure]\r\n- Viral [Digital Communication and Platforms]\r\n- Influencer [Digital Communication and Platforms]\r\n- Platform [Digital Communication and Platforms]\r\n- Profile [Online Communication]\r\n- Digital Identity [Online Communication]\r\n- Relationship [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/six-degrees-of-separation/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.483Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/six-degrees-of-separation.md': { + module: "# Six Degrees of Separation\r\n\r\nTheory that everyone is connected by no more than six relationships\r\n\r\n", + metadata: { + sourceFile: "definitions/six-degrees-of-separation.md", + compiledAt: "2026-02-23T00:32:17.483Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/smart-device/related-concepts.md': { + module: "# Smart Device - Related Concepts\r\n\r\nTop 10 most related concepts to Smart Device:\r\n\r\n- Internet of Things [Emerging Technologies]\r\n- Internet [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- 5G [Emerging Technologies]\r\n- Embedded System [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- IP Address [Internet Infrastructure]\r\n- Cloud Computing [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/smart-device/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.484Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/smart-device.md': { + module: "# Smart Device\r\n\r\nElectronic device that can connect to other devices or networks\r\n\r\n", + metadata: { + sourceFile: "definitions/smart-device.md", + compiledAt: "2026-02-23T00:32:17.484Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-engineering/related-concepts.md': { + module: "# Social Engineering - Related Concepts\r\n\r\n- Phishing [Threats and Attacks]\r\n- Spoofing [Threats and Attacks]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Malware [Cybersecurity Fundamentals]\r\n- Password [Authentication and Protection]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Digital Identity [Online Communication]\r\n- Email [Online Communication]\r\n- Social Media [Online Communication]\r\n- Remote Access [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/social-engineering/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.485Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-engineering.md': { + module: "# Social Engineering\r\n\r\nManipulating people to divulge confidential information\r\n\r\n", + metadata: { + sourceFile: "definitions/social-engineering.md", + compiledAt: "2026-02-23T00:32:17.485Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-media/related-concepts.md': { + module: "# Social Media - Related Concepts\r\n\r\n- Social Network [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Hashtag [Digital Communication and Platforms]\r\n- Influencer [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Profile [Online Communication]\r\n- Notification [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/social-media/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.486Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-media.md': { + module: "# Social Media\r\n\r\nOnline platforms for creating and sharing content and connecting with others\r\n\r\n", + metadata: { + sourceFile: "definitions/social-media.md", + compiledAt: "2026-02-23T00:32:17.486Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-network/related-concepts.md': { + module: "# Social Network - Related Concepts\r\n\r\n- Social Media [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- Profile [Online Communication]\r\n- Digital Identity [Online Communication]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Hashtag [Digital Communication and Platforms]\r\n- Notification [Digital Communication and Platforms]\r\n- Influencer [Digital Communication and Platforms]\r\n- Viral [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n", + metadata: { + sourceFile: "definitions/social-network/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.487Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/social-network.md': { + module: "# Social Network\r\n\r\nWeb of connections between people online\r\n\r\n", + metadata: { + sourceFile: "definitions/social-network.md", + compiledAt: "2026-02-23T00:32:17.487Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software/related-concepts.md': { + module: "# Software - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Software License [Operating Systems and Software]\r\n- Installation [Common Software and Applications]\r\n- Software Update [Common Software and Applications]\r\n- Local Application [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Computing [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.488Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software-license/related-concepts.md': { + module: "# Software License - Related Concepts\r\n\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Open Source [Intellectual Property]\r\n- Proprietary Software [Intellectual Property]\r\n- Copyright [Intellectual Property]\r\n- Installation [Common Software and Applications]\r\n- App Store [Common Software and Applications]\r\n- Cloud Computing [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/software-license/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.488Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software-license.md': { + module: "# Software License\r\n\r\nLegal agreement defining how software can be used\r\n\r\n", + metadata: { + sourceFile: "definitions/software-license.md", + compiledAt: "2026-02-23T00:32:17.488Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software-update/related-concepts.md': { + module: "# Software Update - Related Concepts\r\n\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- System Software [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Installation [Common Software and Applications]\r\n- Download [File Systems]\r\n- Internet [Internet Infrastructure]\r\n- Bug [Programming Concepts]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n", + metadata: { + sourceFile: "definitions/software-update/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.489Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software-update.md': { + module: "# Software Update\r\n\r\nNew version of software that fixes bugs or adds features\r\n\r\n", + metadata: { + sourceFile: "definitions/software-update.md", + compiledAt: "2026-02-23T00:32:17.490Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/software.md': { + module: "# Software\r\n\r\nPrograms and instructions that tell hardware what to do\r\n\r\n", + metadata: { + sourceFile: "definitions/software.md", + compiledAt: "2026-02-23T00:32:17.490Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sort/related-concepts.md': { + module: "# Sort - Related Concepts\r\n\r\n- Algorithm [Programming Concepts]\r\n- Spreadsheet [Data and Information Processing]\r\n- Database [Databases and Structured Data]\r\n- Table [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Filter [Data and Information Processing]\r\n- Data [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Field [Databases and Structured Data]\r\n", + metadata: { + sourceFile: "definitions/sort/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.490Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sort.md': { + module: "# Sort\r\n\r\nArranging data in a specific order\r\n\r\n", + metadata: { + sourceFile: "definitions/sort.md", + compiledAt: "2026-02-23T00:32:17.491Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/spoofing/related-concepts.md': { + module: "# Spoofing - Related Concepts\r\n\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Digital Certificate [Authentication and Protection]\r\n- HTTPS [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Email [Online Communication]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n- Digital Identity [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/spoofing/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.492Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/spoofing.md': { + module: "# Spoofing\r\n\r\nImpersonating another device or user\r\n\r\n", + metadata: { + sourceFile: "definitions/spoofing.md", + compiledAt: "2026-02-23T00:32:17.492Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/spreadsheet/related-concepts.md': { + module: "# Spreadsheet - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Office Suite [Common Software and Applications]\r\n- Data [Data and Information Processing]\r\n- Table [Databases and Structured Data]\r\n- Formula [Data and Information Processing]\r\n- Chart/Graph [Data and Information Processing]\r\n- Filter [Data and Information Processing]\r\n- Sort [Data and Information Processing]\r\n- Data Visualization [Data and Information Processing]\r\n- Dashboard [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/spreadsheet/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.493Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/spreadsheet.md': { + module: "# Spreadsheet\r\n\r\nSoftware for organizing data in rows and columns\r\n\r\n", + metadata: { + sourceFile: "definitions/spreadsheet.md", + compiledAt: "2026-02-23T00:32:17.493Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sql/related-concepts.md': { + module: "# Sql - Related Concepts\r\n\r\n- 'Database [Databases and Structured Data]'\r\n- 'Relational Database [Databases and Structured Data]'\r\n- 'Table [Databases and Structured Data]'\r\n- 'Field [Databases and Structured Data]'\r\n- 'Record [Databases and Structured Data]'\r\n- 'Query [Databases and Structured Data]'\r\n- 'Primary Key [Databases and Structured Data]'\r\n- 'Index [Databases and Structured Data]'\r\n- 'Relationship [Databases and Structured Data]'\r\n- 'Data [Data and Information Processing]'\r\n", + metadata: { + sourceFile: "definitions/sql/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.494Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sql.md': { + module: "# SQL\r\n\r\nLanguage for communicating with databases\r\n\r\n", + metadata: { + sourceFile: "definitions/sql.md", + compiledAt: "2026-02-23T00:32:17.494Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/storage/related-concepts.md': { + module: "# Storage - Related Concepts\r\n\r\n- Hardware [Computer Systems and Architecture]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Management [File Systems]\r\n- Backup [File Systems]\r\n- Cloud Storage [Online Communication]\r\n- Sync [File Systems]\r\n- Encryption [Authentication and Protection]\r\n", + metadata: { + sourceFile: "definitions/storage/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.495Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/storage.md': { + module: "# Storage\r\n\r\nLong-term data retention (hard drives, SSDs, cloud storage)\r\n\r\n", + metadata: { + sourceFile: "definitions/storage.md", + compiledAt: "2026-02-23T00:32:17.495Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/streaming/related-concepts.md': { + module: "# Streaming - Related Concepts\r\n\r\nTop ten most related concepts to Streaming:\r\n\r\n- Internet [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Media Player [Common Software and Applications]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Caching [Web Development]\r\n- Compression [File Systems]\r\n", + metadata: { + sourceFile: "definitions/streaming/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.496Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/streaming.md': { + module: "# Streaming\r\n\r\nReal-time delivery of media content over the internet\r\n\r\n", + metadata: { + sourceFile: "definitions/streaming.md", + compiledAt: "2026-02-23T00:32:17.496Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sync/related-concepts.md': { + module: "# Sync - Related Concepts\r\n\r\nTop ten most related concepts:\r\n- Cloud Storage [Online Communication]\r\n- Upload [File Systems]\r\n- Download [File Systems]\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Management [File Systems]\r\n- Version Control [File Systems]\r\n- Backup [File Systems]\r\n- Internet [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/sync/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.497Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/sync.md': { + module: "# Sync\r\n\r\nKeeping files identical across multiple devices\r\n\r\n", + metadata: { + sourceFile: "definitions/sync.md", + compiledAt: "2026-02-23T00:32:17.497Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/system/related-concepts.md': { + module: "# System - Related Concepts\r\n\r\n- System [Systems]\r\n- DSRP [Systems]\r\n- Computer [Computer Systems and Architecture]\r\n- Embedded System [Computer Systems and Architecture]\r\n- IPOS Model [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- Software [Computer Systems and Architecture]\r\n- Operating System [Operating Systems and Software]\r\n- Internet [Internet Infrastructure]\r\n- Internet of Things [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/system/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.498Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/system-software/related-concepts.md': { + module: "# System Software - Related Concepts\r\n\r\n- Operating System [Operating Systems and Software]\r\n- Device Driver [Computer Systems and Architecture]\r\n- Hardware [Computer Systems and Architecture]\r\n- CPU [Computer Systems and Architecture]\r\n- RAM [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- File Management [File Systems]\r\n- Multitasking [Operating Systems and Software]\r\n- Multiprocessing [Operating Systems and Software]\r\n- Multithreading [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/system-software/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.499Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/system-software.md': { + module: "# System Software\r\n\r\nPrograms that manage computer resources (OS, drivers, utilities)\r\n\r\n", + metadata: { + sourceFile: "definitions/system-software.md", + compiledAt: "2026-02-23T00:32:17.499Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/system.md': { + module: "# System\r\n\r\nA system is a set of interacting or interdependent components forming an integrated whole. A system may have smaller systems inside of it, and a system may itself be a component within a larger system.\r\n\r\n", + metadata: { + sourceFile: "definitions/system.md", + compiledAt: "2026-02-23T00:32:17.500Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/table/related-concepts.md': { + module: "# Table - Related Concepts\r\n\r\n- Database [Databases and Structured Data]\r\n- Field [Databases and Structured Data]\r\n- Record [Databases and Structured Data]\r\n- Relational Database [Databases and Structured Data]\r\n- SQL [Databases and Structured Data]\r\n- Primary Key [Databases and Structured Data]\r\n- Relationship [Databases and Structured Data]\r\n- Index [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Spreadsheet [Data and Information Processing]\r\n", + metadata: { + sourceFile: "definitions/table/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.500Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/table.md': { + module: "# Table\r\n\r\nCollection of related data organized in rows and columns\r\n\r\n", + metadata: { + sourceFile: "definitions/table.md", + compiledAt: "2026-02-23T00:32:17.501Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/tech-support/related-concepts.md': { + module: "# Tech Support - Related Concepts\r\n\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Help Desk [Problem-Solving Concepts]\r\n- Error Message [Problem-Solving Concepts]\r\n- Crash [Problem-Solving Concepts]\r\n- Freeze/Hang [Problem-Solving Concepts]\r\n- Restart/Reboot [Problem-Solving Concepts]\r\n- Remote Access [Problem-Solving Concepts]\r\n- Documentation [Problem-Solving Concepts]\r\n- FAQ [Problem-Solving Concepts]\r\n- Software Update [Common Software and Applications]\r\n", + metadata: { + sourceFile: "definitions/tech-support/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.501Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/tech-support.md': { + module: "# Tech Support\r\n\r\nAssistance provided to help users solve technical problems\r\n\r\n", + metadata: { + sourceFile: "definitions/tech-support.md", + compiledAt: "2026-02-23T00:32:17.502Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/timelinefeed/related-concepts.md': { + module: "# Timelinefeed - Related Concepts\r\n\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Social Media [Online Communication]\r\n- Social Network [Online Communication]\r\n- Web Application [Operating Systems and Software]\r\n- Backend [Web Development]\r\n- API [Web Development]\r\n- Database [Databases and Structured Data]\r\n- Query [Databases and Structured Data]\r\n- Sort [Data and Information Processing]\r\n- Frontend [Web Development]\r\n", + metadata: { + sourceFile: "definitions/timelinefeed/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.502Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/timelinefeed.md': { + module: "# Timeline/Feed\r\n\r\nStream of content displayed in chronological order\r\n\r\n", + metadata: { + sourceFile: "definitions/timelinefeed.md", + compiledAt: "2026-02-23T00:32:17.503Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/trojan/related-concepts.md': { + module: "# Trojan - Related Concepts\r\n\r\n- Malware [Cybersecurity Fundamentals]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Ransomware [Cybersecurity Fundamentals]\r\n- Rootkit [Cybersecurity Fundamentals]\r\n- Download [File Systems]\r\n- Installation [Common Software and Applications]\r\n- Email [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/trojan/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.503Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/trojan.md': { + module: "# Trojan\r\n\r\nMalware disguised as legitimate software\r\n\r\n", + metadata: { + sourceFile: "definitions/trojan.md", + compiledAt: "2026-02-23T00:32:17.504Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/troubleshooting/related-concepts.md': { + module: "# Troubleshooting - Related Concepts\r\n\r\n- 'Error Message [Problem-Solving Concepts]'\r\n- 'Crash [Problem-Solving Concepts]'\r\n- 'Freeze/Hang [Problem-Solving Concepts]'\r\n- 'Restart/Reboot [Problem-Solving Concepts]'\r\n- 'Reset [Problem-Solving Concepts]'\r\n- 'Tech Support [Problem-Solving Concepts]'\r\n- 'Help Desk [Problem-Solving Concepts]'\r\n- 'Documentation [Problem-Solving Concepts]'\r\n- 'Remote Access [Problem-Solving Concepts]'\r\n- 'Debugging [Programming Concepts]'\r\n", + metadata: { + sourceFile: "definitions/troubleshooting/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.504Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/troubleshooting.md': { + module: "# Troubleshooting\r\n\r\nSystematic approach to identifying and solving problems\r\n\r\n", + metadata: { + sourceFile: "definitions/troubleshooting.md", + compiledAt: "2026-02-23T00:32:17.505Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/tutorial/related-concepts.md': { + module: "# Tutorial - Related Concepts\r\n\r\n- Documentation [Problem-Solving Concepts]\r\n- FAQ [Problem-Solving Concepts]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n- Help Desk [Problem-Solving Concepts]\r\n- Tech Support [Problem-Solving Concepts]\r\n- Installation [Common Software and Applications]\r\n- Blog [Digital Communication and Platforms]\r\n- Streaming [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Search Engine [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/tutorial/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.505Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/tutorial.md': { + module: "# Tutorial\r\n\r\nStep-by-step guide for learning a skill or process\r\n\r\n", + metadata: { + sourceFile: "definitions/tutorial.md", + compiledAt: "2026-02-23T00:32:17.506Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/two-factor-authentication/related-concepts.md': { + module: "# Two Factor Authentication - Related Concepts\r\n\r\n- Password [Authentication and Protection]\r\n- Biometrics [Emerging Technologies]\r\n- Digital Identity [Online Communication]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Phishing [Threats and Attacks]\r\n- Social Engineering [Threats and Attacks]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Computing [Operating Systems and Software]\r\n- VPN [Authentication and Protection]\r\n- QR Code [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/two-factor-authentication/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.506Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/two-factor-authentication.md': { + module: "# Two-Factor Authentication\r\n\r\nSecurity process requiring two different verification methods\r\n\r\n", + metadata: { + sourceFile: "definitions/two-factor-authentication.md", + compiledAt: "2026-02-23T00:32:17.507Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/uninstall/related-concepts.md': { + module: "# Uninstall - Related Concepts\r\n\r\n- Installation [Common Software and Applications]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Local Application [Operating Systems and Software]\r\n- App Store [Common Software and Applications]\r\n- Device Driver [Computer Systems and Architecture]\r\n- File Management [File Systems]\r\n- Software [Computer Systems and Architecture]\r\n- Storage [Computer Systems and Architecture]\r\n- Troubleshooting [Problem-Solving Concepts]\r\n", + metadata: { + sourceFile: "definitions/uninstall/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.507Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/uninstall.md': { + module: "# Uninstall\r\n\r\nProcess of removing software from a computer\r\n\r\n", + metadata: { + sourceFile: "definitions/uninstall.md", + compiledAt: "2026-02-23T00:32:17.508Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/upload/related-concepts.md': { + module: "# Upload - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- Cloud Storage [Online Communication]\r\n- File [File Systems]\r\n- Web Application [Operating Systems and Software]\r\n- API [Web Development]\r\n", + metadata: { + sourceFile: "definitions/upload/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.508Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/upload.md': { + module: "# Upload\r\n\r\nTransferring a file from your device to a remote server\r\n\r\n", + metadata: { + sourceFile: "definitions/upload.md", + compiledAt: "2026-02-23T00:32:17.509Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/url/related-concepts.md': { + module: "# Url - Related Concepts\r\n\r\nTop ten most related concepts to URL:\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Hyperlink [Web Development]\r\n- HTML [Web Development]\r\n", + metadata: { + sourceFile: "definitions/url/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.509Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/url.md': { + module: "# URL\r\n\r\nWeb address that specifies the location of a resource\r\n\r\n", + metadata: { + sourceFile: "definitions/url.md", + compiledAt: "2026-02-23T00:32:17.510Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/user-experience/related-concepts.md': { + module: "# User Experience - Related Concepts\r\n\r\n- User Interface [Digital Communication and Platforms]\r\n- Frontend [Web Development]\r\n- Responsive Design [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n- Local Application [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- Web Browser [Internet Infrastructure]\r\n- Platform [Digital Communication and Platforms]\r\n- Notification [Digital Communication and Platforms]\r\n- Bandwidth [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/user-experience/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.510Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/user-experience.md': { + module: "# User Experience\r\n\r\nOverall experience of using a product or service\r\n\r\n", + metadata: { + sourceFile: "definitions/user-experience.md", + compiledAt: "2026-02-23T00:32:17.510Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/user-interface/related-concepts.md': { + module: "# User Interface - Related Concepts\r\n\r\n- User Experience [Digital Communication and Platforms]\r\n- Frontend [Web Development]\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Responsive Design [Web Development]\r\n- Application Software [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- Framework [Web Development]\r\n- Web Browser [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/user-interface/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.511Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/user-interface.md': { + module: "# User Interface\r\n\r\nVisual elements that allow users to interact with software\r\n\r\n", + metadata: { + sourceFile: "definitions/user-interface.md", + compiledAt: "2026-02-23T00:32:17.511Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/variable/related-concepts.md': { + module: "# Variable - Related Concepts\r\n\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Data Type [Programming Concepts]\r\n- Function [Programming Concepts]\r\n- Algorithm [Programming Concepts]\r\n- Loop [Programming Concepts]\r\n- Conditional [Programming Concepts]\r\n- Debugging [Programming Concepts]\r\n- Bug [Programming Concepts]\r\n- Pseudocode [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/variable/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.512Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/variable.md': { + module: "# Variable\r\n\r\nNamed storage location for data\r\n\r\n", + metadata: { + sourceFile: "definitions/variable.md", + compiledAt: "2026-02-23T00:32:17.512Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/version-control/related-concepts.md': { + module: "# Version Control - Related Concepts\r\n\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Management [File Systems]\r\n- Backup [File Systems]\r\n- Sync [File Systems]\r\n- Programming [Programming Concepts]\r\n- Code [Programming Concepts]\r\n- Software [Computer Systems and Architecture]\r\n- Collaboration Tools [Online Communication]\r\n- Open Source [Intellectual Property]\r\n", + metadata: { + sourceFile: "definitions/version-control/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.513Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/version-control.md': { + module: "# Version Control\r\n\r\nSystem for tracking changes to files over time\r\n\r\n", + metadata: { + sourceFile: "definitions/version-control.md", + compiledAt: "2026-02-23T00:32:17.513Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/video-conferencing/related-concepts.md': { + module: "# Video Conferencing - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- WiFi [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Streaming [Digital Communication and Platforms]\r\n- Collaboration Tools [Online Communication]\r\n- Encryption [Authentication and Protection]\r\n- Input Device [Computer Systems and Architecture]\r\n", + metadata: { + sourceFile: "definitions/video-conferencing/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.514Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/video-conferencing.md': { + module: "# Video Conferencing\r\n\r\nTechnology for conducting meetings over the internet\r\n\r\n", + metadata: { + sourceFile: "definitions/video-conferencing.md", + compiledAt: "2026-02-23T00:32:17.514Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/viral/related-concepts.md': { + module: "# Viral - Related Concepts\r\n\r\n- Social Media [Online Communication]\r\n- Social Network [Online Communication]\r\n- Platform [Digital Communication and Platforms]\r\n- Hashtag [Digital Communication and Platforms]\r\n- Timeline/Feed [Digital Communication and Platforms]\r\n- Notification [Digital Communication and Platforms]\r\n- Influencer [Digital Communication and Platforms]\r\n- Content Creator [Digital Communication and Platforms]\r\n- Hyperlink [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/viral/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.515Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/viral.md': { + module: "# Viral\r\n\r\nContent that spreads rapidly through online sharing\r\n\r\n", + metadata: { + sourceFile: "definitions/viral.md", + compiledAt: "2026-02-23T00:32:17.515Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/virtual-reality/related-concepts.md': { + module: "# Virtual Reality - Related Concepts\r\n\r\n- Augmented Reality [Emerging Technologies]\r\n- User Interface [Digital Communication and Platforms]\r\n- User Experience [Digital Communication and Platforms]\r\n- Input Device [Computer Systems and Architecture]\r\n- Output Device [Computer Systems and Architecture]\r\n- Wearable Technology [Emerging Technologies]\r\n- Application Software [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- API [Web Development]\r\n- Framework [Web Development]\r\n", + metadata: { + sourceFile: "definitions/virtual-reality/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.516Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/virtual-reality.md': { + module: "# Virtual Reality\r\n\r\nComputer-generated simulation of a 3D environment\r\n\r\n", + metadata: { + sourceFile: "definitions/virtual-reality.md", + compiledAt: "2026-02-23T00:32:17.517Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/virus/related-concepts.md': { + module: "# Virus - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Malware [Cybersecurity Fundamentals]\r\n- Antivirus [Cybersecurity Fundamentals]\r\n- Antivirus Software [Common Software and Applications]\r\n- Operating System [Operating Systems and Software]\r\n- Software [Computer Systems and Architecture]\r\n- File [File Systems]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Rootkit [Cybersecurity Fundamentals]\r\n- Trojan [Cybersecurity Fundamentals]\r\n", + metadata: { + sourceFile: "definitions/virus/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.517Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/virus.md': { + module: "# Virus\r\n\r\nMalware that replicates by attaching to other programs\r\n\r\n", + metadata: { + sourceFile: "definitions/virus.md", + compiledAt: "2026-02-23T00:32:17.518Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/vpn/related-concepts.md': { + module: "# Vpn - Related Concepts\r\n\r\n- Encryption [Authentication and Protection]\r\n- Digital Certificate [Authentication and Protection]\r\n- IP Address [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Router [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Remote Access [Problem-Solving Concepts]\r\n- Two-Factor Authentication [Authentication and Protection]\r\n", + metadata: { + sourceFile: "definitions/vpn/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.518Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/vpn.md': { + module: "# VPN\r\n\r\nSecure connection over a public network\r\n\r\n", + metadata: { + sourceFile: "definitions/vpn.md", + compiledAt: "2026-02-23T00:32:17.519Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/wearable-technology/related-concepts.md': { + module: "# Wearable Technology - Related Concepts\r\n\r\n- Smart Device [Emerging Technologies]\r\n- Internet of Things [Emerging Technologies]\r\n- Embedded System [Computer Systems and Architecture]\r\n- Biometrics [Emerging Technologies]\r\n- Machine Learning [Emerging Technologies]\r\n- Cloud Computing [Operating Systems and Software]\r\n- Operating System [Operating Systems and Software]\r\n- Application Software [Operating Systems and Software]\r\n- Input Device [Computer Systems and Architecture]\r\n- WiFi [Internet Infrastructure]\r\n", + metadata: { + sourceFile: "definitions/wearable-technology/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.519Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/wearable-technology.md': { + module: "# Wearable Technology\r\n\r\nElectronic devices designed to be worn on the body\r\n\r\n", + metadata: { + sourceFile: "definitions/wearable-technology.md", + compiledAt: "2026-02-23T00:32:17.520Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-application/related-concepts.md': { + module: "# Web Application - Related Concepts\r\n\r\n- Web Browser [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- JavaScript [Web Development]\r\n- Frontend [Web Development]\r\n- Backend [Web Development]\r\n- API [Web Development]\r\n", + metadata: { + sourceFile: "definitions/web-application/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.520Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-application.md': { + module: "# Web Application\r\n\r\nSoftware accessed through a web browser\r\n\r\n", + metadata: { + sourceFile: "definitions/web-application.md", + compiledAt: "2026-02-23T00:32:17.521Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-browser/related-concepts.md': { + module: "# Web Browser - Related Concepts\r\n\r\n- Internet [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- CSS [Web Development]\r\n- JavaScript [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/web-browser/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.521Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-browser.md': { + module: "# Web Browser\r\n\r\nSoftware for accessing and displaying web content\r\n\r\n", + metadata: { + sourceFile: "definitions/web-browser.md", + compiledAt: "2026-02-23T00:32:17.522Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-cookie/related-concepts.md': { + module: "# Web Cookie - Related Concepts\r\n\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- JavaScript [Web Development]\r\n- Web Application [Operating Systems and Software]\r\n- Backend [Web Development]\r\n- URL [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n", + metadata: { + sourceFile: "definitions/web-cookie/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.522Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-cookie.md': { + module: "# Web Cookie\r\n\r\nSmall data file stored by websites to remember user information\r\n\r\n", + metadata: { + sourceFile: "definitions/web-cookie.md", + compiledAt: "2026-02-23T00:32:17.523Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-server/related-concepts.md': { + module: "# Web Server - Related Concepts\r\n\r\n- HTTP [Internet Infrastructure]\r\n- HTTPS [Internet Infrastructure]\r\n- URL [Internet Infrastructure]\r\n- Domain Name [Internet Infrastructure]\r\n- DNS [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- Web Browser [Internet Infrastructure]\r\n- HTML [Web Development]\r\n- Operating System [Operating Systems and Software]\r\n", + metadata: { + sourceFile: "definitions/web-server/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.524Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/web-server.md': { + module: "# Web Server\r\n\r\nComputer that stores and delivers web pages\r\n\r\n", + metadata: { + sourceFile: "definitions/web-server.md", + compiledAt: "2026-02-23T00:32:17.524Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/wifi/related-concepts.md': { + module: "# Wifi - Related Concepts\r\n\r\n- Router [Internet Infrastructure]\r\n- Bandwidth [Internet Infrastructure]\r\n- IP Address [Internet Infrastructure]\r\n- Internet [Internet Infrastructure]\r\n- ISP [Internet Infrastructure]\r\n- Encryption [Authentication and Protection]\r\n- Password [Authentication and Protection]\r\n- VPN [Authentication and Protection]\r\n- Firewall [Cybersecurity Fundamentals]\r\n- Internet of Things [Emerging Technologies]\r\n", + metadata: { + sourceFile: "definitions/wifi/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.525Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/wifi.md': { + module: "# WiFi\r\n\r\nWireless networking technology for local area networks\r\n\r\n", + metadata: { + sourceFile: "definitions/wifi.md", + compiledAt: "2026-02-23T00:32:17.525Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/word-processor/related-concepts.md': { + module: "# Word Processor - Related Concepts\r\n\r\n- Application Software [Operating Systems and Software]\r\n- Office Suite [Common Software and Applications]\r\n- File [File Systems]\r\n- File Format [File Systems]\r\n- File Extension [File Systems]\r\n- PDF [Common Software and Applications]\r\n- Local Application [Operating Systems and Software]\r\n- Web Application [Operating Systems and Software]\r\n- Cloud Storage [Online Communication]\r\n- Collaboration Tools [Online Communication]\r\n", + metadata: { + sourceFile: "definitions/word-processor/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.526Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/word-processor.md': { + module: "# Word Processor\r\n\r\nSoftware for creating and editing text documents\r\n\r\n", + metadata: { + sourceFile: "definitions/word-processor.md", + compiledAt: "2026-02-23T00:32:17.526Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/zero-day-exploit/related-concepts.md': { + module: "# Zero Day Exploit - Related Concepts\r\n\r\n- Cybersecurity [Cybersecurity Fundamentals]\r\n- Malware [Cybersecurity Fundamentals]\r\n- Operating System [Operating Systems and Software]\r\n- Software [Computer Systems and Architecture]\r\n- Web Browser [Internet Infrastructure]\r\n- Web Server [Internet Infrastructure]\r\n- Software Update [Common Software and Applications]\r\n- Intrusion [Threats and Attacks]\r\n- Data Breach [Threats and Attacks]\r\n- Bug [Programming Concepts]\r\n", + metadata: { + sourceFile: "definitions/zero-day-exploit/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.527Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/zero-day-exploit.md': { + module: "# Zero-Day Exploit\r\n\r\nAttack that targets previously unknown vulnerabilities\r\n\r\n", + metadata: { + sourceFile: "definitions/zero-day-exploit.md", + compiledAt: "2026-02-23T00:32:17.528Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/zip-file/related-concepts.md': { + module: "# Zip File - Related Concepts\r\n\r\n- ZIP File [File Systems]\r\n- Compression [File Systems]\r\n- File [File Systems]\r\n- Folder [File Systems]\r\n- File Extension [File Systems]\r\n- File Management [File Systems]\r\n- Archive/Compression Tool [Common Software and Applications]\r\n- Backup [File Systems]\r\n- Encryption [Authentication and Protection]\r\n- Download [File Systems]\r\n", + metadata: { + sourceFile: "definitions/zip-file/related-concepts.md", + compiledAt: "2026-02-23T00:32:17.529Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'definitions/zip-file.md': { + module: "# ZIP File\r\n\r\nCompressed archive containing one or more files\r\n\r\n", + metadata: { + sourceFile: "definitions/zip-file.md", + compiledAt: "2026-02-23T00:32:17.530Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'index.md': { + module: "# Overview\r\n\r\nWelcome! This is a short textbook that I wrote and compiled to help introduce students to essential concepts in computing and information systems. It is coupled with an exam generator so you can self-test and determine how well you know the material.\r\n\r\n## Watch these first \r\n\r\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/hDLDBuP4txA?si=wlQZzJSv5I9rTZ_v\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\r\n\r\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/8qBpefbseNM?si=2flev3MyApkn4Vte\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\r\n\r\n<!--\r\n\r\n* Memory: https://freedium.cfd/https:/evakeiffenheim.medium.com/the-smartest-people-i-know-are-obsessed-with-a-skill-many-were-told-is-useless-b9416c6fb856\r\n* course overview\r\n* final exam\r\n* testing, making it stick, forgetting, testing to failure, etc.\r\n\r\n\r\nMeta:\r\n* Students create videos that go into the app?\r\n* Feed in OC course information\r\n* Homework\r\n - Diagrams from memory\r\n - Diagrams + very short practice exam \r\n - Mid term \r\n - Videos, commit to github\r\n - Vibe coding, content creation, etc...\r\n - Diagrams + very short practice exam \r\n - Final \r\n\r\n-->\r\n\r\n## Chapters\r\n\r\n- [**Zero Computers**](/cis-110/#/textbook/content/overviews/00-zero-computers)\r\n- [**One Computer**](/cis-110/#/textbook/content/overviews/01-one-computer)\r\n- [**A Few Computers**](/cis-110/#/textbook/content/overviews/02-a-few-computers)\r\n- [**Lots of Computers**](/cis-110/#/textbook/content/overviews/03-a-lot-of-computers)\r\n\r\n## Other Links\r\n\r\n- [Full list of Exam Questions](/textbook/big-picture)\r\n- [Student Contributors](/textbook/students/index)", + metadata: { + sourceFile: "index.md", + compiledAt: "2026-02-23T00:32:17.531Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'students/f25/bobby-student.md': { + module: "Hi! I'm Bobby!\r\n\r\nAs required, I'm posting my midterm here!!!!!!\r\n\r\n{{YouTube:https://youtu.be/M-cTHtTI1bo timestamps:[\"0:00\", \"1:25\", \"1:58\", \"3:21\", \"5:42\", \"9:37\", \"11:00\"]}}\r\n\r\n## Experiment??\r\n\r\nHow does markdown work?", + metadata: { + sourceFile: "students/f25/bobby-student.md", + compiledAt: "2026-02-23T00:32:17.532Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'students/f25/stephen-r-foster.md': { + module: "Hi! I'm Stephen. I am taking this course in Fall 2025.\r\n\r\nAs required, I'm posting my midterm here!!!!!!\r\n\r\n{{YouTube:https://youtu.be/M-cTHtTI1bo timestamps:[\"0:00\", \"1:25\", \"1:58\", \"3:21\", \"5:42\", \"9:37\", \"11:00\"]}}", + metadata: { + sourceFile: "students/f25/stephen-r-foster.md", + compiledAt: "2026-02-23T00:32:17.533Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + }, + 'students/index.md': { + module: "\r\n- [Stephen R. Foster](/cis-110/#/textbook/students/f25/stephen-r-foster) ", + metadata: { + sourceFile: "students/index.md", + compiledAt: "2026-02-23T00:32:17.534Z", + type: 'markdown', + contentType: "textbook" +}, + type: 'markdown', + contentType: 'textbook', + } +}; + +export function getCompiledFile(path) { + const file = compiledFiles[path]; + if (!file) { + throw new Error(`Compiled file not found: ${path}`); + } + return file.module; +} + +export function getFileMetadata(path) { + const file = compiledFiles[path]; + if (!file) { + throw new Error(`Compiled file not found: ${path}`); + } + return file.metadata; +} + +export function listCompiledFiles(type = null) { + if (type) { + return Object.keys(compiledFiles).filter(path => compiledFiles[path].type === type); + } + return Object.keys(compiledFiles); +} + +// Statistics +export const stats = { + totalFiles: 508, + yamlFiles: 75, + markdownFiles: 433, + compiledAt: '2026-02-23T00:32:17.559Z' +}; + +console.log('📚 Compiled content loaded:', stats); From ac195517e175006544006b4f63361e521ebd0636 Mon Sep 17 00:00:00 2001 From: Teddy Shaw <teddyshaw4@gmail.com> Date: Mon, 2 Mar 2026 21:48:20 -0800 Subject: [PATCH 3/4] Added Clarifying video for a textbook question. --- frontend/public/textbook/students/f25/theodore-h-shaw.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/public/textbook/students/f25/theodore-h-shaw.md b/frontend/public/textbook/students/f25/theodore-h-shaw.md index fcce5d8..29cf5ea 100644 --- a/frontend/public/textbook/students/f25/theodore-h-shaw.md +++ b/frontend/public/textbook/students/f25/theodore-h-shaw.md @@ -2,4 +2,6 @@ Hi! I'm Theodore. I am taking this course in Fall 2026. As required, I'm posting my midterm here! -{{YouTube:https://youtu.be/SAWjqDF2JuY timestamps:["0:00", "5:30", "14:23", "18:21", "22:52", "29:07", "41:00"]}} \ No newline at end of file +{{YouTube:https://youtu.be/SAWjqDF2JuY timestamps:["0:00", "5:30", "14:23", "18:21", "22:52", "29:07", "41:00"]}} + +Coding Assingment #3 video URL: https://youtu.be/Qo_PxdQLkHU \ No newline at end of file From c0760d0b0ad827fdcd2d43ee5935db3a9a27e2b0 Mon Sep 17 00:00:00 2001 From: Teddy Shaw <teddyshaw4@gmail.com> Date: Sat, 7 Mar 2026 12:07:19 -0800 Subject: [PATCH 4/4] Added Coding Assignment 4 Video --- frontend/public/textbook/students/f25/theodore-h-shaw.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/public/textbook/students/f25/theodore-h-shaw.md b/frontend/public/textbook/students/f25/theodore-h-shaw.md index 29cf5ea..206bcc0 100644 --- a/frontend/public/textbook/students/f25/theodore-h-shaw.md +++ b/frontend/public/textbook/students/f25/theodore-h-shaw.md @@ -4,4 +4,6 @@ As required, I'm posting my midterm here! {{YouTube:https://youtu.be/SAWjqDF2JuY timestamps:["0:00", "5:30", "14:23", "18:21", "22:52", "29:07", "41:00"]}} -Coding Assingment #3 video URL: https://youtu.be/Qo_PxdQLkHU \ No newline at end of file +Coding Assignment #3 video URL: https://youtu.be/Qo_PxdQLkHU + +Coding Assignment #4 video URL: https://youtu.be/hEEu1TCq40U \ No newline at end of file