Expanding


Once you've built a few concept exercises it becomes easier to expand the syllabus. This is because you now have access to more concepts that you can build on.

The two main ways that we expand a concept tree are to:

  1. build on an existing concept (e.g. time => timezones)
  2. introduce a new concept that depends on a concept that has already been introduced (e.g. classes => interfaces)

If you're at a loss for what to choose next, take a look at one or two of the simplest practice exercises that exist for your track. Identify the concepts that are used, and pick one that hasn't been covered yet in the syllabus.

You might discover that the exercise you're working on requires understanding a concept that hasn't been introduced yet. Just make a note of it and finish the exercise with the assumption that the student already understands the missing concept. Remember to set the status of the exercise to wip, as having gaps or jumps in the concept tree will be very confusing to students who are unfamiliar with the language.

It's worth taking a look at other tracks to see how they've structured their syllabuses. For example the Elixir track has a really nice syllabus progression.