My real template for a first programming class is this: Teach the bare minimum of language features required to do interesting things. Stop. Spend the rest of the semester working on short assignments that introduce students to problem solving and an appreciation for the usefulness of knowing how to write code.
3 months agoJanuary 28, 2013
10 PRINT CHR$ (205.5 + RND (1)); : GOTO 10, a new book collaboratively written by 10 authors, takes a single line of code—inscribed in the book’s mouthful of a title—and explodes it.
That one line, a seemingly clumsy scrap of BASIC, generates a fascinatingly complicated maze on a Commodore 64. Run the little program on an emulator—or on an actual Commodore 64, if you happen to have one collecting dust in your basement—and a work of art unfolds before your very eyes, as the screen slowly fills up in a mesmerizing fashion. (Run it on another old-school computer, like an Apple II, and you won’t get the same transfixing result, for details that have to do with the Commodore 64’s character set, called PETSCII.)
The line of code seems basic, even for BASIC. There aren’t any variables. It uses a GOTO instead of a more elegant loop. How could something so short and simple generate such a complex result? What can this one line—“10 PRINT,” to use the authors’ shorthand—teach us about software, and culture at large?
5 months agoDecember 1, 2012
6 months agoNovember 15, 2012
Entropy is a programming language about giving up control. All data decays as the program runs: each value alters slightly every time it’s used, becoming less precise. An Entropy programmer needs to abandon the pursuit of precision which most programming demands—often working against years of habit—in order to program effectively. Any output from an Entropy program will be approximate, and the more the data is accessed, the more random it will become.
7 months agoOctober 8, 2012