#  Parcours ScoDoc
Les cursus pédagogiques sont définis dans ScoDoc par des classes de "parcours" qui définissent les paramètres: nombre de semestres, modalités de validation des UE, etc.

Plusieurs parcours sont définis dans ScoDoc, l'utilisateur choisi l'un d'entre eux pour chacun des programmes pédagogique (menu **Type de parcours**).
Les parcours existants incluent les suivants:

 * DUT (*Diplôme Universitaire de Technologie*, en quatre semestres)
 * Licence Professionnelle
 * Master (différents types)
 * etc.

Il est possible d'ajouter des parcours adaptés en ajoutant du code Python. Toutefois, afin de ne pas perturber les mises à jours et de garantir la pérennité des modifications, il est très recommandé de partager les modifications pour inclusion dans le code ScoDoc. Contacter pour cela la liste scodoc-devel ([listes de diffusion](ListesDeDiffusion.md)).


##  Quelques indications pour les programmeurs 
Les parcours sont définis dans le module `sco_codes_parcours.py`. Chaque parcours correspond à une sous-classe de `TypeParcours`, définissant des paramètres et quelques méthodes.

Les paramètres (déclarés comme des variables de classe) sont les suivants:

Nom | Type |  
--- | ---- | ---
TYPE_PARCOURS| `int` | id du parcours (un entier unique, à demander sur scodoc-devel) 
NAME| `string` | nom du parcours présenté à l'utilisateur (requis) 
NB_SEM| `int` | durée en semestres (1) 
BARRE_MOY | `float` | seuil validation semestre (10/20) 
BARRE_UE_DEFAULT | `float` | seuil moy UE pour valider semestre (8/20) 
BARRE_UE | `dict { ue : seuil }`| seuil par UE (`{}`) 
NOTES_BARRE_VALID_UE_TH | `float` | seuil validation UE (10./20) 
ALLOW_SEM_SKIP| `bool` | passage: autorise-t-on les sauts de semestres ? (`False`) 
SESSION_NAME| `string` | nom des sessions (`'semestre'`) 
SESSION_ABBRV | `string` | `'S' -> S1, S2, ...` 
UNUSED_CODES | `set` | ensemble des codes jury non autorisés dans ce parcours (`set()`) 
UE_IS_MODULE| `bool` | un seul module par UE (si plusieurs modules, etudiants censéments inscrits à un seul d'entre eux) (`False`) 
ECTS_ONLY| `bool` | parcours avec progression basée uniquement sur les ECTS (`False`) 
ALLOWED_UE_TYPES | `set` | types d'UE autorisés dans ce parcours