Mapa de conceptos


El mapa de conceptos es uno de los principales métodos para ilustrar la progresión que sigue un estudiante a lo largo de los ejercicios de concepto.

Objetivos de diseño

  • Ofrecer un mapa de conceptos significativo, que vaya de las ideas simples a las complejas.
  • Ofrecer un camino hacia la fluidez en un lenguaje.
  • Ilustrar la progresión a lo largo del contenido del curso.

Estructura

  • Nodos
    • Cada concepto se representa con un nodo en el mapa de conceptos.
    • Proporcionan una referencia rápida con su estilo para indicar el grado de progresión.
      • Dominado: conceptos cuyo ejercicio de aprendizaje y todos los ejercicios de práctica asociados están completados.
      • Completado: conceptos cuyo ejercicio de aprendizaje está completado, pero uno o varios ejercicios de práctica no lo están.
      • Disponible: conceptos cuyo ejercicio de aprendizaje aún no se ha completado.
      • Bloqueado: conceptos cuyo ejercicio de aprendizaje requiere que se complete uno o varios ejercicios prerrequisito.
  • Caminos
    • Establecen una relación de un concepto con el siguiente.
    • Establecen una relación que indica los bloques que componen un concepto hasta la raíz.

Configuración

La configuración del mapa de conceptos viene determinada por los detalles del config.json asociado a un track. En concreto, la especificación de los ejercicios de concepto determina la forma y la disposición del mapa de conceptos.

Puedes ver el código que se usa para calcular la especificación del mapa de conceptos en GitHub: Exercism/website: determine_concept_map_layout.rb

Un ejercicio de concepto especifica sus prerrequisitos y también el concepto que enseña al completarse. Si lo expresamos en los términos de un grafo:

  • Un concepto representa un vértice (también conocido como nodo).
  • Un ejercicio de concepto determina una o varias aristas dirigidas entre dos vértices (nodos).

Es importante tener en cuenta que no todas las aristas que podrían especificarse desde el config.json aparecen en el resultado: solo se seleccionan las aristas del nivel anterior.

flowchart TD
    Basics --> Integers
    Integers --> Strings
    Basics --Edge Removed--> Strings

    linkStyle 2 stroke-width:2px,fill:none,stroke:red;