Añade los ejercicios iniciales


Una vez que hayas implementado el ejercicio hello-world, la siguiente tarea es implementar otros 20 ejercicios o más.

Tipos de ejercicios

Puedes implementar dos tipos de ejercicios:

  • Ejercicios de concepto: están diseñados para enseñar uno o varios conceptos a un estudiante. Consulta la documentación para obtener más información.
  • Ejercicios de práctica: están diseñados para practicar los conceptos aprendidos. Consulta la documentación para obtener más información.

En general, recomendamos que los tracks nuevos empiecen implementando ejercicios de práctica, ya que son más fáciles de implementar y requieren menos reflexión previa. Siempre puedes añadir ejercicios de concepto más adelante, cuando tu track ya funcione correctamente.

Elegir los ejercicios

Para ayudar a los tracks a implementar ejercicios de práctica, hemos creado el repositorio exercism/problem-specifications. Este repositorio contiene metadatos de más de 100 ejercicios de práctica, que los distintos tracks pueden usar para implementar su propia versión de estos ejercicios. Por este motivo, verás los mismos ejercicios implementados en muchos tracks distintos.

Entonces, ¿cómo seleccionas esos 20 o más de una lista de más de 100 ejercicios? Aquí tienes algunas pautas.

Selecciona ejercicios que hagan que los estudiantes practiquen una amplia variedad de conceptos

Hay mucha variedad en los conceptos que se usan en los más de 100 ejercicios. Tu objetivo debería ser implementar ejercicios que hagan que los estudiantes practiquen una amplia variedad de conceptos. Así que, en lugar de implementar 20 ejercicios centrados en strings, intenta implementar ejercicios que se centren en conceptos distintos.

Aquí tienes algunos conceptos con ejercicios de ejemplo:

Conceptos Ejercicios
Manipulación de bits allergies, secret-handshake
Boolean leap
Clases circular-buffer, robot-name
Concurrencia bank-account
Condicionales raindrops
Fechas y horas gigasecond, meetup
Igualdad clock
Números de coma flotante darts, space-age
Evaluación perezosa alphametics, zebra-puzzle
Arrays resistor-color, spiral-matrix
Bucles collatz-conjecture, protein-translation
Mapas nucleotide-count
Números leap, grains
Aleatoriedad dnd-character, robot-name
Strings bob, isogram,
Árboles binary-search-tree, pov

Selecciona ejercicios con distintos grados de dificultad

Algunos ejercicios serán más difíciles de implementar que otros. Tu objetivo debería ser implementar ejercicios con distintos grados de dificultad: algunos fáciles, otros intermedios y otros difíciles.

La dificultad de un ejercicio depende de varios factores, como los conceptos implicados y el lenguaje del track. Puede ayudarte ver cómo es el ejercicio en otros tracks que ya lo hayan implementado, para hacerte mejor a la idea de cómo podría quedar la implementación.

Aquí tienes algunas dificultades con ejercicios:

Selecciona ejercicios que encajen con tu track

No todos los ejercicios tienen por qué encajar con tu track. Selecciona únicamente los ejercicios que encajen con tu track; es mejor no implementar un ejercicio que implementar uno que no tenga sentido. Por ejemplo, el ejercicio lens-person hace que el estudiante trabaje con lentes, algo que muchos lenguajes no admiten.

Si encuentras un ejercicio que no encaje con tu track, puedes añadir su slug al array exercises.foregone del archivo config.json del track. Así te aseguras de que las herramientas ignoren ese ejercicio.

Plan de estudios de ejemplo

Para que todo esto sea un poco más concreto, esta es una posible selección de ejemplo de ejercicios iniciales:

Ejercicio Dificultad Conceptos
hello-world Fácil Ninguno (ejercicio inicial)
leap Fácil Números, Boolean
gigasecond Fácil Fechas y horas
isogram Fácil Strings
resistor-color Fácil Arrays
nucleotide-count Fácil Mapas
collatz-conjecture Fácil Bucles
darts Fácil Números de coma flotante
two-fer Fácil Formato de strings, Argumentos opcionales
high-scores Fácil Procesamiento de colecciones
raindrops Intermedia Condicionales
bob Intermedia Strings
allergies Intermedia Manipulación de bits
series Intermedia Excepciones
circular-buffer Intermedia Clases
meetup Intermedia Fechas y horas
yacht Intermedia Arrays
dominoes Difícil Tuplas, Evaluación perezosa
diamond Difícil Formato de strings
alphametics Difícil Evaluación perezosa
forth Difícil Análisis sintáctico

Implementa los ejercicios

Una vez que hayas seleccionado los ejercicios que quieres incluir en tu track, el siguiente paso es implementarlos. La documentación para añadir un ejercicio de práctica tiene instrucciones detalladas sobre cómo añadir un ejercicio de práctica.