Phil Nichols describes his youthful adventures reappropriating the humble graphing calculator to program games:
For me, it began with “Mario” — a TI-BASIC game based loosely on its Nintendo-trademarked namesake. In the program, users guided an “M” around obstacles to collect asterisks (coins, presumably) across three levels. Though engaging, the game could be completed in a matter of minutes. I decided to remedy this by programming an extended version. I studied the game’s code, copying every line into a notebook then writing an explanation beside each command. I sought counsel from online tutorials, message boards, and chat rooms. I sketched new levels on graph paper, strategically placing asterisks in a way that would present a challenge to experienced players. Finally, after a grueling process of trial and error, I transformed my designs into code for three additional stages.
As he summarizes, his non-school-sanctioned explorations of an otherwise school-based tool led to sophisticated discoveries and creations:
[W]ith the aid of my calculator, I’d crafted narratives, drawn storyboards, visualized foreign and familiar environments and coded them into existence. I’d learned two programming languages and developed an online network of support from experienced programmers. I’d honed heuristics for research and discovered workarounds when I ran into obstacles. I’d found outlets to share my creations and used feedback from others to revise and refine my work. The TI-83 Plus had helped me cultivate many of the overt and discrete habits of mind necessary for autonomous, self-directed learning. And even more, it did this without resorting to grades, rewards, or other extrinsic motivators that schools often use to coerce student engagement.
While he positions calculator programming as a balance between the complementary educational goals of “convention” and “subversion,” this also echoes tradeoffs between routine expertise and adaptive expertise, between efficiency and creativity, or between convergent and divergent thinking. It remains an ongoing risk in overly restrictive learning environments. Standards that dictate the time and sequence of each stage of students’ progression fail to allow for the different paths which personalization accommodates. Yet even adaptive learning systems that seek to anticipate every next step a student might take must be careful not to add so many constraints that crowd out productive paths the student might otherwise have pursued. Personalized learning needs to leave room for error and open-ended discovery, because some things just aren’t known yet.