Softanza
DémarrerEnglish
Softanza
Éducation · une cohorte, un exercice, un chapitre à vous

J'enseigne, ou je conçois des cours

Un enseignant utilise Softanza pour proposer des exercices vérifiés en les exécutant, pour suivre une cohorte par un rapport qui est lui-même une narration, et pour accompagner là où un programme ne le peut pas. Un concepteur de cours écrit des chapitres en texte brut dont toutes les cellules s'exécutent. Voici chaque étape, exécutée.

Ce que fait un enseignant, dans l'ordre

  1. Choisir le cours et le monde. La bibliothèque porte aujourd'hui quatre cours (l'introduction élémentaire, neuf missions situées à Zindara, les agents gouvernés, les mathématiques) et trois mondes sur lesquels les exemples raisonnent : un restaurant, une coopérative, une école. Une institution peut poser son propre monde sur chacun : la surcouche.
  2. Former une cohorte. Une cohorte est un dossier avec un fichier de trois lignes : son nom, le cours qu'elle suit et, s'il y en a une, la surcouche sous laquelle elle vit. Chaque apprenant est un dossier à l'intérieur, qui contient son travail et sa progression.
  3. Proposer des exercices. Le cours en contient déjà 23. Les vôtres ont la même forme : une tâche dans chaque langue, une promesse, au moins une réponse connue pour être fausse et une pour être juste.
  4. Les apprenants soumettent. Le vérificateur exécute chaque soumission dans un processus neuf et écrit le verdict dans le dossier de l'apprenant. Personne ne lit le code pour le comparer à un corrigé.
  5. Lire le rapport. Un appel écrit le rapport de progression de la cohorte. Le rapport est une narration : chaque chiffre est une promesse à côté de la cellule qui le calcule.
  6. Accompagner. Le tuteur pose la question qui manque à l'apprenant ; il ne donne jamais la réponse. Ce qu'un programme ne peut pas faire est à vous : la salle, l'encouragement, la deuxième explication, la décision d'avancer.

Une cohorte, exécutée

Softanza
StzEngineDirCreatePath("cohorts/niamey-2026")
write("cohorts/niamey-2026/cohort.zknw", 'knowledge "niamey-2026"' + char(10) + char(10) + "facts" + char(10) +
        "    niamey-2026 | is-a | cohort" + char(10) + "    niamey-2026 | follows | elementary-introduction" + char(10))
oCohort = StzCohortQ("cohorts/niamey-2026")
oCohort.AddLearner("amina")
oCohort.AddLearner("moussa")
? @@( oCohort.LearnerIds() )
Sortie
[ "amina", "moussa" ]

exécuté le 2026-10-04 01:18 dans la bibliothèque au commit 0e72e2e2c

Le fichier de la cohorte est celui de trois lignes que décrit le guide, et AddLearner a créé un dossier pour chaque apprenant dessous. Rien d'autre n'a été installé.

Un exercice est une promesse

Un exercice est une courte tâche et les lignes que le programme de l'apprenant doit afficher. Il n'entre dans le cours que lorsqu'une réponse connue pour être fausse a été vue échouer et une réponse connue pour être juste a été vue passer, et les deux sont exécutées de nouveau chaque fois que le cours est vérifié.

Softanza
oProgram = oCohort.ProgramQ("../../education/program")
oExercise = oProgram.CourseQ("elementary-introduction").ExerciseQ("ex-01-01")
? oExercise.Task("en")
? @@( oExercise.Promises() )
? oExercise.Check( read(oExercise.WrongAnswers()[1]) ).Passed()
? oExercise.Check( read(oExercise.RightAnswers()[1]) ).Passed()
Sortie
### Exercise 1.1 · The kitchen's list

The kitchen received these orders today:

    [ "tea", "rice", "tea", "fish", "rice", "tea" ]

Print the list of dishes to cook, each one once, in the order in which it was first ordered.

Your answer is checked by running your program. Nobody reads it and compares it with a model answer.

