Adiciona os exercícios iniciais


Depois de implementares o exercício hello-world, a próxima tarefa é implementar mais de 20 exercícios.

Tipos de exercícios

Há dois tipos de exercícios que podes implementar:

  • Exercícios de conceitos: servem para ensinar um ou mais conceitos a um estudante. Consulta a documentação para mais informações.
  • Exercícios de prática: servem para praticar os conceitos já aprendidos. Consulta a documentação para mais informações.

Em geral, recomendamos que os novos percursos comecem por implementar Exercícios de prática, porque são mais fáceis de implementar e exigem menos reflexão prévia. Os Exercícios de conceitos podem sempre ser acrescentados mais tarde, quando o teu percurso já estiver a funcionar bem.

Escolher exercícios

Para ajudar os percursos a implementar Exercícios de prática, criámos o repositório exercism/problem-specifications. Este repositório contém metadados de mais de 100 Exercícios de prática, que os vários percursos podem depois usar para implementar a sua própria versão desses exercícios. Por isso, vais ver os mesmos exercícios implementados em muitos percursos diferentes.

Então, como escolhes os mais de 20 desta lista de mais de 100 exercícios? Aqui ficam algumas orientações.

Escolhe exercícios que levem os estudantes a praticar uma grande variedade de conceitos

Há muita variedade nos conceitos usados nos mais de 100 exercícios. Deves procurar implementar exercícios que levem os estudantes a praticar uma grande variedade de conceitos. Por isso, em vez de implementares 20 exercícios focados em strings, tenta implementar exercícios focados em conceitos diferentes.

Aqui ficam alguns conceitos com exercícios de exemplo:

Conceitos Exercícios
Manipulação de bits allergies, secret-handshake
Booleans leap
Classes circular-buffer, robot-name
Concorrência bank-account
Condicionais raindrops
Datas e horas gigasecond, meetup
Igualdade clock
Números de vírgula flutuante darts, space-age
Avaliação preguiçosa alphametics, zebra-puzzle
Listas resistor-color, spiral-matrix
Ciclos collatz-conjecture, protein-translation
Mapas nucleotide-count
Números leap, grains
Aleatoriedade dnd-character, robot-name
Strings bob, isogram,
Árvores binary-search-tree, pov

Escolhe exercícios com vários graus de dificuldade

Alguns exercícios são mais difíceis de implementar do que outros. Deves procurar implementar exercícios com vários graus de dificuldade: alguns fáceis, alguns intermédios e alguns difíceis.

O grau de dificuldade de um exercício depende de vários fatores, como os conceitos envolvidos e a linguagem do percurso. Pode ajudar ver como o exercício é noutros percursos que já o implementaram, para teres uma melhor ideia de como a implementação pode ficar.

Aqui ficam alguns graus de dificuldade com exercícios:

Escolhe exercícios que se adequem ao teu percurso

Nem todos os exercícios se adequam ao teu percurso. Deves escolher apenas os exercícios que se adequam ao teu percurso; mais vale não implementar um exercício do que implementar um que não faça sentido. Por exemplo, o exercício lens-person põe o estudante a trabalhar com lentes, que muitas linguagens não suportam.

Se encontrares um exercício que não se adequa ao teu percurso, podes adicionar o seu slug ao array exercises.foregone no ficheiro config.json do percurso. Assim, as ferramentas vão ignorar esse exercício.

Currículo de exemplo

Para tornar isto um pouco mais concreto, uma seleção inicial de exercícios poderia ser assim:

Exercício Dificuldade Conceitos
hello-world Fácil Nenhum (exercício inicial)
leap Fácil Números, Booleans
gigasecond Fácil Datas e horas
isogram Fácil Strings
resistor-color Fácil Listas
nucleotide-count Fácil Mapas
collatz-conjecture Fácil Ciclos
darts Fácil Números de vírgula flutuante
two-fer Fácil Formatação de strings, Argumentos opcionais
high-scores Fácil Processamento de coleções
raindrops Intermédio Condicionais
bob Intermédio Strings
allergies Intermédio Manipulação de bits
series Intermédio Exceções
circular-buffer Intermédio Classes
meetup Intermédio Datas e horas
yacht Intermédio Listas
dominoes Difícil Tuplos, Avaliação preguiçosa
diamond Difícil Formatação de strings
alphametics Difícil Avaliação preguiçosa
forth Difícil Análise sintática

Implementar os exercícios

Depois de escolheres os exercícios que queres incluir no teu percurso, o passo seguinte é implementá-los. A documentação sobre adicionar um Exercício de prática tem instruções detalhadas sobre como adicionar um Exercício de prática.