The most important part of COMP 50 is your deliberate practice in brief, daily sessions. As part of that practice, you will read the book every day. On average, you’ll read six to twelve pages per day. Your reading will sometimes be behind the lecture, but most of the time your reading will be ahead of lecture. This plan enables us to do more interesting things in lecture, as well as giving you the opportunity to use lecture to correct or clarify issues that may have come up in your reading.
To help you keep track of where you need to be, this guide breaks down recommended reading by week. Page numbers refer to the MIT Press edition, but you may read everything online at http://htdp.org
. Be alert that you will read some sections out of order!
(Note: “pp” is an abbreviation for “pages”; the § symbol is pronounced “Section”; §§ is pronounced “Sections”.)
Week ending September 8 (short week): Sections 1 to 4—Racket through conditional expressions and functions
Suggested daily split: pp3–11 (§§1.0–2.2) • pp12–21 (§§2.3–2.5) • pp21-28 (§3) • pp29–37 (§§4.0–4.2) • pp37–46 (§§4.3–4.4)
Week ending September 15 (first full week): Sections 5 to 7, plus Section 1.2 of the second edition—symbols, strings, mixed data
Suggested daily split: pp46–54 (§5) and 2nd ed., §1.2 • pp51–62 (§§6.1–6.3) • pp63–72 (§§6.4–6.6) • pp79–85 (§7.1) • pp85–93 (§§7.2–7.3) • pp94–96 (§7.5)
You’ll skip the Intermezzo and return to it later.
Week ending September 22: Sections 9 to 10 and 12 to 15.1 (including Intermezzo 2)—lists, trees, and auxiliary functions
Suggested daily split: pp118–128 (§§9.1–9.3) • pp128–137 (§§9.4–9.5) • pp138–151 (§§10.1–10.3) • pp168–180 (§§12.1–12.4) • pp181–188 (Intermezzo 2) • pp189–199 (§§14.0–14.1) • pp209–217 (§§15.0–15.1)
Week ending September 29: Sections 15.2 to 17.7—multiple complex data items, implementing DrRacket
Suggested daily split: pp217–221 (§§15.1–15.3) • pp221–228 (§16) • pp228–239 (§§17.0–17.3) • pp240–247 (§§17.4–17.6) • pp97–114 (Intermezzo 1) • pp208–209 (§14.4) • pp247–249 (§17.7)
Week ending October 6: Section 17.8, Intermezzo 3—equality, local definitions, and lexical scope
At this point, the material starts to get more challenging. I’m recommending you take five days’ worth of reading and spread it out over seven days, which will give you time to digest it.
Suggested daily split: pp249–258 (§17.8) • pp259–269 (Intermezzo 3 through Pragmatics of Local, Part I) • pp269–280 (rest of Intermezzo 3) • pp283–292 (§§19.0–19.1) • pp293–298 (§19.2) • slack • slack
Week ending October 13: Sections 20 and 21, and Intermezzo 4—function values, anonymous functions, looping with functions, and designing abstractions with functions
This week you’ll dive into one of Racket’s most powerful features. The week ends with a long holiday weekend, so I’m suggesting a lighter reading load.
Suggested daily split: pp299–305 (§20) • pp306–312 (§§21.0–21.1) • pp350–355 (Intermezzo 4) • p313 (fig. 57) • slack • holiday • holiday
Week ending October 20: Sections 21 to 26—Program design with first-class functions; generative recursion with examples
Suggested daily split: holiday • pp319–325 (§§22.0–22.2) • pp315–316 (§21.3) • pp334–340 (§§23.0–23.3) • pp342–349 (§§23.4–23.5) • pp357–367 (§25) • pp368–380 (§26)
Week ending October 27: Sections 27 and 28 and Intermezzo 5—Deeper into generative recursion; graphs and graph algorithms; costs
Suggested daily split: pp381–386 (§§27.0–27.1) • pp387–396 (§§27.2–27.3) • pp399–401 (§27.4) • pp406–413 (§28.1) • pp417–426 (Intermezzo 5, through The Definition of Big O) • pp426–438 (Rest of Intermezzo 5: Vectors) • slack
Week ending November 3: Sections 30 to 32—Accumulators
Suggested daily split: pp441–445 (§§30.0–30.1) • pp445–450 (§30.2) • pp450–457 (§31) • pp460–466 (§31) • pp472–477 (§§32.2–32.3) •
Week ending November 10: Review
After November 10 you will be meeting with a mentor to plan your learning portfolio. This week I recommend you review your early work.
Suggested daily split: review pp21–27 (§3) • review pp90–93 (§7.3) • review pp94–96 (§7.5) • review pp168–175 (§§12.0–12.2) • review pp176–180 (§12.3) • review pp221–228 (§16) • holiday
Week ending November 17: Intermezzo 6 and sections 34 to 36—Inexact numbers, mutation
During this week, in addition to your reading, you will meet with a mentor to discuss your portfolio ideas.
Suggested daily split: holiday • pp478–488 (Intermezzo 6) • pp491–498 (§§34.0–35.1) • pp499–504 (§§35.2–35.3) • pp505-507 (§35.4) • pp507–520 (§36) • slack
Week ending November 24: this week is not yet scheduled
Week ending December 1: light reading only, not yet scheduled
This week is Thanksgiving week.
Week ending December 8: This week you will review the final draft of your learning portfolio with a graduate writing consultant. No reading will be assigned.