background preloader

Cours d'Algorithmique - Christophe Darmangeat

Cours d'Algorithmique - Christophe Darmangeat
Partie 1 Introduction a l’Algorithmique « Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils. Ca, ce sont les caractéristiques de la magie. » - Dave Small « C'est illogique, Capitaine » - Mr Spock L’algorithmique est un terme d’origine arabe, comme algèbre, amiral ou zénith. Ainsi, l’algo n’est pas « rythmique », à la différence du bon rock’n roll. Alors, ne confondez pas l’algorithmique avec l’agglo rythmique, qui consiste à poser des parpaings en cadence. Avez-vous déjà ouvert un livre de recettes de cuisine ? Plus fort : avez-vous déjà indiqué un chemin à un touriste égaré ? Comme quoi, l’algorithmique n’est pas un savoir ésotérique réservé à quelques rares initiés touchés par la grâce divine, mais une aptitude partagée par la totalité de l’humanité. Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Related:  Programmation~consultar

Demain, la fin du code Pour beaucoup, l’art de la programmation est le sésame nécessaire à la compréhension du monde moderne… et à un emploi bien rémunéré. Le fameux débat autour de l’apprentissage du code à l’école en est d’ailleurs l’illustration la plus évidente. Et si les jours du « codeur » étaient comptés ? C’est la question que pose le journaliste Jason Tanz (@jasontanz) dans un récent article de Wired au titre provocateur : « Bientôt, nous ne programmerons plus les ordinateurs, nous les dresserons comme des chiens« . La cause de ce déclin inévitable du code, selon lui, c’est le triomphe des réseaux neuronaux et des techniques de machine learning. « Si vous voulez enseigner à reconnaître un chat à un réseau de neurones, par exemple, vous ne lui dites pas de chercher les moustaches, les oreilles, la fourrure et les yeux. Cette ignorance du fonctionnement interne de ces systèmes va poser pas mal de questions, y compris légales, souligne Tanz. La fin du code L’âge de l’intrication Une idée déjà ancienne

jeu_verger.pdf Programmation événementielle et géométrie dynamique Plan de l’article : Introduction Le déplacement de la balle et de la raquette A) dans un repère absolu avec CaRMetal avec GeoGebra B) dans un repère mobile (avec Scratch) Pong complet A) dans un repère absolu avec CaRMetal avec GeoGebra B) dans un repère mobile (avec Scratch) Pong 3D Pong multi-joueurs Pavages et papiers peints A) avec CaRMetal B) avec Scratch Casse-briques (thème sous-jacent = clonage) A) avec Scratch B) avec CaRMetal C) avec GeoGebra 1) Introduction La programmation évènementielle est connue des lecteurs de cette revue depuis cet article sur l’introduction de ladite programmation évènementielle en géométrie dynamique. L’article en question décrivait déjà Scratch comme « basé sur les événements ». Que dit le programme de cycle 4 sur cette question ? Brevet du jeu de Pong Cette autre figure extraite du brevet montre que l’écran de télé est censé représenter une table de ping-pong vue de dessus : Pong en console La question est de savoir comment on va obtenir ce résultat.

Algorithmique pour l'apprenti programmeur Vous venez d'apprendre les bases d'un langage de programmation ? Vous vous êtes peut-être rendu compte que parfois, en modifiant un peu votre programme, vous pouvez obtenir le même résultat mais 2, 10 ou 1000 fois plus vite ? De telles améliorations ne sont pas le fruit du hasard, ni même dues à une augmentation de la mémoire vive ou à un changement de processeur : il y a plusieurs manières de programmer quelque chose et certaines sont incroyablement meilleures que d'autres. Avec un peu de réflexion, et des outils théoriques de base, vous serez vous aussi en mesure de faire de bons choix pour vos programmes. But du tutoriel Les deux notions clés de ce tutoriel sont les suivantes : la complexité, et les structures de données. Chaque algorithme résout un problème donné. Prérequis Le but de ce tutoriel n'est pas de vous apprendre à programmer. Le langage que vous utilisez n'est pas très important, car on tentera de formuler les algorithmes d'une manière qui en est indépendante. Historique

