Cher journal,
Je t'ai parlé dans un épisode précédent (https://linuxfr.org/users/finss/journaux/la-specialite-n-s-i-de-la-reforme-du-lycee) de la spécialité «Numérique et sciences informatiques» qui va être enseignée à des élèves de première générale dès septembre prochain.
Le document fourni à ce moment là ne concernait que la classe de première.
Nous avons maintenant accès au document concernant à ce qui sera enseigné aux élèves de terminale de la spécialité NSI à partir de 2020 à l'adresse https://cache.media.education.gouv.fr/file/CSP/61/4/Tle_NSI_Specialite_Voie_G_1126614.pdf
Ce document dit que le programme, qui ne constitue pas un plan de cours est organisé en six rubriques. Ces 6 rubriques sont :
- Histoire de l’informatique
- Structures de données
- Bases de données
- Architectures matérielles, systèmes d’exploitation et réseaux
- Langages et programmation
- Algorithmique
Je te laisse, cher journal, éplucher ce document ; et dans ta grande expérience de l'informatique, me dire ce que tu en penses.
# C'est pas mal, mais
Posté par YBoy360 (site web personnel) . Évalué à 1. Dernière modification le 23 mai 2019 à 04:40.
2 remarques :
1 - Pourquoi ne pas parler de semi-conducteur, d'algèbre booléenne, ou d'électronique? Un peu H.S. mais la physique et la chimie ne sont pas suffisamment étudiées, trop de filières ne dispensent aucune forme de culture scientifique, c'est dommage.
2 - 1/3 pour la pratique, c'est un bon début, mais moi j'aurais mis 2 / 3.
L'idée du logo était pas mal à l'époque (des dinosaures), je faisais des supers trucs graphiques avec, même si les possibilités étaient limitées, ça permettait de pratiquer en se faisant plaisir. Le plaisir d'apprendre en retour fait que je me rappellerai de ces 2 cours même des dizaines d'années plus tard.
Aujourd'hui il y a le RPi, qui pourrait servir de support pour les TP, et le prochain RPi disposera d'un ASIC programmable (pour l'IA et autres, Vivement!!).
C'est difficile de rester succinct avec tout ce qu'il est possible d'apprendre.
C'est p-e une mauvaise idée d'utiliser le RPi, car cela imposerai le Python, ce qui ne serait pas forcement une bonne chose. La pratique peut aussi nuire à l'ouverture d'esprit.. Si il fallait utiliser le RPi (personnellement je serais à fond pour), il faudrait les bonnes mise en garde sur les choix que cela implique.
[^] # Re: C'est pas mal, mais
Posté par Anonyme . Évalué à 1.
Possible. Après ça n'empèchera pas les TP de se faire avec de bons vieux PC, par exemple l'ancien matériel de la salle informatique. Ça reste à la discrétion du lycée.
Python 3 est déjà imposé, les établissements n'ont pas le choix. C'est (très) contestable et les profs auront tout intérêt à montrer autre chose mais c'est bien sur ce langage que se fera une partie du contrôle de connaissances.
[^] # Re: C'est pas mal, mais
Posté par Colin Pitrat (site web personnel) . Évalué à 7.
Et RPi n'impose pas du tout Python, tu peux utiliser n'importe quoi dessus !
[^] # Re: C'est pas mal, mais
Posté par Claude SIMON (site web personnel) . Évalué à 1.
Certes, et, personnellement, je ne m'en prive pas, mais Python est fortement mis en avant.
Le Pi de Raspberry Pi, c'est pour Python (https://www.techspot.com/article/531-eben-upton-interview/), bien que ça soit de moins en moins mis en avant. En outre, les bibliothèques logicielles pour piloter les ports GPIO sont, à la base, en C ou C++, mais ce sont les bindings en Python qui sont le plus utilisés. Et ça vaut aussi pour les bibliothèques dédiées au pilotage de certains robots (Poppy Ergo Jr et consorts).
Les exemples de programmes des tutoriels sur le pilotage de kits ou de robots avec un RPI sont systématiquement en Python, accompagnés parfois de leur version en C ou C++. Il existe des exemples de programmes en Java, mais c'est vraiment exceptionnel.
Pour nous émanciper des géants du numérique : Zelbinium !
[^] # Re: C'est pas mal, mais
Posté par Anonyme . Évalué à 2.
et tu as quoi contre python de plus en plus demander dans les entreprises ? par exemple la mienne, python 3 sous windows et sur carte embarqué
[^] # Re: C'est pas mal, mais
Posté par Claude SIMON (site web personnel) . Évalué à 2.
Et où as-tu vu que j'ai quoi que ce soit contre Python ?
D'ailleurs, je suis tellement contre Python que j'ai même publié un paquet Python : https://pypi.org/project/atlastk/ :-) !
Pour nous émanciper des géants du numérique : Zelbinium !
# wiki ?
Posté par Nicolas Boulay (site web personnel) . Évalué à 6.
C'est notre domaine, cela serait peut-être un bon sujet pour remplir le wiki de linuxfr, non ? Cela serait à l'image d'article Wikipédia mais avec un objectif d'éducation.
"La première sécurité est la liberté"
# critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 5.
Structure de données :
Sérieux ? Parler 2 fois de file et piles ? Utilisez-vous ce genre de structure ? Pour ma part, cela a dû m'arriver une ou 2 fois, en 20 ans. Les hash et les dico, c'est l'inverse.
Base de données :
C'est bien, mais il est surtout question de SQL (!). Cela manque de RGPD, je pense. C'est pourtant l'endroit parfais.
L'Algorithmique me parait évolué, peut être un peu trop. Globalement, cela manque de juridique : pb des brevet, copyright, droit des base de données, RGPD.
Cela manque aussi d'un point de vue de plus haut niveau économique pour expliquer le concept de plateforme (amazon, apple store), l'uberisation, et la publicité ciblée.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par totof2000 . Évalué à 2. Dernière modification le 23 mai 2019 à 11:37.
Bof c'est pas forcément le but de la formation, cependant, une sensibilisation à la protection des données et à la vie privée serait intéressante.
C'est clairement pas le but de la formation.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 4.
C'est vrai que cela ressemble plus à l'autre formation informatique : Les humanités numériques ( http://www.madmoizelle.com/reforme-bac-humanites-numeriques-890911 )
En fait le truc aurait disparu :
https://www.larecherche.fr/chronique-num%C3%A9rique/les-%C2%AB-humanit%C3%A9s-num%C3%A9riques-%C2%BB-au-lyc%C3%A9e-un-cours-si-vite-enterr%C3%A9
Pour une fois que le gouvernement faisait un truc qui m'étonnait dans le bon sens dans le numérique ! A priori, ce sont les professeurs de science dure qui en aurait eu la peau… et les professeurs de lettre qui n'ont pas encore compris que le numérique est partout.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Christie Poutrelle (site web personnel) . Évalué à 2.
Je suis sûr que t'as déjà utilisé des "stack" et des "queues", et finalement, c'est pas si loin que ça ! Y'a toujours une fois par semaine un moment où t'as besoin d'une "pile" et d'une "file" c'est juste que tu utilises une implémentation plus moderne avec un nom différent et t'as oublié que "file" et "pile" c'est juste des patterns, pas des structures de données en tant que telles.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 4.
Non justement. A l'exception de ocaml, c'est vrai, dont la structure de base est une liste FIFO.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Christie Poutrelle (site web personnel) . Évalué à 2.
J'imagine que ça varie de language à language (si on parle des lib standard) ou de lib en lib. Après les implémentations de file et pile y'en pléthore et on en utilise souvent sans s'en soucier. Des fois on utilise des choses qui ne sont ni des piles, ni des files, mais les deux à la fois, mais on les utilise en file ou en pile. Typiquement en PHP l'array est à la fois un sorted set, une liste, une pile, une file, un vecteur et une hashmap, mais selon le besoin on l'utilise en file, en pile, en liste, en set ou en hashmap.
[^] # Re: critiques
Posté par Guillaume Rossignol . Évalué à 1.
À mon avis, quand un programme parle de FIFO et de FILO, c'est qu'on parle de structure de données où on n'a pas le choix. Et clairement le tableau de PHP n'est ni FIFO ni FILO… et tant bien même il le serait en représentation interne, je ne l'ai quasiment jamais utilisé en tant que tel.
Ca me semble contre productif d'aborder les modeles de données par les files, les listes chainées et les structures alors qu'on a la possibilité d'attaquer avec des trucs (genre les tableaux PHP) qui sont générique et qui permettent d'assimiler le concept d'un array_map, d'un foreach etc.
[^] # Re: critiques
Posté par Christie Poutrelle (site web personnel) . Évalué à 2.
En effet, mais tu peux l'utiliser comme tel d'un point de vue algo, avec les fonctions array_pop() array_push() et array_shift() et autres joyeusetés.
Bien ça dépend, je pense que l'enseigner comme des patterns, c'est pas une mauvaise idée, c'est un comportement dont on a souvent besoin. Après on l'implémente jamais de façon académique, on est d'accord.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 4.
Ce qui gène, c'est l'approche top-down, on force un pattern étroit peu utilisé, quand un pattern générique existe et est utilisé partout.
"array_pop() array_push() et array_shift()" seront découvert dés que le besoin se fait sentir et non comme un truc de base. Je trouve que c'est complexifié le sujet pour rien.
La liste Ocaml est une fifo pour une très bonne raison d'immutabilité. Mais comprendre pourquoi elle est comme ça et pourquoi c'est très bien ainsi, est bien au delà d'une introduction à l'informatique.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Christie Poutrelle (site web personnel) . Évalué à 1. Dernière modification le 23 mai 2019 à 17:09.
Bah en même temps, la file c'est une structure de base utilisée partout, et pour comprendre les structures plus compliqués basées sur le pattern, faut déjà comprendre le besoin de base. Par exemple quasiment tous les systèmes événementiels sont basés sur des files d'évènements, et ce même si l'implémentation peut parfois être beaucoup plus complexe, souvent pour des raisons de concurrence d'accès et de performance principalement, le fait est que ce n'est rien d'autre qu'une simple file d'un point de vue besoin et algorithmique.
[^] # Re: critiques
Posté par kantien . Évalué à 5.
Les listes OCaml sont naturellement en mode LIFO : dernier arrivé, premier sorti. Ensuite c'est juste le principe des entiers unaires : en quoi c'est au-delà d'une introduction à l'informatique ? C'est ce que fait un enfant quand il apprend à compter avec ses doigts. Si des élèves de terminale ne comprennent pas cela, il y a un gros soucis.
Les listes OCaml sont LIFO par construction :
Ensuite, si l'on fait abstraction des valeurs contenus dans la liste, on obtient une liste de type
unit list
:et une telle liste c'est les entiers unaires : une liste de bâtons, de traits, de points…
Qu'est-ce qu'on fait, le plus souvent, avec une liste ? On utilise un
fold
, c'est à dire le principe du raisonnement par récurrence sur les nombres entiers. Il vient en deux versions :fold_left
(mode LIFO) etfold_right
(mode FIFO).Non, vraiment, je ne vois pas où est le problème d'aborder ces notions dans une introduction à l'informatique. Cela fait partie des concepts les plus simples à assimiler.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 3.
oui, Ocaml, c'est lifo, j'ai confondu.
Simple à comprendre oui. A utiliser, j'ai un gros doute. Un graph ou un arbre est plus complexe, mais c'est utilisable tout le temps partout.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par totof2000 . Évalué à 5.
Ben non, moi ça me parait tout sauf contre-productif. quand une personne n'y connait rien, la noyer avec un objet qui fait tout en même temps, ça n'aide pas. Et a mon avis, le but n'est pas de voire les files pour les files (ou les piles pour les piles), mais plus un moyen d'impleémenter des patterns assez simple pour apprendre.
[^] # Re: critiques
Posté par Christie Poutrelle (site web personnel) . Évalué à 1.
Exactement, je suis tout à fait d'accord, il faut toujours partir du besoin et uniquement du besoin de base, et appréhender la complexité dans un second temps quand on est plus à l'aise avec. Pour apprendre, on est obligé d'en passer par là.
[^] # Re: critiques
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 4.
Oui, j'utilise des piles, des files, et même des tas. Pas tous les jours, mais au moins une fois par mois.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 4.
Dans quel genre de code ?
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 4.
Protocoles de communication, traitement parallèle de données, traversée breadth-first de graphes.
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 5.
Et tu penses que c'est une bonne approche pour l'introduction de l'informatique à des lycéens ? Ce genre de détail n'aurait pas sa place plus tard ?
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Snark . Évalué à 1.
Ben… comprendre qu'il y a différentes façons de s'organiser pour ses données, avec diverses fonctionnalités, divers avantages, divers inconvénients… ça semble assez sain!
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 3.
Il n'y a pas de file/pile dans UML, ni dans SQL. C'est pourtant les outils de base pour exprimer/manipuler des données.
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Kerro . Évalué à 2.
Un langage n'est pas limité à ses mots-clefs et à sa bibliothèque standard.
SQL étant un langage Turing complet, tu peux créer des piles et des files.
Pour UML je ne sais pas.
[^] # Re: critiques
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 3.
Derniere fois que j'ai fait de l'UML : jamais.
Derniere fois que j'ai fait du SQL : 2014. Je fais du NoSQL a la place (pas parce que c'est a la mode, mais plutot car c'est la bonne solution).
Et la pile, je pense qu'elle est important a connaitre, ne serait-ce qu'a cause de la "call stack". Et les files, c'est super utile pour modeliser les event streams (auquel cas, avec SQS, j'en fais super regulierement).
[^] # Re: critiques
Posté par Nicolas Boulay (site web personnel) . Évalué à 3.
Tu le penses toujours ? J'ai l'impression qu'il y a une mode qui passe, le nosql permet d'aller plus vite, mais on oublie le prix à payer par rapport au SQL (transaction, atomicité, rollback). J'ai l'impression que si on reste sous la barre des 1000 io/s, il n'y a aucune intérêt à utiliser autres choses que Postgresql. Même les bases NoSQL commencent à utiliser ce langage.
cf :
https://www.youtube.com/watch?v=UKrS_eXZfHw
"La première sécurité est la liberté"
[^] # Re: critiques
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Ma règle est simple : si les requêtes sont connues, alors NoSQL. Si les requêtes sont arbitraires, alors SQL.
[^] # Re: critiques
Posté par devnewton 🍺 (site web personnel) . Évalué à 5.
La file de voitures en sortant du boulot et la pile de vaisselle après mangé?
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
# Il manque le principale
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 4.
Faire lire une copie de "Clean Code" aux étudiants.
[^] # Re: Il manque le principale
Posté par deuzene (site web personnel) . Évalué à 5.
Tu as raison, il manque les Regex : s/principale/principal/
;)
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
# Pas de listes en Python ?
Posté par Bernez . Évalué à 3.
Dans leur document est écrit que « les listes n’existent pas de façon native en Python ». Auriez-vous une idée de ce qu'ils ont voulu dire par là ? Le type natif
list
de Python ne sert pas à faire des listes ?[^] # Re: Pas de listes en Python ?
Posté par lolop (site web personnel) . Évalué à 2.
Ce ne sont pas des "listes chaînées", mais des tableaux dynamiques de références.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.