profnsi a écrit 4 commentaires

  • [^] # Re: Code

    Posté par  . En réponse au journal Apprentissage de la programmation : comment moderniser les exercices. Évalué à 4.

    Ce n'est pas le cas en C, ce qui est loin d'être négligeable.

    Mais l'important ici, c'est que l'élève comprenne que le in cache la complexité et que derrière il y a un coût linéaire. Bien expliciter ce qu'abstrait le in me parait être une bonne chose, et une fois que c'est compris, on peut l'utiliser sans problème.

  • [^] # Re: Précisions sur l'informatique dans le secondaire.

    Posté par  . En réponse au journal Apprentissage de la programmation : comment moderniser les exercices. Évalué à 1.

    Pour ce que j'en sais, les cours de programmation s'inscrivent effectivement dans une discipline plus large, mais seront obligatoires, ainsi que l'utilisation de Python, donc exit Scratch et consorts. En outre, la place accordée à la programmation sera assez importante, mais c'est peut-être un choix des enseignants, sachant qu'ils n'ont pas de directives précises à ce sujet.

    Scratch restera au collège, pour la matière de tronc commun de seconde, le programme est le suivant:

    http://cache.media.education.gouv.fr/file/CSP/41/0/2de_Sciences_numeriques_et_technologie_Ens-commun_1025410.pdf

    Il n'y a qu'une petite page sur les "Notions transversales de programmation" qui est apparu assez tard dans la rédaction du programme.
    La programmation n'y est pas centrale car une grosse partie des enseignants qui l'enseigneront n'ont et n'auront pas de formation en programmation. (ce ne seront pas tous des profs d'info ou de maths)
    Vu le peu de certifié en informatique annoncé (et "recrutable"), il sera extrêmement rare que cet enseignement soit assuré par des informaticiens. (même dans 5 ans ou plus)

    Un manuel au hasard:
    https://www.editionsdidier.com/fr/sous-collection/sciences-numeriques-et-technologie-snt-2de

    (le peu de python me semble de mauvaise qualité)

    Là aussi, de ce qu'on m'en a dit, chaque élève se verra doté d'un ordinateur portable qui lui sera propre, avec un environnement de développement Python, donc les services comme Repl.it ne seront pas utilisés, même s'il n'y a rien qui s'y oppose. Pour le reste, comme les consignes qu'ils ont reçus sont assez vagues, c'est eux qui décident…

    Non chaque élève ne sera pas équipé d'un ordinateur portable. C'est possible que cela soit mis en place dans quelques lycées mais ce sera ultra-minoritaire. Et repl.it était juste cité comme exemple pour illustrer le couple editeur + console, j'aurais tout aussi bien pu citer spyder.

    Pour ce qui est de l'interface web, ce sera totalement transparent. Au lieu d'utiliser print(…), ils utiliseront une autre commande qui, au lieu d'afficher un contenu dans une console texte, l'affichera dans l'interface web de l'exercice à l'endroit prévu pour cela. De la même manière, au lieu d'utiliser des input(…)

    Il n'y a pas vraiment lieu de remplacer input ou print, car l'idée est de s'en passer, en utilisant des fonctions et la console.

  • [^] # Re: Précisions sur l'informatique dans le secondaire.

    Posté par  . En réponse au journal Apprentissage de la programmation : comment moderniser les exercices. Évalué à 4.

    Je pense que le problème n'est plus d'être la matière principale ou une sous matière, etc.

    Le problème c'est le recrutement, il est beaucoup plus simple de mettre la pression sur les profs de maths pour qu'ils se mettent à l'informatique, que de recruter des informaticiens qui ont des bases théoriques solides.

    C'est aussi le problème des écoles privées d'info, pas bcp de gens bien formés en sorte..

    Et le niveau des futurs certifiés d'informatique sera surement dramatique.

  • # Précisions sur l'informatique dans le secondaire.

    Posté par  . En réponse au journal Apprentissage de la programmation : comment moderniser les exercices. Évalué à 9.

    Il semble qu'il y ait dans cet article un peu de confusion sur la place de la programmation et de l'informatique dans l'éducation nationale.

    La programmation est au programme pour tous, depuis quelques temps déjà, au collège avec scratch (ou d'autres langages de programmation par blocs) en cours de mathématiques et en cours de techno. En commençant par la prog. par blocs, il n'y a donc pas ces problèmes d'interface graphique.

    La difficulté, outre le manque de temps pour la programmation, est que les exercices sont sensés être en lien avec les maths.

    Vous pouvez voir les sujets récents du brevet:
    https://www.apmep.fr/IMG/pdf/Brevet_Metropole_1_juillet_2019_DV-2.pdf
    https://www.apmep.fr/Brevet-2019-1-article

    En suite, en lycée générale la programmation en Python est déjà au programme pour tout le monde dès la seconde depuis deux ans dans les cours de mathématiques.

    Pour vous faire une idée:

    https://cache.media.eduscol.education.fr/file/Mathematiques/73/3/Algorithmique_et_programmation_787733.pdf

    Il y aura à partir de l'an prochain, pour tout le monde en seconde une nouvelle matière appelée sciences numériques et technologie (SNT), cette matière ne contiendra que très peu de programmation, c'est plus une matière de culture générale sur le numérique, une sorte d'éducation civique du numérique.

    Pour ceux qui veulent vraiment de l'informatique et de la programmation, il faudra choisir la spécialité numérique et sciences informatiques (NSI) qui contient de la programmation en Python, de l'algorithmique avec de la complexité (algo de tris, algo gloutons, algorithmes des plus proches voisins, preuve de terminaison etc en 1er, programmation dynamique, récursivité, ABR, graphe en term) du réseaux, du web (html, javascript) de l'architecture, de la base de données etc.
    Cette spécialité est loin d'être proposée dans tout les lycées.

    Le sujet 0 de première, sachant que cette épreuve de première est pour les élèves qui arrêtent la spécialité en première et se veut donc beaucoup plus simple que l'épreuve de term:

    https://cache.media.eduscol.education.fr/file/Annales_zero_BAC_2021_1e/87/9/S0BAC21-1e-SPE-NSI_1133879.pdf

    Pour revenir sur le fond de l'article, et donc la question de l'interface utilisateur dans l'enseignement de la programmation avec Python, l'éducation nationale a déjà fait un choix fort à ce niveau, avec une vision proche de la programmation fonctionnelle.
    L'idée est de passer par un éditeur de texte intégrant une console python (repl.it est un bon exemple) ou par des jupyter notebooks, et de passer systématiquement par l'usage de fonction. Pour schématiser l'élève écrit ses fonctions côtés éditeurs, et il les appelle côté console.

    Le but est de séparer au maximum et dès le départ la partie logique, de la partie interface.
    La partie interface n'est d'ailleurs pas du tout abordée en maths, elle le sera uniquement en NSI. Mais comme NSI propose du web, les élèves devraient pouvoir créer (en étant pas mal guidé), leur propre interface lors des projets.
    De plus, un des but de cet enseignement est de bien séparer HTML et Javascript, front-end et back-end. Introduire Python avec une interface web risque d'amener des confusion à ce niveau.