Depois de implementares o teu primeiro exercício de conceito, os exercícios seguintes devem construir sobre ele.
Gostamos de ter entre três e cinco exercícios que não tenham outros pré-requisitos além do conceito basics.
Boas opções são os tipos primitivos ou os tipos de dados centrais da tua linguagem. Por exemplo: Boolean, tipos numéricos básicos, strings e átomos.
Vale a pena ver os exercícios de conceito de outros percursos para ver se há algum adequado ao teu percurso.
Repara que introduzir um conceito não significa que o tenhas de explicar em todo o seu esplendor. Podes sempre adiar a complexidade. A linguagem pode ter uma dúzia de tipos numéricos diferentes, úteis em cenários diferentes. O exercício pode simplesmente mencionar que existem outros, introduzindo apenas o tipo inteiro mais comum e o tipo de vírgula flutuante mais comum.
Alguns tipos de dados centrais são demasiado complexos para introduzir diretamente. Por exemplo, as strings podem ser listas de carateres. Nesse caso, terias de adiar a introdução das strings e criar um exercício de conceito para carateres e outro para listas. Depois podes acrescentar um exercício para strings que tenha esses dois exercícios como pré-requisitos.
Às vezes, enquanto trabalhas num exercício, percebes que é mais complexo do que esperavas. Não há problema nenhum.
Anota o conceito que é preciso ensinar como pré-requisito.
Depois faz de conta que esse exercício já existe e termina o exercício em que estás a trabalhar com essa simplificação em mente.
Depois volta atrás e cria um novo exercício para o conceito que é pré-requisito.
Lembra-te de marcar o exercício como wip até o exercício pré-requisito estar criado.
Outra coisa que pode acontecer nesta fase é dares por ti com dependências cíclicas. Precisas de introduzir dois conceitos, mas cada conceito depende do outro. Neste caso, podes conseguir usar um stub. Assim podes explicar que o conceito dependente existe, mas garantir que ainda não é preciso compreendê-lo. Outra opção seria dar uma introdução mínima, o suficiente para o estudante ultrapassar o obstáculo, garantindo ao mesmo tempo que o conceito será abordado com mais profundidade mais tarde.
Se decidires não implementar um exercício por não se adequar ao teu percurso (por exemplo, um exercício de baixo nível num percurso de alto nível), marca-o como dispensado.
Para isso, acrescenta o slug do exercício ao array exercises.foregone no ficheiro config.json do teu percurso.
Além de tornar explícita a tua decisão de não implementar um exercício, qualquer ferramenta (como o configlet) também ignora os exercícios dispensados.
Para mais informações, consulta a documentação.