Agrega 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 pensados para enseñarle uno o más conceptos a un estudiante. Consulta la documentación para obtener más información.
  • Ejercicios de práctica: están pensados para practicar los conceptos aprendidos. Consulta la documentación para obtener más información.

En general, recomendamos que los tracks nuevos empiecen por implementar ejercicios de práctica, ya que son más fáciles de implementar y requieren menos trabajo de planificación por adelantado. Siempre puedes agregar ejercicios de concepto más adelante, cuando tu track ya esté funcionando bien.

Elige los ejercicios

Para ayudar a los tracks a implementar ejercicios de práctica, creamos 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 eso verás los mismos ejercicios implementados en muchos tracks diferentes.

Entonces, ¿cómo eliges los más de 20 de esta lista de más de 100 ejercicios? Aquí tienes algunas recomendaciones.

Elige ejercicios que hagan que los estudiantes practiquen una gran variedad de conceptos

Hay mucha variedad en los conceptos que se usan en los más de 100 ejercicios. Procura implementar ejercicios que hagan que los estudiantes practiquen una gran variedad de conceptos. Así que, en lugar de implementar 20 ejercicios centrados en strings, intenta implementar ejercicios centrados en conceptos distintos.

Aquí tienes algunos conceptos con ejercicios de ejemplo:

Conceptos Ejercicios
Manipulación de bits allergies, secret-handshake
Booleans leap
Clases circular-buffer, robot-name
Concurrencia bank-account
Condicionales raindrops
Fechas y tiempo gigasecond, meetup
Igualdad clock
Números de punto 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

Elige ejercicios con distintos grados de dificultad

Algunos ejercicios son más difíciles de implementar que otros. Procura implementar ejercicios con distintos grados de dificultad: algunos fáciles, otros intermedios y otros difíciles.

Qué tan difícil es un ejercicio depende de varios factores, como los conceptos que involucra y el lenguaje del track. Puede ayudarte ver cómo se ve el ejercicio en otros tracks que ya lo implementaron, para hacerte mejor una idea de cómo podría ser la implementación.

Aquí tienes algunos ejercicios agrupados por dificultad:

Elige ejercicios que encajen con tu track

No todos los ejercicios encajan con tu track. Elige solo los ejercicios que encajen con tu track; es mejor no implementar un ejercicio que implementar uno que no tiene sentido. Por ejemplo, en el ejercicio lens-person el estudiante trabaja con lentes, algo que muchos lenguajes no admiten.

Si encuentras un ejercicio que no encaja con tu track, puedes agregar su slug al array exercises.foregone en el 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, así podría verse una selección de ejemplo de ejercicios iniciales:

Ejercicio Dificultad Conceptos
hello-world Fácil Ninguno (ejercicio inicial)
leap Fácil Números, Booleans
gigasecond Fácil Fechas y tiempo
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 punto flotante
two-fer Fácil Formato de strings, Argumentos opcionales
high-scores Fácil Procesamiento de colecciones
raindrops Intermedio Condicionales
bob Intermedio Strings
allergies Intermedio Manipulación de bits
series Intermedio Excepciones
circular-buffer Intermedio Clases
meetup Intermedio Fechas y tiempo
yacht Intermedio 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 elegido los ejercicios que quieres incluir en tu track, el siguiente paso es implementarlos. La documentación para agregar un ejercicio de práctica tiene instrucciones detalladas sobre cómo agregar un ejercicio de práctica.