Greg Wilson

Greg Wilson

Co-founder of Software Carpentry
Author of books on computing and teaching
(and for children)
Ph.D. in Computer Science
Parent, spouse, and proud Canadian

Years ago, I lost my temper while arguing with my brother, and said, "Jeff, I could teach you everything I know and you'd still be an idiot." Please keep that in mind as you read this site.


July 15, 2019: Is This a Notional Machine for R?

A year ago, I wrote a description of a notional machine for Python, i.e., the mental model of how Python programs execute that I want to convey to learners when I’m teaching. I didn’t get much feedback on it at the time, so I still don’t know how well it corresponds to other people’s notional machines, but it was apparently mentioned in a recent workshop on notional machines, so I thought it might be worth following up by describing my notional machine for the tidyverse in R (the programming framework I’ve learned most recently).


July 07, 2019: A Veteran of a Thousand Language Wars

You see me now a veteran of a thousand psychic wars
I’ve been living on the edge so long, where the winds of limbo roar…
— Blue Oyster Cult


July 07, 2019: Deskilling Learning

According to Wikipedia, deskilling is, “…the process by which skilled labor…is eliminated by the introduction of technologies operated by semiskilled or unskilled workers. This results in cost savings due to lower investment in human capital, and reduces barriers to entry, weakening the bargaining power of the human capital.” This definition’s use of the euphemism “human capital” to mean “people” tells you how successful deskilling was as a tactic during the Industrial Revolution. Replacing artisans with assembly lines lowered costs for the people who owned the assembly lines, and tearing apart the solidarity that came from years-long apprenticeships helped factory owners squeeze even more out of people who now had no other way to feed themselves.


July 05, 2019: Patterns in Git

Two years ago, I proposed that someone could try to fix Git’s usability issues by:


July 05, 2019: A Modest Proposal

Undergraduate enrolment in computer science has gone up and down several times over the years. We’re currently in a boom, but history teaches that numbers will eventually tumble once again. This is a big problem for colleges and universities, which struggle to staff up during the booms and then have to downsize during the busts.


June 27, 2019: Who I've Cited

Authors cited in Teaching Tech Together; all 356 references are available online.


June 24, 2019: Chapter Summaries

Key points from each chapter of Teaching Tech Together to complement yesterday’s index.


June 23, 2019: An Index

So what exactly does Teaching Tech Together cover?


June 20, 2019: Typography

My dad used to have a little pocketbook that was given to Australian soldiers during the Korean War. It had a few handy phrases in Korean, Chinese, and Russian, some first-aid advice, and instructions on defusing unexploded artillery shells. (Apparently the fuses in the Chinese shells used by the North Koreans would often fail to go boom when they landed in thick mud.) On the bottom of one of the right-hand pages were the instructions “Step 3: Cut the yellow wire”. When you turned the page, the rest of the sentence was, “after cutting the red wire.”


June 19, 2019: Feature Complete

Teaching Tech Together is feature complete: I have to revise the diagrams and do one last pass on grammar, but I think the content is in close-to-finished form: