Circles traveling along the path of a Hilbert Space filling Curve.


Thinking in Tic Tac Toe

Thirty one years ago I typed tic tac toe code, found at the back of a computer magazine, into my VIC 20. I didn’t understand the code but I felt wizardly when the game popped up on the living room TV. Thirteen years later I would code my own tic tac toe game for the first time while learning to build Microsoft Access apps during my coding internship at MTS. I added the game as an easter egg to the time tracking app I built for the MTS Solutions Group.

The first two were written in flavours of BASIC. I’ve since coded tic tac toe in Pascal, Perl, Ruby and Clojurescript. The Pascal one was Connect Four, a 4-run tic tac toe with gravity.

All were written as code kata in the name of learning through experimentation. Sketching with code.

“This kind of coding as thinking out loud is known in the Agile methodology as a spike. It is meant to be as informal as possible. It’s the equivalent of whiteboarding. And just as whiteboarding sometimes leads to a formal solution, sometimes it’s benefit is in quickly and simply framing a problem. Coding allows us to whiteboard directly with data.”

This quote is from my friend Sam’s talk on Coding and Humanism for the UTSC Digital Pedagogy Institute.

Sam’s talk is embedded below. Worth the watch if you’re into such things as digital literacy in libraries, agency through computational thinking, formalism vs hermeneutics, amateurism, openness and pedagogy. ლ(´ڡ`ლ)

Sam’s talk got me thinking about how I learned to program computers. It also got me thinking about the privilege of having spent three decades thinking in code. I was fortunate to have access to a computer from a young age, with leisure time for computational tinkering, encouraging parents, friends, teachers and mentors. The gender, race and class issues present in the tech world have not been working against me.

Sketching with code. As an IT educator I’ve tried to balance the strict formalism required by technology with an informal exploratory approach to learning.

Sketching with empathy. To better serve all my students a recognition of privilege must also inform my teaching practice.

* * *

My most recent tic tac toe sketch can be played here. The computer plays randomly, not strategically. View the game’s source code, written while learning Clojurescript, Reagent and React.

2016-05-01 09:28:25