[ '[ "tea", "rice", "fish" ]' ]
0
1

exécuté le 2026-10-04 01:18 dans la bibliothèque au commit 0e72e2e2c

Le premier 0 est la réponse connue pour être fausse, refusée ; le 1 est la réponse connue pour être juste, acceptée. Le même appel juge le fichier d'un apprenant, dans la langue de l'apprenant, et c'est ce qu'exécute le vérificateur.

Le rapport est une narration

Softanza
oCohort.LearnerQ("amina").Submit( oExercise, read(oExercise.RightAnswers()[1]) )
? read( oCohort.WriteReport("../../education/program", "") )
Sortie
# Progress of cohort niamey-2026

*Course elementary-introduction, overlay (none), 2 learners, 23 exercises. Every figure below is a promise beside the cell that computes it: run this file through StzChapterQ, and it says whether it is still true.*

| Learner | Exercises passed | Levels earned |
|---|---|---|
| amina | 1 of 23 | none |
| moussa | 0 of 23 | none |

[...]

exécuté le 2026-10-04 01:18 dans la bibliothèque au commit 0e72e2e2c

Sous le tableau, une cellule par apprenant calcule la ligne de cet apprenant, avec une promesse dessous. Exécutez de nouveau le fichier par la bibliothèque et elle dit s'il est encore vrai : quand un autre apprenant réussit, l'ancien rapport signale lui-même qu'il est périmé, et un rapport régénéré tient. Un enseignant garde le rapport comme un fichier, dans un dépôt s'il le veut, et il ne devient jamais faux en silence.

Concevoir un cours

Un chapitre est un fichier de texte brut, NN-slug.fr.md, au format de narration de la maison : de la prose et des cellules, chaque cellule suivie des lignes qu'elle doit afficher. Une sortie conservée est refusée au chargement du cours, parce qu'une sortie conservée peut être fausse. Un chapitre se termine par un récapitulatif en trois parties : ce qui a été accompli, pourquoi cela compte, ce qui vient ensuite. Le même chapitre a une édition par langue, et une édition manquante est un garde en échec.

Intégré

construit

Vingt-cinq compétences en sept familles (formuler, exprimer, motifs, voir, savoir, gouverner, façonner), chacune à trois niveaux, Fondation, Praticien, Expert, avec un champ de preuve nommant le garde qui prouve chaque niveau. Trois étapes : Rencontre, Expression, Gouvernance. Cinq profils (jeune, étudiant, professionnel, designer, décideur) qui changent la profondeur et les exemples, pas seulement une note. Les missions situées à Zindara, au Niger, pour que chaque pas exécute du vrai code. Construit, pas testé : un niveau se gagne par un projet qui passe ses gardes, jamais par un examen.

Refusé, avec la raison

Un dialecte doux dont on exporterait : inutile, parce que les chaînes quasi naturelles et les instructions dans votre langue sont Softanza même. Les points d'expérience et les classements : une réussite est une preuve, pas un score. Un certificat par examen ou un titre signé : l'empreinte du travail remis le remplace. Un tuteur à modèle d'IA : refusé par la loi ; le tuteur tourne sur la couche naturelle.

Proposé

proposé

La révélation progressive : une notion n'apparaît que quand le travail précédent de l'apprenant montre qu'il est prêt, jugé par les gardes. Elle demande la progression de l'apprenant, que seul le lecteur de bureau peut voir : c'est à la bibliothèque de la construire. Deux voisines sont construites : l'échelle toujours visible (chaque chapitre du lecteur nomme son barreau) et de la cellule à sa preuve (chaque cellule mène à son exécution).

La manière Softanza Le récit avant la syntaxe ; une idée à la fois ; les erreurs comme information sur ce qui reste à déclarer ; déclarer, puis voir.

Le guide de la bibliothèque pour ceux qui écrivent des cours : CHARTER.md(s'ouvre dans un nouvel onglet). Ensuite, la porte de l'institution : une surcouche, des cohortes, la propriété.