Greg Wilson

Greg Wilson

Head of Instructor Training at DataCamp

Co-founder of Software Carpentry

Editor of Beautiful Code, Making Software, and
The Architecture of Open Source Applications

Occasional children's author

Ph.D. in Computer Science

Parent, spouse, and proud Canadian

Invitation: Exercise Types Extended

Dec 17, 2017

A couple of months ago, I assembled an incomplete list of automatically gradable exercises that can be used to teach programming. I think it would be useful to make this more comprehensive, add citations to specific examples, and then publish the result as a survey paper, and am looking for co-authors who’d be interested in collaborating on it. If you’re faculty, a K-12 teacher, a graduate student, or a developer building tools to do this, and are interested in doing some research and writing starting in January, please give me a shout.

Consider the Bicycle

Dec 17, 2017

Consider the bicycle–more specifically, the De Rosa SK Pininfarina:

What Does Peripheral Participation in Data Look Like?

Dec 15, 2017

One of the cornerstones of modern learning theory is legitimate peripheral participation: the idea that newcomers become members of a community of practice by participating in low-risk/low-effort tasks that are genuinely useful the community while giving the newcomers a chance to learn vocabulary, meet people, and internalize the community’s unwritten rules. Driving people to polling booths on election day is an example: it’s important, but it doesn’t require a lot of training or a long-term commitment to the party.

The New Standard Model

Dec 6, 2017

It’s been 35 years since I first wrote a program for someone else to use. A lot of things have changed:

DataCamp Courses

Dec 6, 2017

My employer, DataCamp, recently launched two courses that I created:

Second Edition of 'How to Teach Programming (and Other Things)'

Dec 6, 2017

The second edition of How to Teach Programming (and Other Things) is now available. This book shows readers how to build and deliver high-quality learning experiences to people who want to learn how to program (and other things as well). It is based on Software Carpentry’s instructor training course, and all material can be freely distributed and re-used under the Creative Commons - Attribution license. Please see for the source, read it online, or buy a printed copy. PDF, EPUB, and MOBI versions are also available.


Dec 6, 2017

The 14

Jamais plus.

  • Geneviève Bergeron
  • Hélène Colgan
  • Nathalie Croteau
  • Barbara Daigneault
  • Anne-Marie Edward
  • Maud Haviernick
  • Maryse Laganière
  • Maryse Leclair
  • Anne-Marie Lemay
  • Sonia Pelletier
  • Michèle Richard
  • Annie St-Arneault
  • Annie Turcotte
  • Barbara Klucznik-Widajewicz

How to Design an Effective Lesson

Dec 1, 2017

I have recorded a screencast of this presentation on designing an effective lesson. I’d be very grateful for feedback, either as comments on this blog post or by email.

Teaching Guide Updated

Nov 27, 2017

I have made updates to How to Teach Programming (and Other Things), and would be grateful for feedback. New chapters are marked with ★ in the table of contents, and chapters with changes marked with ☆. The changes themselves are in this color, and you can send comments and corrections to Thanks very much.