Virtus Cyber Academy

Petzold *CODE* Reading Guide for CSA-101

2,294 words · ~10 min read
Markdown PDF

Cross-chapter reading guide for CSA-101. Covers all 13 chapters (Ch 1, 2, 3, 4, 5, 6, 6a, 7, 8, 9, 10, 11, 12). Page numbers are 1st-edition.

Purpose: chapter-by-chapter reading map of Charles Petzold's CODE: The Hidden Language of Computer Hardware and Software as the curriculum walks it. Print and pin during the entire CSA-101 sequence. CSA-101 leans on Petzold 37 times across 12 chapters. At scale, the cumulative weight of "the same book has explained everything at the right moment" is the curriculum's central pedagogical structure.

Two editions exist; both work. The 1st edition (1999, Microsoft Press; Internet Archive OCR) and the 2nd edition (2022, Microsoft Press) cover the same material with similar pagination (within ±5-10 pages). All page numbers in this guide are 1st-edition unless explicitly marked, because the chapter prose validates quotes against the 1st-edition EPUB. Students using the 2nd edition can locate the same passage by section title; the structural arc is unchanged.


At a glance

Property Value
Total Petzold citations across CSA-101 37
Chapters cited 6 of Petzold's 25 (Ch 4, 11, 17, 22, 24, 25)
Most-cited Petzold chapter Ch 24 Languages High and Low (cited 6 times)
Most-cited per-CSA-chapter Ch 11 + Ch 12 (3 weaves each)
Reading workload ~60 pages total (CODE is ~395 pages 1st ed.)
Editions OK 1st ed. (1999, Internet Archive OCR) or 2nd ed. (2022)
Final-citation chapter CSA-101 Ch 12 (closes the entire Petzold thread; reaches the very last paragraph of CODE)

Petzold reading workload

By weave count, students who read every Petzold weave's anchor chapter encounter ~60 pages across these 6 Petzold chapters:

Petzold chapter 1st-ed pages 2nd-ed pages (approx.) CSA-101 weave-count
Ch 4 Anatomy of a Flashlight pp. 21-30 (~10 pp) pp. 23-32 1
Ch 11 Gates (Not Bill) pp. 106-134 (~29 pp) pp. 110-138 1
Ch 17 Automation pp. 207-238 (~32 pp) pp. 213-244 5
Ch 22 The Operating System pp. 319-337 (~19 pp) pp. 325-343 6
Ch 24 Languages High and Low pp. 349-366 (~18 pp) pp. 355-372 6
Ch 25 The Graphical Revolution pp. 369-387 (~19 pp) pp. 375-393 5

Total: ~127 pages, but each chapter is independently readable and most students re-read 1-2 chapters during the cohort. Estimated total reading time: 6-9 hours across the 14-week course.


The 37 Petzold citations across CSA-101 (chronological by VCA chapter)

Pretty-printed map of every weave: which CSA chapter cites which Petzold chapter, at which page, for which thesis. The cross-chapter Petzold thread is the curriculum's central connective tissue.

Chapter 1: Boolean Logic

Weave # Petzold chapter / page Thesis
#1 Ch 4, p. 22 "The flashlight is certainly one of the simpler electrical appliances found in most homes."
#2 Ch 6, p. 44 The repeater/relay paragraph: "The device we've invented is called a repeater, or a relay..."
#3 Ch 11, p. 129 De Morgan's laws as electrical equivalences: "An AND gate with two inverted inputs does exactly the same thing as a NOR gate..."

Petzold reading for Ch 1: Ch 4 + Ch 5 (pp. 21-39, ~18 pp) + Ch 6 + Ch 11.

Chapter 2: Boolean Arithmetic

Weave # Petzold chapter / page Thesis
#1 Ch 12 A Binary Adding Machine The 4-bit ripple adder Petzold builds; cross-references CSA-101's Ch 1 §1.9 finished adder
#2 Ch 13 But What About Subtraction? Two's-complement subtraction as add-the-complement

Petzold reading for Ch 2: Ch 12 + Ch 13 (pp. 135-171, ~37 pp).

Chapter 3: Memory

Weave # Petzold chapter / page Thesis
#1 Ch 14 Feedback and Flip-Flops The cross-coupled NOR gates that hold a bit
#2 Ch 16 Memory Memorabilia Byte-addressable RAM; the address-decoder structure

Petzold reading for Ch 3: Ch 14 + Ch 16 (pp. 173-205, ~33 pp).

Chapter 4: Machine Language

Weave # Petzold chapter / page Thesis
#1 Ch 19 Two Classic Microprocessors, est. pp. 271-272 Opcode tables in hex; structure shows through; 8080 MOV bit pattern 01dddsss
#2 Ch 17 Automation First citation in the automation thread; introduces "let the bytes carry meaning"

Petzold reading for Ch 4: Ch 17 + Ch 19 (pp. 207-238, 245-???, ~32+ pp).

Chapter 5: Computer Architecture

Weave # Petzold chapter / page Thesis
#1 Ch 17 Automation, p. 212 "Load the value at address 0000h into the accumulator...", the operator leaves the room
#2 Ch 17 Automation, p. 209 "All it does is add, and all it adds are 8-bit numbers...", the chapter's quoted limit
#3 Ch 18 From Abaci to Chips (briefly cited) Historical lineage: the move from abacus to silicon

Petzold reading for Ch 5: Ch 17 + Ch 18.

Chapter 6: Assembler

Weave # Petzold chapter / page Thesis
#1 Ch 17 Automation, p. 224 "actually keying these numbers", the manual cost the assembler eliminates
#2 Ch 24 Languages High and Low, p. 349 "eating with a toothpick". Assembly as the very high-level abstraction
#3 Ch 24 Languages High and Low, p. 356 "first person to write the first assembler"
#4 Ch 24 Languages High and Low, pp. 354 + 359 Ladder of languages; ALGOL as seminal

Petzold reading for Ch 6: Ch 17 + Ch 24 (pp. 207-238, 349-366; the dominant reading of CSA-101).

Chapter 6a: Static Linker

Weave # Petzold chapter / page Thesis
#1 Ch 24 Languages High and Low, p. 351 "(Actually there's another step in the process, but it's not important in this account of what happens.)", the parenthetical that names the linker's existence
#2 Ch 22 The Operating System, p. 328 Bootstrap loader: "All the ROM needs to contain is a small piece of code known as a bootstrap loader..."
#3 Ch 17 Automation, p. 223 "It's no longer necessary to have two separate RAM arrays. Both code and data can be stored in the same RAM array.", the stored-program model

Petzold reading for Ch 6a: Ch 17 + Ch 22 + Ch 24.

Chapter 7: Virtual Machine I

Weave # Petzold chapter / page Thesis
#1 Ch 17 Automation, p. 212 + p. 209 Returning visit; the operator-leaves-the-room thesis carries forward
#2 Ch 22 The Operating System, p. 328 Returning visit; bootstrap loader = compiler-side OS-segment-base contract
#3 Ch 24 Languages High and Low, p. 354 Returning visit; "ALGOL... seminal language, the direct ancestor..."

Petzold reading for Ch 7: Ch 17 + Ch 22 + Ch 24 (all returning visits).

Chapter 8: Virtual Machine II

Weave # Petzold chapter / page Thesis
#1 Ch 17 Automation, pp. 234-235 "It's better not to use actual numeric addresses when they can change... use labels..."
#2 Ch 22 The Operating System, p. 330 The third major function of an OS; "a program running under CP/M makes use of a collection of subroutines..."
#3 Ch 25 The Graphical Revolution, pp. 371-373 First Ch 25 citation; "A graphical operating system... has hundreds of API functions"; clicks-as-function-call-chains

Petzold reading for Ch 8: Ch 17 + Ch 22 + Ch 25 (new).

Chapter 9: Compiler I (Syntax Analysis)

