Hi, I'm Geoff

I love to teach, and I love to code.
I teach students to code.
And I write code that helps them learn.

My goal is to teach computer science to as many people as possible. I do this by creating interactive learning environments that scale. You can explore an example of my materials at learncs.online.

Here's a long bio, or perhaps you'd prefer something shorter.


Essays

I post essays here on teaching, technology, and the overlap between the two. I try to keep my essays on teaching accessible to teachers who don't program, and my essays on technology interesting to programmers who don't teach.

Latest

Here are my latest four essays. For the complete set, click here.

2022-11-18 : Evaluating Teaching Faculty Positions: Part 2

There's a ton of variation between teaching faculty positions. If you want a good one, here are some additional important questions to ask, related to contracts, pay, and leadership opportunities.

2022-10-28 : Evaluating Teaching Faculty Positions

There's a ton of variation between teaching faculty positions. If you want a good one, here are some of the important questions to ask.

2022-06-17 : The Need for Jeed

How and why we run untrusted Java bytecode in a secure in-process sandbox. (tl;dr: It's fast.)

2022-04-17 : Eliminate Final Exams

A single exam isn't the solution to assessment. It's the problem.

Random Selection

Here is a random selection from my archive. Enjoy!

2022-04-08 : My CS1 Backend

I've created an interactive, immersive, and effective online learning experience for my CS1 students. As the first installment in a multi-part series, I'll provide an overview of my course infrastructure, and discuss a bit about how I got to this crazy place.

For more essays, click here.