What is spaced practice?

Spaced practice is the opposite of cramming. Rather than one long learning session, break up study into shorter sessions, spaced over time.

Interleaving is related. Instead of a long learning session about topic A, then another about topic B, switch topics frequently, maybe after 20 minutes or so.

There are two ways to implement spacing:

  • Students do it themselves, by, e.g., scheduling study of different topics at different times of the day.
  • Designers build spacing into a course.

Many people find it difficult to make and stick to a spacing schedule.

The effects of spacing and interleaving are difficult to separate in practice.

Spacing in Skilling

Spacing applies to both exercises, and lessons.


You might put an exercise at the bottom of a lesson, where students practice what the lesson was about. However, the exercise doesn't have to be limited to the concepts in that lesson.

Say there's an exercise on computing mortgage payments, from principle, interest, and term. The main point of the exercise might be parameter validation, and calculation. There could be an additional requirement, however:

If the payments are less than $2,000, show the message "You should get two doggos." Otherwise, show "You should get a doggo."

This requirement gives students more practice with basic if statements, something they learned earlier. So, rather than keeping exercises on ifs just after the main lesson on ifs, you can scatter extra if practice across later exercises.

Another thing you can do is lagged homework. Have students do exercises a couple of weeks after they have covered the corresponding material.

How else could you use spacing in exercises? You can comment below.


There are various ways to use spacing in lessons.

Repeating learning objects

One thing has to do with Skilling's active components, like multiple-choice (MCQ), and FiB (fill-in-the-blank). In Skilling, every MCQ and FiB is a separate learning object. You add them to lessons by typing in references to questions, rather than the questions themselves. For example, you might have this MCQ:


When you make the MCQ, you give it an internal name:

Naming an MCQ

To add it to a lesson, you use the internal name:


You can add the MCQ to as many lessons as you like, by repeating those two lines.

As you would expect, if you edit the MCQ, maybe change one of the answer options, every instance of the MCQ would change. An extra bonus of this approach.

Topic distribution