This is about how topics are sliced up and sequenced in a course. This course uses several technologies: HTML, CSS, PHP, and MySQL. That's a common mix, and there are many books on that collection, like this one. Most of them cover all of one tech, then another, then another, like this:

  • HTML/CSS section
    • HTML/CSS simplest topic
    • HTML/CSS simple topic
    • HTML/CSS medium difficulty topic
    • HTML/CSS difficult topic
    • HTML/CSS most difficult topic
  • MySQL section
    • MySQL simplest topic
    • MySQL simple topic
    • MySQL medium difficulty topic
    • MySQL difficult topic
    • MySQL most difficult topic
  • PHP section
    • PHP simplest topic
    • PHP simple topic
    • PHP medium difficulty topic
    • PHP difficult topic
    • PHP most difficult topic

This makes intuitive sense, but there are some problems. First, difficulty is poorly distributed. PHP is much more difficult to learn than HTML/CSS. By grouping content by tech, this yields an uneven cognitive load for students.

Difficulty over time

(Let's not cavil over the difference between cognitive load and difficulty. I'm not being precise here.)

The course starts off too easy, not using the full learning capacity of average students. It ends by exceeding their capacity.

My course mixes the techs. Here are the lessons starting in week 3, with the tech they talk about.

Topic Tech
Page template HTML
A few tags HTML
PHPStorm Procedures
Enter PHP HTML/PHP
GETting data HTML/PHP
Simple styling HTML/CSS
Classes and ids HTML/CSS
Divs and spans HTML/CSS
Conditional styles HTML/CSS/PHP
Edit and debug Procedures
More conditions HTML/PHP
Broken styles HTML/CSS
Images HTML/CSS
Links HTML
File strategy OS/PHP
Page components OS/HTML/CSS/PHP

PHP starts in week 3, rather than 2/3 of the way through the course. This evens out the load compared to the traditional approach.

Difficulty over time, grouped by tech vs. interleaved tech

There are three reasons to prefer the second approach:

  • Evening out the load
  • Interleaving
  • Whole problems

The third one needs explanation. As mentioned before, Skilling is largely based on 4C/ID and Ten Steps to Complex Learning., by Merriënboer and Kirschner. (I admit to being a kirschnerd.) They recommend using whole tasks in courses, that is, tasks with elements as they occur together in the context learning will be applied to. PHP is almost always used to generate HTML. People write HTML with CSS in mind. So, introducing the techs together, means we can make simple but whole tasks for students. They learn how to make the techs work together, from the beginning of the course.