Weave # Petzold chapter / page Thesis
#1 Ch 24 Languages High and Low, p. 353 "you must also write a compiler... read through a source-code file character by character and break it down into short words and symbols and numbers", the tokenizer's job
#2 Ch 24 Languages High and Low, p. 354 Returning visit, different page; ALGOL as first formally-specified-grammar language
#3 Ch 25 The Graphical Revolution, p. 373 Returning visit, different angle; objects-containing-objects-as-trees parallels parse-trees-as-trees-of-trees

Petzold reading for Ch 9: Ch 24 + Ch 25.

Chapter 10: Compiler II (Code Generation)

Weave # Petzold chapter / page Thesis
#1 Ch 22 The Operating System, pp. 326 + 329 Filename-to-disk-block resolution as namespace cousin of compiler's symbol-table resolution
#2 Ch 24 Languages High and Low, pp. 353 + 354 Final Ch 24 citation; closes the recursion-on-grammar thread (compiler's call graph = parse tree's shape)
#3 Ch 25 The Graphical Revolution, p. 382 (the second-to-last page of the entire book) "Java byte codes... an imaginary computer called the Java virtual machine (JVM)", the architecture the student has just spent two chapters implementing

Petzold reading for Ch 10: Ch 22 + Ch 24 + Ch 25.

Chapter 11: Compiler III (OS-Aware Compilation)

Weave # Petzold chapter / page Thesis
#1 Ch 22 The Operating System, pp. 330 + 332 Fifth-and-final Ch 22 citation; the subroutine-collection-as-OS-API + INT 21h
#2 Ch 24 Languages High and Low, pp. 362 + 363 Sixth-and-final Ch 24 citation; compiler-vs-interpreter; C-as-high-level-assembly
#3 Ch 25 The Graphical Revolution, p. 370 Xerox Alto framebuffer; "By writing into this video display memory, software could draw pictures..."

Petzold reading for Ch 11: Ch 22 + Ch 24 + Ch 25 (final-citation milestone for Ch 22 + Ch 24).

