A decade had passed by the time I purchased my graphing calculator, and in the years between a robust online community had formed. These programmers -- many of them high school students -- had even figured out how to program their calculators in more complex source languages. Unfortunately, accessing such games required specialized knowledge and equipment, making the best programs precious. I wanted more of these high-quality games, and I wanted to learn how to make them.

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. Seeing my classmates play my extended version of "Mario" was so fulfilling that I soon began creating and coding original games under the moniker "Calcusoft" -- a juvenile attempt to brand my programming work.

Eventually I advanced from TI-BASIC to computer-based languages to tackle more ambitious projects. By senior year, I developed an elaborate role-playing game set in a virtual re-imagining of my school. The protagonist wandered through pixelated, monster-infested versions of real-life classrooms and hallways, battling for the safety of students and teachers. Due in part to the game's subtle nods to familiar school-wide jokes about the building's architectural features and eccentric faculty, the program spread quickly among classmates. They expressed satisfaction in seeing a familiar environment transformed into the virtual stage for an apocalyptic battle, and I took pride in seeing my work enjoyed and shared by friends and strangers alike.

After graduation, my interest in calculator games was supplanted by more collegiate pursuits. Truthfully, I'd almost entirely forgotten about my foray into programming until I discovered the "Calcusoft" storage bin in my parents' basement. In the years since, I'd become a high school English teacher and started a PhD in education. As such, even though paging through piles of code and illustrations was a pleasant nostalgia trip, I was most struck by the volume and depth of learning my TI-83 Plus had enabled.

If you had asked them, most of my high school teachers would have called me an unmotivated student or said that I lacked discipline and didn't take learning seriously. And yet, that abandoned storage bin told another story: with 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.