Esprit Scientifique, Esprit Critique Les principes du projet « Esprit scientifique, Esprit critique » Ce projet thématique propose aux élèves ainsi qu’à leurs enseignants de découvrir les outils propres à développer notre esprit critique, en s’appuyant sur l’enseignement de la méthode scientifique. Son objectif est d’aider l’élève à les mobiliser de manière pertinente dans différentes situations, et notamment dans leur vie quotidienne. Pour favoriser l’apprentissage de ces outils, deux stratégies pédagogiques doivent être mobilisées : premièrement, l’enseignant doit se montrer explicite quant à l’outil utilisé ; deuxièmement, il doit multiplier les situations où l’outil est nécessaire. Nous avons choisi de produire des ressources pluridisciplinaires, qui s’ancrent sur toutes les sciences et même d’autres disciplines (mathématiques, histoire et géographie, français, éducation aux médias et à l’information). Pourquoi travailler autour de l’esprit critique, à l’école, en lien avec les sciences ? Plusieurs parcours possibles

L'Agence nationale des Usages des TICE - Apprendre à programmer ? Apprendre à programmer ? par Ny Aina Rakotomalala Harisoa * L’idée d’initier les jeunes à la programmation n’est pas nouvelle. Les industriels, les acteurs de l’éducation et différentes associations lancent des initiatives à ce sujet : événements, lieux dédiés, concours sont mis en place pour encourager les enfants à programmer. Pourquoi former les élèves à la programmation ? Dans les discours – scientifiques, politiques, journalistiques, associatifs – qui encouragent les élèves à se former à la programmation, des argumentations sur l’acquisition de compétences sont avancées. Mendelsohn (1985) parle d’initiation à la pensée informatique et assimile la situation de programmation à une situation de résolution de problème. Brennan et Resnick (2012), deux chercheurs du MIT (Massachusetts Institute of Technology), avancent d’autres intérêts pédagogiques de la programmation. Développer les performances cognitives et démystifier la programmation Former les élèves aux concepts Conclusion Baron G.

Un exemple introductif à l'algorithmique sur machine Table des matières 1.1 Objectif Le nouveau programme de seconde (en pré-version au mois de mai 2009) prévoit une partie intitulée Algorithmique et intègre explicitement le recours à des algorithmes pour résoudre des problèmes. Même un enseignant n'ayant jamais fait de programmation peut s'emparer du sujet et le traiter simplement. Cet exemple a donc un double rôle : Montrer à quel niveau on peut commencer, Permettre aux professeurs de se faire une idée sur plusieurs langages candidats à l'enseignement de l'algorithmique. 1.2 L'énoncé Le tour de magie. Le magicien demande à un spectateur de penser à un nombre et de l'écrire sur une ardoise. L'analyse de cet énoncé fait apparaître un algorithme de calcul en 5 étapes : Étape 1 : Choisir un nombre. Il comporte 3 phases : entrées : il faut des données, c'est l'étape 1 traitement : on travaille ces données, ce sont les étapes 2 à 4 sorties : on annonce un résultat, c'est l'étape 5 Voyons ce que cet algorithme produit avec différents supports.

Augmented Reality: an Alternative to QR Codes? Over the past year we have seen QR Codes make a mark in the classroom as an easy way to send students to a site, make interactive book talks , share information with parents at Open House , among many other uses. But what is augmented reality (AR) and how does it match up for classroom use? From dictionary.com : - - an artificial environment created through the combination of real-world and computer-generated data. My first experience (other than on TV) was seeing a couple of our teachers play with String at our Regional Ed Tech Cadre. After seeing this, it lead us to spend time experimenting with a free app called Aurasma Lite . Making my own was pretty fast and easy. Advantages to AR was that I could create a target and upload my own video all within the one app and device. Interactive word walls with video definitions? Check out how students and teachers are using AR: Augmented Reality in Education: Shaw Wood Primary School Other AR Experience Apps:

Le tri par insertion Comment peut-on évaluer la rapidité de cet algorithme ? On pourrait mesurer son temps d'exécution sur mon ordinateur, mais cela n'est pas fiable parce que si on change d'ordinateur, le temps d'exécution change aussi : il peut être très rapide chez mon voisin (qui a un super PC) et très lent chez moi. Une mesure plus rigoureuse de la "rapidité" de l'algorithme serait de mesurer le "nombre d'opérations" qu'il effectue : que ce soit chez moi ou chez mon voisin, pour trier le même tableau, il va effectuer le même nombre d'opérations, mais pas à la même vitesse. L'avantage de ce critère est qu'il permet de comparer efficacement les algorithmes entre eux, indépendamment de l'ordinateur qui les exécute : si un algorithme fait plus d'opérations que le mien, il sera plus lent et chez moi, et chez mon voisin ; même si le nouvel algorithme est plus rapide chez mon voisin que l'algorithme actuel chez moi, je saurais qu'il est moins bon. Il reste à définir ce qu'est une "opération". Approche Remarque

