Próximos ejercicios


Una vez que hayas implementado tu primer ejercicio de concepto, los siguientes ejercicios deberían construirse sobre él.

Nos gusta tener entre tres y cinco ejercicios que no tengan más requisitos previos que el concepto basics.

Una buena opción son las primitivas o los tipos de datos fundamentales de tu lenguaje. Por ejemplo, Boolean, tipos numéricos básicos, strings y átomos.

Vale la pena revisar los ejercicios de concepto de otros tracks para ver si hay alguno apropiado para tu track.

Ten en cuenta que introducir un concepto no significa que tengas que explicarlo por completo en todo su esplendor. Siempre puedes aplazar la complejidad. Un lenguaje puede tener una docena de tipos numéricos distintos que resultan útiles en situaciones diferentes. El ejercicio puede simplemente mencionar que existen otros, mientras introduce solo el tipo entero más usado y el tipo de punto flotante más usado.

Algunos tipos de datos fundamentales son demasiado complejos para introducirlos directamente. Por ejemplo, los strings podrían ser arrays de caracteres. En tal caso, tendrías que aplazar la introducción de los strings y diseñar un ejercicio de concepto para caracteres y otro para arrays. Después puedes añadir un ejercicio para strings que tenga esos dos ejercicios como requisitos previos.

A veces, mientras trabajas en un ejercicio, te darás cuenta de que es más complejo de lo que esperabas. No pasa nada. Anota el concepto que hay que enseñar como requisito previo. Luego haz como si ese ejercicio ya existiera y termina el ejercicio en el que estás trabajando con esa simplificación en mente. Después, vuelve atrás y crea un nuevo ejercicio para el concepto que hace de requisito previo. Recuerda marcar el ejercicio como wip hasta que se haya añadido el ejercicio que es requisito previo.

Otra cosa que puede pasar en este punto es que descubras que tienes dependencias cíclicas. Necesitas introducir dos conceptos, pero cada concepto depende del otro. En ese caso, puede que puedas usar un stub. Entonces puedes explicar que el concepto dependiente existe, pero asegurarle al estudiante que todavía no necesita entenderlo. Otra opción sería dar un mínimo imprescindible de introducción, lo suficiente para que el estudiante supere el obstáculo, y a la vez asegurarle que el concepto se verá con más profundidad más adelante.

Ejercicios omitidos

Si eliges no implementar un ejercicio porque no encaja en tu track (por ejemplo, un ejercicio de bajo nivel para un track de alto nivel), márcalo como foregone. Para hacerlo, añade el slug del ejercicio al array exercises.foregone en el archivo config.json de tu track.

Además de dejar explícita tu decisión de no implementar un ejercicio, cualquier herramienta (como configlet) también ignorará los ejercicios omitidos.

Para obtener más información, consulta la documentación.