Sorry, no canvas support. :-(

Make pretty good skills courses

Skills courses teach people how to do tasks, like programming, data analysis, and database design. Students can sell skills, or build on them.

This website shows you how to make pretty good skills courses. Students learn basic skills, for a limited range of tasks. Tasks that are simple for experts, but have value in the wider world.

You can make courses worth students' time. If you want to do right by students, without driving yourself crazy, start here.

There are two parts to this site.

  • The pretty good model (PGM) shows how effective skills courses work.
  • Skilling is open source software that helps you make and run pretty good courses.

Start with PGM. If it doesn't fit your situation, Skilling won't be of much use.

The pretty good model (PGM)

The best class is one teacher for a handful of students, maybe six or so. We can't do it, though. We have maybe 50 students per instructor. What if we studied how people learn skills? Then we could design courses that make the best use of people time, both students and instructors. If we do it right, the courses would be pretty good.

PGM shows what a pretty good course is. The model is based on learning science and instructional design research, particularly 4C/ID and complex learning.


  • Flipped. Students read lessons and do exercises outside of class. Class time, face-to-face or synchronous online, is for helping students individually, group work, and cheering.

  • Written lessons, using direct instruction, worked examples, reflection questions, and simulations.

  • Exercises, mostly whole-task. Imagine a big pile of exercises. No, more than that. A few more... that's it.

  • Individual formative feedback for every exercise. You need a good work flow to make it practical.

  • Instructors troubleshoot, explain, encourage, evaluate, and monitor students. Rapport is a Big Deal.

Learn more


Software to help you make and run PGM courses.


  • Supports PGM. Exercises, feedback, scheduling...
  • Open source. Free is good.
  • Runs in a web browser. Any device, anytime, anywhere.
  • Runs on cheap web hosting. Cheap is good, too.
  • Built on Drupal, so you can add thousands of extensions.
  • Private, and secure.
  • Accessible.
  • Mobile-friendly.

Learn more