La mappa dei concetti è uno dei metodi principali per illustrare il percorso che uno studente compie attraverso gli esercizi sui concetti.
Obiettivi di progettazione
- Fornire una mappa dei concetti significativa, dalle idee semplici a quelle complesse.
- Fornire un percorso verso la padronanza di un linguaggio.
- Illustrare la progressione attraverso i contenuti del corso.
Struttura
- Nodi
- Ogni concetto è rappresentato da un nodo sulla mappa dei concetti.
- Fornire un riferimento rapido con il loro stile per indicare il grado di avanzamento.
- Padroneggiato: concetti per cui l'esercizio di apprendimento e tutti gli esercizi di pratica associati sono completati.
- Completato: concetti per cui l'esercizio di apprendimento è completato, ma uno o più esercizi di pratica non lo sono.
- Disponibile: concetti per cui l'esercizio di apprendimento non è ancora stato completato.
- Bloccato: concetti per cui l'esercizio di apprendimento richiede che uno o più esercizi prerequisito siano completati.
- Cammini
- Fornire una relazione tra un concetto e il successivo.
- Fornire una relazione che indichi i blocchi costitutivi di un concetto fino alla radice.
Configurazione
La configurazione della mappa dei concetti è determinata dai dettagli del config.json associato a un track.
In particolare, la specifica degli esercizi sui concetti determina la forma e la disposizione della mappa dei concetti.
Puoi vedere il codice usato per calcolare la specifica della mappa dei concetti su GitHub: Exercism/website: determine_concept_map_layout.rb
Un esercizio sui concetti specifica i suoi prerequisiti e anche il concetto che insegna al completamento.
Se traduciamo questo nei termini di un grafo:
- Un concetto rappresenta un vertice (noto anche come nodo)
- Un esercizio sui concetti determina uno o più archi orientati tra due vertici (nodi)
È importante notare che non tutti gli archi che si potrebbero specificare dal config.json compaiono nel risultato: vengono selezionati solo gli archi del livello precedente.
flowchart TD
Basics --> Integers
Integers --> Strings
Basics --Edge Removed--> Strings
linkStyle 2 stroke-width:2px,fill:none,stroke:red;