Des moyens d'enseignement pour l'informatique en discipline obligatoire au niveau Secondaire II ont été produits par un groupe de travail issu d'une collaboration entre la DGEP, l'EPFL, la HEP Vaud et l'UNIL. Dans le cadre de l’introduction de cette discipline, prévue à la rentrée 2022 dans le canton de Vaud, l'objectif de ces ressources est de proposer aux enseignant·e·s d'informatique des contenus théoriques, des séries d'exercices et des idées d'activités.
Les ressources sont accessibles via le site web. Elles peuvent être utilisées telles quelles ou modifiées via un dépôt GitHub.
- Introduction
- Utilisation
- Contributions
- Code de conduite
- Documents importants
- Chapitrage
- Installation
- Comité de rédaction
L'utilisation des ressources ne requiert pas d'installation particulière et peut-être effectuée immédiatement à l'adresse https://modulo-info.ch.
Si vous souhaitez contribuer au projet, la marche à suivre est décrite dans ce document
Un code de conduite est disponible ici.
- Livret de cours décrivant le découpage du plan d'études dans le détail.
Les ressources sont découpées selon un chapitrage qui correspond au plan d'études romand (voir ci-dessus). Elles sont divisées en quatre parties, dont nulle n'a de préséance sur les autres. Il appartient à l'enseignante ou l'enseignant de choisir l'ordre dans lequel les contenus sont abordés. Le fait que les chapitres soient successifs est le résultat des limitations de l'affichage. Pour atténuer quelque peu ce problème, nous avons choisi de renoncer à une numérotation des chapitres.
Représentation de l'information : Où il est question du passage du système décimal au système binaire, ainsi que des problématiques de traitement des données telles que l'encodage, la compression, l'échantillonnage, le cryptage, et la représentation des caractères, des images et des sons sous forme de bits.
Algorithmique I : Ce chapitre propose une définition générale de l'algorithmique, ainsi qu'une présentation de certains algorithmes classiques.
Programmation I : Après avoir présenté un échantillon de langages de programmation et leurs différences respectives, ce chapitre pose les bases du langage Python.
Architecture des ordinateurs : Il est question ici de notions telles que les portes logiques, les transistors, l'architecture de Von Neumann, et autres concepts essentiels à la compréhension de ce qui se passe au niveau physique et électronique dans un ordinateur.
Pour ceux et celles qui souhaitent utiliser l'environnement Sphinx pour tester des contenus et participer au développement, la marche à suivre est la suivante :
Modulo est basé sur le générateur de documentation Sphinx et utilise le template Furo.
- Python 3.x et pip (Installation MacOSX) (Installation Windows) (Installation rapide)
- virtualenv (
$ pip install virtualenv
) - Git
Pour vérifier la bonne installation de l'environnement de base :
$ python --version
$ virtualenv --version
$ git --version
Pour simplifier les actions fréquentes (build, clean), le projet contient un workspace pour Visual Studio Code. L'utilisation de VSCode est optionnelle, vous pouvez bien sûr utiliser votre éditeur de code préféré.
- Récupération du projet :
git clone git@github.com:edunumsec2/book.git
- Déplacement vers la racine du projet :
cd book
- Création d'un environnement virtuel :
virtualenv .env
- Activation de l'environnement virtuel
MacOS :source .env/bin/activate
Windows :.env\Scripts\activate
- Installation des librairies dans l'environnement virtuel :
pip install -r requirements.txt -U
Remarque : à chaque fois que vous travaillez sur le projet, l'environnement virtuel devrait être activé (point 4).
Le projet utilise sphinx-autobuild qui démarre un serveur sur http://localhost:8000 (ou http://127.0.0.1:8000) et rebuild la documentation automatiquement lorsqu'un changement est détecté. Pour contrôler soi-même le build, le build manuel est décrit dans le section suivante.
- Activation de l'environnement virtuel (si pas déjà fait)
- Activation du serveur local :
- Documentation 'Apprendre' :
sphinx-autobuild src/appr docs --watch src --open-browser -a --delay 1
- Documentation 'Enseigner' :
sphinx-autobuild src/ens docs --watch src --open-browser -a --delay 1
Pour arrêter le serveur : CTRL+c
ou ⌘+c
-
Génération du build 'Apprendre' :
sphinx-build -b html src/appr docs
-
Génération du build 'Enseigner' :
sphinx-build -b html src/ens docs
-
Démarrage du serveur local (dans un autre terminal):
python -m http.server
La génération automatique d'un polycopié est actuellement en développement et n'est pas encore stabilisée. De plus elle n'est testée pour l'instant que sur Mac OS.
Sphinx permet de générer un build LaTeX des sources qui peut ensuite être utilisé pour générer une polycopié au format pdf.
- Génération du fichier latex:
sphinx-build -b latex -t latex_mode src/appr build/latex/appr
- Compilation du fichier latex:
cd build/latex/appr && pdflatex modulo.tex
Les options de build, notamment les chapitres à générer, le titre, le noms des auteurs, les couleurs etc., peuvent être modifées dans le fichier src/appr/conf.py et src/ens/conf.py
- Représentation de l'information : David Da Silva (david.dasilva@eduvaud.ch) - Gymnase de Chamblandes & Javier Iglesias (javier.iglesias@eduvaud.ch) - Gymnase de Renens ; Christophe Dumas (christophe.dumas@epfl.ch) - EPFL
- Algorithmique : Biljana Petreska (biljana.petreska@fileinformatique.ch) - Gymnase d'Yverdon & Micha Hersch (Gymnase de Renens / HEP Vaud)
- Programmation : Raphaël Holzer (raphael.holzer@eduvaud.ch) - Gymnase du Bugnon & Gilles Racine (gilles.racine@eduvaud.ch) - Gymnase de Sevelin
- Architecture des ordinateurs : Philippe Rochat (philippe.rochat@fileinformatique.ch) - Gymnase de Morges & Jean-Philippe Pellet (jean-philippe.pellet@fileinformatique.ch) - HEP Vaud
- Enjeux sociaux : Lucile Berset (lucile.berset@epfl.ch) - EPFL ; Virginia Haussauer (virginia.haussauer@epfl.ch) - EPFL; Frank Dayen (frank.dayen@eduvaud.ch) - Gymnase de Morges - Nadège Pio (nadege.pio@epfl.ch) - EPFL ; Mehdi Atmani (mehdi.atmani@epfl.ch) - EPFL ; Boris Beaude (boris.beaude@unil.ch) - UNIL
- Plateforme : Romain Edelmann (romain.edelmann@epfl.ch) - EPFL & Grégoire Gavin (gregoire.gavin@epfl.ch) - EPFL
- Coordination : Elliot Vaucher (elliot.vaucher@epfl.ch) - EPFL ; Nathalie Farenc (nathalie.farenc@epfl.ch) - EPFL