Chapter 12: Virtus OS (the curriculum's closing chapter)

Weave # Petzold chapter / page Thesis
#1 Ch 22 The Operating System, p. 330 Sixth-and-absolute-final Ch 22 citation; "Providing a program with easy access to the hardware of the computer is the third major function of an operating system."
#2 Ch 25 The Graphical Revolution, p. 370 Returning visit; cross-chapter callback to Ch 11 weave #3, the sw to the framebuffer that completes Petzold's "by writing into this video display memory"
#3 Ch 25 The Graphical Revolution, p. 382 (the very last paragraph of the entire book) Sixth-and-absolute-final Ch 25 citation; closes Petzold's ladder and the curriculum's: "like faster dots and dashes of Morse code and those careful pulses of blinking light we once used to communicate late-night wisdom to our best friend across the way"

Petzold reading for Ch 12: Ch 22 + Ch 25 (closing reads).


Petzold-chapter cross-reference (Petzold-side perspective)

For students who want to read CODE in its native order and consult CSA-101 chapters as glosses:

Petzold chapter CSA-101 chapters that cite it First cited / final cited
Ch 4 Anatomy of a Flashlight (pp. 21-30) Ch 1 weave #1 First + final = Ch 1
Ch 5 Seeing Around Corners (pp. 32-39) Ch 1 §1.3 (briefly) First + final = Ch 1
Ch 6 Telegraphs and Relays (pp. 40-47) Ch 1 weave #2 First + final = Ch 1
Ch 11 Gates (Not Bill) (pp. 106-134) Ch 1 weave #3 First + final = Ch 1
Ch 12 A Binary Adding Machine (pp. 135-157) Ch 1 §1.9 (cross-ref); Ch 2 weave #1 First = Ch 1; final = Ch 2
Ch 13 But What About Subtraction? (pp. 159-171) Ch 2 weave #2 First + final = Ch 2
Ch 14 Feedback and Flip-Flops (pp. 173-???) Ch 3 weave #1 First + final = Ch 3
Ch 16 Memory Memorabilia (pp. ???-205) Ch 3 weave #2 First + final = Ch 3
Ch 17 Automation (pp. 207-238) Ch 4, 5, 6, 6a, 7, 8 (cited 5 times) First = Ch 4; final = Ch 8
Ch 18 From Abaci to Chips Ch 5 (briefly) First + final = Ch 5
Ch 19 Two Classic Microprocessors (pp. ~245-???) Ch 4 weave #1 First + final = Ch 4
Ch 22 The Operating System (pp. 319-337) Ch 6a, 7, 8, 10, 11, 12 (cited 6 times) First = Ch 6a; final = Ch 12
Ch 24 Languages High and Low (pp. 349-366) Ch 6, 6a, 7, 9, 10, 11 (cited 6 times) First = Ch 6; final = Ch 11
Ch 25 The Graphical Revolution (pp. 369-387) Ch 8, 9, 10, 11, 12 (cited 5 times) First = Ch 8; final = Ch 12

Reading-order recommendation: read each Petzold chapter just before the first CSA-101 chapter that cites it. The chapters used most heavily (17, 22, 24, 25) reward re-reads as their CSA-101 weaves accumulate.


How to locate a quoted passage

Every Petzold passage cited in CSA-101 chapter prose can be found in either edition by section title. Page numbers in this guide are 1st-edition. If the page number differs in your copy, locate the passage by the surrounding section heading.

  1. Exact quotes use the book's precise phrasing and cite the 1st-edition page.
  2. Paraphrased attributions say "Petzold's argument in Ch X" rather than "Petzold writes," which implies a direct quote.
  3. Page drift: the 1st and 2nd editions share the same chapter structure; page numbers differ by ±5-10 pages throughout. The section title is always the reliable anchor.

Suggested reading sequence by belt

For students who want a staggered Petzold reading aligned with their CSA-101 cohort progression:

Cohort week CSA-101 chapter active Petzold reading (cumulative)
Weeks 1-3 Ch 1 (Boolean Logic) Ch 4, 5, 6, 11 (~50 pp)
Weeks 4-6 Ch 2 (Boolean Arithmetic) + Ch 12, 13 (~37 pp)
Weeks 7-8 Ch 3 (Memory) + Ch 14, 16 (~33 pp)
Week 9 Ch 4 (Machine Language) + Ch 17, 19 (~32 pp; Ch 17 starts here, will be re-read 4 more times)
Weeks 10-12 Ch 5-6a (Computer Architecture / Assembler / Linker) (re-read Ch 17, add Ch 22)
Weeks 13-14 Ch 7-8 (VM I + II) (re-read Ch 22; first read Ch 24 + Ch 25)
Weeks 15-17 Ch 9-11 (Compiler I/II/III) (re-read Ch 24 + Ch 25)
Weeks 18-20 Ch 12 (Virtus OS) (closing re-reads: Ch 22 + Ch 25, esp. p. 382, the very last paragraph of CODE)

Total Petzold pages read: ~127 pp original + ~50 pp re-reads = ~180 pp distributed across the cohort. Each Petzold chapter will be visited 1-6 times depending on its centrality to the curriculum.


Where to obtain CODE

Edition Source Notes
1st edition (1999, Microsoft Press) Internet Archive (archive.org); search CODE Petzold 1999 Page numbers in this guide match the 1st edition
2nd edition (2022, Microsoft Press) Bookstores; Microsoft Press store; Amazon More accessible; pagination differs by ±5-10 pp from 1st ed.; section titles unchanged
Library copies Most university and public libraries hold 1st edition; many hold 2nd Either edition fine for cohort use

Cost note. CODE (2nd ed.) retails ~$30 USD as of 2026; the cohort is expected to hold a copy for the entire 14-week (or ~5-month staggered) CSA-101 course and to re-read it during CSA-201. Strongly recommended purchase, not a one-pass-only book.


Where to read more