SCIENCE EN JEU Réaliser un serious game (jeu sérieux) avec Scratch Dans ce tutoriel, apprenez à utiliser le logiciel gratuit Scratch pour réaliser vos propres jeux pédagogiques en quelques minutes ! Scratch est un logiciel gratuit développé par le MIT qui ne nécessite pas de connaître de code de programmation. Son interface visuelle et intuitive permet de réaliser facilement des jeux pédagogiques : quizz interactifs, démonstrations de mathématiques, animations… Petit mais puissant ! Scratch est multi-plateforme, ce qui veut dire qu’il fonctionne sous Linux, Windows ou Mac OS. Pour réaliser un programme dans Scratch, il suffit d’empiler des blocs d’actions et ainsi créer des « scripts ». Pour une taille minimum (environ 50 Mo), Scratch propose de vastes bibliothèques d’objets, de décors et de personnages prêts à l’emploi, dont le chat roux qui est sa mascotte. Exemple de script dans Scratch. Donner vie à un personnage Les blocs disponibles sous les intitulés « Mouvement » et « Apparence » permettent de placer, déplacer, grossir, masquer… un objet. Résultat :

Initiation à la notion d'algorithme © Paul Gendrot Jeu de Nim, crépier psycho-rigide, baseball multicouleur... Quelle est la différence entre mon intelligence et celle d'une machine ? activité, fin primaire/collège Une activité familiale pour faire comprendre la différence entre mon intelligence et celle de la machine.On joue au jeu du «robot-idiot» en se mettant dans la "peau" d'un robot pour voir ce qu'il peut ou pas faire. Un document complet pour le parent ou l'animateur.Une vidéo récréative sur le sujet. Déconstruire l'informatique pour mieux la comprendre Une collaboration avec Makerspace nancéen avec le support de Cap'maths, permet de proposer des activités ludiques et participatives pour introduire la notion d'algorithme. Le jeu de Nim comme algorithme activité, collège/lycée Le Crépier psycho-rigide comme algorithme activité, mi-collège/lycée Le problème du plus court chemin activité, fin-collège/lycée Le baseball multicouleur comme algorithme

Home of free rubric tools: RCampus Welcome to iRubric iRubric is a comprehensive rubric development, assessment, and sharing tool. Designed from the ground up, iRubric supports a variety of applications in an easy-to-use package. Best of all, iRubric is free to individual faculty and students. iRubric School-Edition empowers schools with an easy-to-use system for monitoring student learning outcomes and aligning with standards. Click. Click. Finally, spend more time teaching and less time grading. Build, Assess, Share, Collaborate. "Use rubrics like never before." It's Free. I just click on the box under each one of these,... and it does all the math for me. "Free? Individual educators and students can use iRubric and a hundreds of other free RCampus features at no charge. iRubric Enterprise Edition "Monitor student learning outcomes the efficient way." The iRubric Enterprise Edition empowers schools to take their assessments monitoring to the next level. We provide flexible licensing and hosting plans that meet your needs.

Cours d'initiation à l'algorithmique Définition 1.1. Un algorithme est une procédure de calcul bien définie qui prend en entrée un ensemble de valeurs et qui délivre en sortie un ensemble de valeurs. Exemple 1.1Problème : trier une suite de nombres entiers dans l'ordre croissant.Entrée : suite de n nombres entiers (a1,a2… an)Sortie : une permutation de la suite donnée en entrée (a′1,a′2… a′n) telle que a′1≤a′2≤⋯≤a′n. À partir de la suite (6,9,2,4), un algorithme de tri fournira le résultat (2,4,6,9). Définition 1.2. Exemple 1.1 (suite) La valeur (6,9,2,4) est une instance du problème. Définition 1.3. Les algorithmes peuvent être spécifiés en langage humain ou tout langage informatique. Définition 1.4. Ce cours n'aborde pas les heuristiques. Pour qu'un algorithme puisse être décrit et s'effectue, les données d'entrées doivent être organisées. Définition 1.5. De nombreux problèmes nécessitent des algorithmes : bio-informatique ; moteur de recherche sur Internet ; commerce électronique ; affectation de tâches. Définition 1.6.

Related: