Aujourd’hui, le numérique, c’est de la culture générale, nécessaire pour votre vie personnelle comme professionnelle. Pour travailler dans le développement durable, la littérature, le cinéma ou la santé, c’est toujours bien de savoir ce qu’est un algorithme, un langage de programmation, une base de données. C’est d’ailleurs pour cette raison que tous les élèves de 2de suivent un cours de Sciences Numériques et Technologiques.
Le programme de NSI est très concret : vous allez travailler en petits groupes sur des projets, des défis logiques à résoudre avec les langages de programmation les plus utilisés en informatique. En général, ce sera Python (très utilisé pour les robots et les jeux vidéo), mais vous verrez aussi HTML, CSS et Javascript qui sont les trois langages de quasiment tous les sites internet, et SQL qui est utilisé pour les grosses bases de données.
La spécialité NSI vous donne de bonnes bases en informatique. Selon vos goûts et vos projets d’études et de vie professionnelle, vous pourrez décider de coupler cette compétence à un autre domaine de spécialisation, ou bien même d’en faire le cœur de votre métier.
Aujourd’hui, il y a dans tous les domaines des experts dont le métier est d’être à la pointe des outils informatiques de leur secteur : santé, communication, bâtiment, marketing, industrie.
Par exemple, il existe aujourd’hui des spécialistes de la bio-impression, qui créent des prothèses chirurgicales en utilisant des imprimantes 3D : c’est un métier qui demande des connaissances en chirurgie autant qu’en ingénierie informatique.
Ou encore dans la communication, les social media managers, qui sont responsables de l’ensemble des réseaux sociaux pour une entreprise, sont formés en sociologie et en littérature, autant qu’en informatique.
Ensuite, le numérique est aujourd’hui un domaine d’activité à part entière, donc il y a toute une série de métiers qui se consacrent à son fonctionnement : des économistes, des juristes, des journalistes, etc. qui sont spécialistes du numérique. Ces experts ont toujours une formation qui allie une discipline classique avec une forte connaissance de l’informatique.
Enfin, si vous voulez faire de l’informatique pure et dure, vous vous orienterez progressivement vers des métiers comme développeur : spécialiste des langages informatique, il traduit un problème en une séquence de tâches que l’ordinateur va exécuter.
Plusieurs parcours d’études supérieures préparent spécifiquement à ces métiers : les universités en informatique,
les écoles d’ingénieur post-bac,
les classes prépa, avec une nouvelle section MPI (Maths-Physique-Informatique),
les IUT.
Si vous êtes intéressés par ces carrières, sachez que c’est un domaine où on fait beaucoup de mathématiques. Pour suivre ces formations, il est conseillé de prendre aussi la spécialité mathématiques en première, et de continuer en terminale avec la spécialité ou bien l’option mathématiques complémentaires.
Pour ce premier projet en langage Python, les élèves ont programmé le jeu de Nim (lien Wikipedia), également connu sous le nom de jeu des allumettes. Les élèves ont d'abord commencé par une version à deux joueurs et ont ensuite développé une version humain vs ordinateur. Les plus avancés ont pu développer une version dans laquelle on peut choisir le niveau de l'ordinateur.
Après avoir travaillé sur les langages HTML, CSS et Javascript pour la programmation de pages Web, les élèves ont appris à programmer un diaporama en Javascript. Il s'agissait ensuite de l'intégrer dans une page HTML personnalisée à l'aide de feuilles de style CSS.
En informatique théorique, un L-système ou système de Lindenmayer est un système de réécriture ou grammaire formelle, inventé en 1968 par le biologiste hongrois Aristid Lindenmayer.
Un L-système modélise le processus de développement et de prolifération de plantes ou de bactéries.
Les élèves ont d'abord représenté des courbes fractales telles que le flocon de Von Koch ou encore la courbe du dragon.
Ils ont ensuite étudié la croissance de plantes et ont obtenu des modèles qu'ils ont pu représenter à l'aide de la tortue, un outil graphique de dessin pas à pas proposé avec le langage Python.
Pour ce dernier projet les élèves ont pu mettre en oeuvre un grand nombre des outils appris au cours de l'année.
Il s'agit d'un projet de répertoire téléphonique présenté sous forme d'une page web et utilisant un fichier CSV pour stocker les données.
La difficulté ici était de manipuler plusieurs types de fichiers pour le projet : un fichier Python pour le programme principal qui fait tourner un serveur local, des fichier HTML et CSS pour l'interface web du projet et un fichier CSV pour enregistrer les données.
Après avoir travaillé sur les bases de données, les élèves ont développé ce premier projet pour lequel ils devaient réaliser une interface en Python permettant une gestion d'une vidéothèque gérée par une base de données. La difficulté ici était de manipuler un fichier de base de données à l'aide du langage Python et de proposer une interface graphique, réalisée à l'aide du module Tkinter pour rendre l'uilisation plus conviviale pour les utilisateurs.
Le jeu de la Vie (Game of Life) est un automate cellulaire - devenu un jeu de simulation mathématique - imaginé par le mathématicien John Horton Conway en 1970.
Le jeu de la Vie est un « jeu à zéro joueur », puisqu'il ne nécessite aucune intervention du joueur lors de son déroulement.
Il s’agit d’un automate cellulaire, un modèle où chaque état conduit mécaniquement à l’état suivant à partir de règles préétablies.
Le jeu se déroule sur une grille à deux dimensions, théoriquement infinie, dont les cases — appelées « cellules », par analogie avec les cellules vivantes — peuvent prendre deux états distincts : « vivante » ou « morte ».
Suivant l'état initial du jeu, on obtient des modèles plus ou moins intéressants mais certains produisent sans arrêt des objets comme par exemple le canon à planeur de Gosper.
Dans ce projet, les élèves ont été amenés à manipuler la librairie Folium, permettant de créer des cartes OpenStreetMap personnalisées.
Au fil du projet, ils ont associé une base de données des villes françaises pour proposer à l'utilisateur une interface permettant d'afficher deux villes et la distance les séparant. Ils ont ensuite asociés des fichiers de trace GPS pour obtenir le tracé d'un parcours sur la carte.
Enfin, ils ont utilisé les données contenues dans la base de données pour créer des cartes avec un calque superposé se colorant en fonction de l'attribut choisi, qui pouvait être la densité de population ou encore l'altitude.
Ce dernier projet est basé sur la programmation objet. Les élèves ont utilisé la bibliothèque Pyxel de Python pour créer des jeux du type Space Invaders.
Tous les graphismes et les musiques ont été réalisés par les élèves eux-mêmes, ils ont eu beaucoup de liberté dans leurs créations et nous vous proposons de les tester à l'aide des liens ci-dessous :