7. Distributed computing
Week 7 (October 5)Due: 2.2 Scatter lab
Assigned: 2.3 Weather lab , 2.6 Argument project
Dictionaries. Interaction with remote APIs, distributed computing, introducing the Weather lab. Introducing the Argument project.
Weekly update
Outline
- 0:00 Course logistics
- Introducing the Weather lab: dictionaries, contrasted with the lists of the Scatter lab, and building a real command-line weather app.
- Functional programming at another scale: in the Scatter lab we thought about what goes into and comes back from a function; in the Weather lab, what goes to and comes back from servers across the internet.
- If you're behind, let's schedule one-on-one time in the next couple of weeks, before the final push into object-oriented programming in the games unit. Email or ping me on Discord.
- 3:36 Assessment
- Run
mwc updateand thenmwc statusto see a summary of your assessed Unit 1 work. Want full credit on something? Revise it andmwc submitagain. - The pedagogy of assessment: grades should measure and give feedback on performance, not motivate or enforce logistics. Late work is a cue to check in with a student, not to take off points.
- Run
- 6:17 Unit 1 showcase: Typeface problem set
- A proof sheet mixing letters from everyone's typefaces.
- One student's pattern: save the turtle's starting position and heading, walk from point to point along the letter's outline, then return. This differs from Papert's "be the turtle" relative movement, but once the pattern was found, 26 separate problems collapsed into one (and could become a single helper function). Noticing and exploiting patterns is where programming gets powerful.
- 10:00 Unit 1 showcase: Drawing projects
- Open-ended projects put students in front of problems worth solving. Watch for students who route around a juicy problem by changing their project. Use milestones: "let's do the first thing first and see how far we get."
- Making CS work visible to peers and families, for example the arcade console (coming in the games unit) and a pen plotter gift-wrap design workshop with a high school.
- Think about how choosing what you made changed your experience, especially if you used AI.
- Low floor, high ceiling (Mitch Resnick).
- 17:03 Getting stuck: your commit messages
- Talk about getting stuck as interesting, not as something to penalize, and model it yourself.
- Using AI to get unstuck (e.g. drawing diagonal lines) in a way that doesn't feel like cheating, though we don't yet have data on AI's effects in intro CS.
- Why a single misplaced indent breaks the whole program: computers are intentionally strict. Compare best-effort HTML rendering with statically typed languages like Java or Go.
- Making progress without losing work: Git branches eventually, but saving a copy first is fine too.
- 22:27 Epistemological pluralism
- There's no official way to get unstuck. Build a classroom culture where students notice, name, and share the strategies that work for them, using shared language you build together.