I think that course is a pretty good start. But it could be improved with some code samples to match the tasks.
In the MoodleBites for developers courses we used to git branches for "weeks" of the course, and steps of the tasks. So that students could get back to where they were, peek at the solution or just start afresh with the next week. That worked pretty well.
I've used the same thing here on the course. The branches of my solutions (which may be correct or not) are here:
and I have also blogged about what I've done here:
These may be useful links for others on this path.