Presented a three-hour "unplugged" workshop on machine learning. University of Waterloo, August 15, 2018.
Presented a one-hour workshop on mohawk_pygame.py, an "easy" version of pygame for novice programmers. Seneca College, February 24, 2018.
Presented five hours of workshops that together comprised a quick rundown of basic features of both Python and Pygame. The focus was on what teachers need to know to get going. Sheridan College PD Day for Dufferin-Peel Computer Science Teachers, May 6, 2016.
Presented two Multi-Agent Game Arenas developed for and used successfully in my ICS4U classroom. In both systems, students create a Java class for their Bot and then the bots face off against one another in an "arena" application. Software and documentation provided. University of Waterloo, 2011 and Seneca College, 2015.
Presented my updated version of Holt Software Associates' graphical console for introductory Java programming, along with instructions on how to use it to create 2D casual games. I also provided complete course materials for an ICS3U course that relies heavily on the graphics console. University of Waterloo, 2012.
Presented a basic introduction to MIT's App Inventor, a drag-and-drop programming system for creating Android Apps. University of Toronto, 2012.
Presented a basic introduction client-server programming on the web and simple Input-Processing-Output programs in PHP. University of Waterloo, 2014.
Presented a framework designed to get high school students creating HTML5 canvas apps quickly. Leaside High School, Toronto, 2013.
Code and documentation for a multi-agent Java game system where students create bots (i.e. Java objects) to face off against one another.
Another multi-agent Java game. Student-created bots (i.e. Java objects) try to predict what their opponent will do next in an augmented game of Rock Paper Scissors.
A package for beginner Java programmers. Simplifies I/O and allows beginning students to create simple 2D graphics and games.
Michael Harwood has created a new version of this package including anti-aliasing. It's available on github.