Grade 10 · printable course

Computer Science Principles: Computation, Data, and Society (Part 2)

Grade 10, Units 5-8 · 311 pages · 36 lessons · PDF, print at home

A full-year, algebra-based introduction to computing for students with no prior programming experience. Students write and read Python programs, represent and analyze data, model the internet's architecture, and evaluate the social, economic, and ethical consequences of computing systems. Every tool used is free and runs in a browser with no account requiring payment. The course treats programming as one of several representational systems for solving problems, alongside data tables, flowcharts, and network diagrams, and asks students to judge computing's effects on people, not only to build artifacts. This volume holds units 5 to 8: Data Underneath: Bits, Encoding, and Representation; How the Internet Works: Networks and Protocols; Attack Surface: Cybersecurity and Privacy; Capstone: Computing and Its Consequences.

Delivered by email within minutes as a PDF stamped with your name. Print any part as often as you need for the children in your household; the link never expires.

$21.99

one household licence

What is inside

Every unit and lesson in this book, in order. The same lessons are taught online at lettersanddevotion.com, so a family can move between paper and screen.

Computer Science Principles: Computation, Data, and Society

36 lessons · try a lesson online free

Unit 5: Data Underneath: Bits, Encoding, and Representation8 lessons
  1. 40.Binary-decimal place value conversion for 8-bit values
  2. 41.ASCII character encoding of byte values
  3. 42.The relationship between a bit pattern and the encoding convention applied to it
  4. 43.Lossy vs. lossless compression as different information-preservation guarantees
  5. 44.Data collection and encoding choices embedded in a specific real dataset
  6. 45.Design tradeoffs in creating a new binary encoding scheme
  7. 46.The distinction between sampling bias and encoding bias in data collection
  8. 47.The multi-step ASCII decoding procedure (bits to decimal to character)
Unit 6: How the Internet Works: Networks and Protocols10 lessons
  1. 48.The client-server-DNS-routing-packet layer model of a network request
  2. 49.The distinction between a protocol (a rule set) and physical network infrastructure
  3. 50.Packet reassembly using sequence numbers despite out-of-order arrival
  4. 51.TCP's retransmission/reliability guarantee as the cause of differing outcomes between two contrasted network scenarios
  5. 52.Bandwidth, latency, and fault tolerance as distinct causes of network performance problems
  6. 53.The real end-to-end sequence of network layers for a specific, novel URL
  7. 54.Application of the layer model (client, DNS, routing, packet, server) to an unfamiliar, real-world infrastructure failure scenario
  8. 55.Accountability for harm in a decentralized network, applied to a specific real incident not covered in class
  9. 56.The function of DNS as name-to-address translation
  10. 57.Packet-switching's fault-tolerance advantage over single-stream transmission, as an integrated explanation
Unit 7: Attack Surface: Cybersecurity and Privacy9 lessons
  1. 58.Symmetric-key encryption as a two-way encoding/decoding procedure using a shared key
  2. 59.The five named attack-vector terms and their mechanisms
  3. 60.The three-way classification of attack vectors by layer
  4. 61.The checkable tells that distinguish legitimate communication from phishing
  5. 62.The distinction between breaking encryption and compromising a different point in the encrypted pipeline
  6. 63.The usability-cost-risk tradeoff underlying data-collection decisions
  7. 64.The reasonableness of a specific organization's security tradeoff, evaluated against evidence in an incident report
  8. 65.The relationship between an app's stated functionality/permissions and the personal data it is likely collecting
  9. 66.The distinction between a vector-specific mitigation and a generic security recommendation
Unit 8: Capstone: Computing and Its Consequences9 lessons
  1. 67.The distinction between disparate impact (outcome evidence) and disparate treatment (intent evidence) as two different classes of claim requiring two different kinds of evidence
  2. 68.The three-way evidentiary test (bug vs. disparate impact vs. disparate treatment) applied to an unfamiliar case
  3. 69.A function-based data-processing pipeline that computes a disaggregated summary statistic from a list of records
  4. 70.Adaptation of a taught function-based aggregation pattern to a structurally similar but surface-different dataset
  5. 71.The relationship between unequal computing/network access (digital divide) and sampling bias in who is represented in a dataset
  6. 72.Obligations imposed by specific open-source software licenses on reuse and redistribution
  7. 73.The distinction between spec-conformance ('does it work') and social-impact justification ('should it exist this way') as applied to one specific, named real-world system
  8. 74.Cumulative course vocabulary applied in context to a novel case rather than recited in definition form
  9. 75.The digital-divide-to-sampling-bias mechanism applied to a domain, dataset shape, and framing not used anywhere in instruction