Comment enseigner l'algorithme
Fermé
saghira
-
23 août 2011 à 14:22
medianet2010 Messages postés 8 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 24 décembre 2011 - 24 déc. 2011 à 08:41
medianet2010 Messages postés 8 Date d'inscription samedi 23 avril 2011 Statut Membre Dernière intervention 24 décembre 2011 - 24 déc. 2011 à 08:41
A voir également:
- Comment enseigner l'algorithme
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Code ascii algorithme - Guide
- Algorithme qui calcule le carré d'un nombre - Forum Algorithmes / Méthodes
- Comment retrouver un ancien enseignant ✓ - Forum Facebook
4 réponses
Utilisateur anonyme
23 août 2011 à 14:27
23 août 2011 à 14:27
Bonjour,
En algorithmique on aborde la syntaxe de l'algorithmique, ça c'est une chose mais surtout on enseigne les algorithmes et structures classiques
les tris
les structures piles, arbres, listes
les algorithmes genre les tours de hanoï
les designs paterns les plus classiques comme le singleton
j'imagine que l'on parle des threads et de la synchronisation de ceux-ci, mais quand j'en ai fait ça n'existait pas donc... 8-)
En algorithmique on aborde la syntaxe de l'algorithmique, ça c'est une chose mais surtout on enseigne les algorithmes et structures classiques
les tris
les structures piles, arbres, listes
les algorithmes genre les tours de hanoï
les designs paterns les plus classiques comme le singleton
j'imagine que l'on parle des threads et de la synchronisation de ceux-ci, mais quand j'en ai fait ça n'existait pas donc... 8-)
aciddev
Messages postés
173
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
24 août 2011
25
23 août 2011 à 14:28
23 août 2011 à 14:28
Avant d'enseigner quoi que ce soit, je te recommande de suivre un enseignement, qui est celui du français.
La moindre des choses lorsqu'on demande des lumières est de le faire de façon compréhensible, même en n'étant pas ou peu francophone.
La moindre des choses lorsqu'on demande des lumières est de le faire de façon compréhensible, même en n'étant pas ou peu francophone.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
Modifié par mpmp93 le 23/08/2011 à 15:04
Modifié par mpmp93 le 23/08/2011 à 15:04
Bonjour,
CITE: "...diplôme de technicien spécialisé en développement informatique..."
Hummm... Quelle école? Dans quel pays?
Non je demande ça parce que justement "technicien" c'est enseignement supérieur. Donc avec le bagage intellectuel qui va bien, on comprend que l'algorithmique n'est pas une science qui s'enseigne. Une simple recherche via Google (GOOGLE est ton ami) avec algorithme, algorithmique par exemple montre bien que ce sujet englobe des notions floues mais cependant cadrées dans le domaine de l'informatique.
C'est l'informatique le sujet et en informatique on apprend le traitement de l'information au travers d'algorithmes (les outils...).
A+
CITE: "...diplôme de technicien spécialisé en développement informatique..."
Hummm... Quelle école? Dans quel pays?
Non je demande ça parce que justement "technicien" c'est enseignement supérieur. Donc avec le bagage intellectuel qui va bien, on comprend que l'algorithmique n'est pas une science qui s'enseigne. Une simple recherche via Google (GOOGLE est ton ami) avec algorithme, algorithmique par exemple montre bien que ce sujet englobe des notions floues mais cependant cadrées dans le domaine de l'informatique.
C'est l'informatique le sujet et en informatique on apprend le traitement de l'information au travers d'algorithmes (les outils...).
A+
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
23 août 2011 à 23:58
23 août 2011 à 23:58
L'algorithmique n'est pas une science qui s'enseigne !? J'aurais du dire ça à mon prof en licence ^^
Bien sûr que si ça s'apprend ! Puisque tu aimes bien Google, cherche à algorithmique licence...
Au hasard je prend les premiers liens : Cours L3 Algorithmique (Rouen), Algorithmique et programmation L1 (Brest)... Bref, "avec le bagage intellectuel qui va bien" ta réponse est totalement à l'opposée de la réalité, l'algorithmique ça s'enseigne, et c'est d'ailleurs la bête noire des étudiants !
Bien sûr que si ça s'apprend ! Puisque tu aimes bien Google, cherche à algorithmique licence...
Au hasard je prend les premiers liens : Cours L3 Algorithmique (Rouen), Algorithmique et programmation L1 (Brest)... Bref, "avec le bagage intellectuel qui va bien" ta réponse est totalement à l'opposée de la réalité, l'algorithmique ça s'enseigne, et c'est d'ailleurs la bête noire des étudiants !
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
24 août 2011 à 09:52
24 août 2011 à 09:52
Pour moi l'algorithmique c'est l'explication théorique des mécanismes mis en application pour traiter l'information (dans le domaine informatique, s'entend...). En automation - j'en ai fait - ce sont les diagrammes de changement d'état pour la logique séquentielle -> tableau de Karnaugh -> formules avec opérateurs logiques. En informatique, ce sont les fameux diagrammes comme on peut les voir ici:
https://fr.wikipedia.org/wiki/Algorithmique
https://fr.wikipedia.org/wiki/Organigramme_de_programmation
Cui-là j'aime bien:
https://commons.wikimedia.org/wiki/File:Bubblesort.png?uselang=fr
Oui je le concède, ça s'apprend. Mais l'algorithmique est le support théorique qu'on met en application ensuite quand on développe un programme...
J'aime particulièrement cet exemple: "comment traduire un nombre de secondes en format HH:MM:SS"... Allez, vous avez 10 minutes, après je ramasse les copies...
Si on ne connait pas les mécanismes de certains langages informatiques, on va faire des boucles, des tests, des tableaux, des branchements conditionnels...Je connais FORTH. Et voici le programme complet qui traduit x secondes en format HH:MM:SS:
: SEXTAL 6 BASE ! ;
: ## # SEXTAL # DECIMAL ;
: .HMS 0 <# ## ASCII : HOLD ## ASCII : HOLD #S #> TYPE ;
Ensuite: 3599 .HMS
affiche 0:59:59
3600 .HMS
affiche 1:00:00
le programme complet ne comprend ni boucle, ni test, ni branchement, ni itération...
Donc, j'ai ramassé les copies. personne n'a trouvé. Voici comment ça marche:
- la fonction SEXTAL bascule en base 6 (ni binaire, ni décimal, ni 60, non, base 6!)
- la fonction ## récupère un digit de poids faible et diminue la valeur empilée, puis passe en base 6 et récupère un nouveau digit et diminue la valeur empilée et repasse la base numérique en base 10
- la fonction .HMS ouvre un tampon texte, place les digits des secondes, suivi du caractère : place les minutes, rajoute le caractère : et finit avec les heures, ferme le tampon texte et affiche le résultat.
Passage des valeurs par la pile de données. Taille du programme compilé: 60 octets!. Compilation en une passe.
L'algorithmique se heurte aux possibilités des langages et mécanismes discrets mis en jeu en informatique. FORTH n'a pas attendu l'apparition de Windows ou Linux pour être multi-tâche. Il est intrinsèquement multi-tâche (expérimenté sur automate industriel chez RENAULT / processeur 8086 8Mhz d'horloge, analyse de 600 points de captage en 300 millisecondes et communication sur bus industriel en même temps!). J'ai testé des programmes déjà anciens en mode commande, sur les PENTIUM actuels. Ils fonctionnent toujours. Le délai d'exécution est à peine mesurable!
Pour en revenir à la question du post initial: "je veux enseigner l'algorithme", je pense que ça ne s'explique pas sans se référer à la programmation informatique. je vous cite: "...Au hasard je prend les premiers liens : ....... Algorithmique et programmation L1 (Brest)."
PS: si vous cliquez sur mon pseudo, l'avatar est un chevalier JEDI (féminin). Sur son buste, on devine T4 (FORTH = FOURTH amputé de la lettre 'O', l'origine du nom de ce langage tel que décrit par Chuck Moore son créateur). T4 = Turbo-FORTH. Pourquoi un chevalier JEDI? Parce que le langage FORTH a été utilisé pour animer des maquettes et caméras (technique Motion Camera) dans le premier volet de la saga La Guerre des Etoiles de G. LUCAS. Alors, "Que le FORTH soit avec vous".
A+
https://fr.wikipedia.org/wiki/Algorithmique
https://fr.wikipedia.org/wiki/Organigramme_de_programmation
Cui-là j'aime bien:
https://commons.wikimedia.org/wiki/File:Bubblesort.png?uselang=fr
Oui je le concède, ça s'apprend. Mais l'algorithmique est le support théorique qu'on met en application ensuite quand on développe un programme...
J'aime particulièrement cet exemple: "comment traduire un nombre de secondes en format HH:MM:SS"... Allez, vous avez 10 minutes, après je ramasse les copies...
Si on ne connait pas les mécanismes de certains langages informatiques, on va faire des boucles, des tests, des tableaux, des branchements conditionnels...Je connais FORTH. Et voici le programme complet qui traduit x secondes en format HH:MM:SS:
: SEXTAL 6 BASE ! ;
: ## # SEXTAL # DECIMAL ;
: .HMS 0 <# ## ASCII : HOLD ## ASCII : HOLD #S #> TYPE ;
Ensuite: 3599 .HMS
affiche 0:59:59
3600 .HMS
affiche 1:00:00
le programme complet ne comprend ni boucle, ni test, ni branchement, ni itération...
Donc, j'ai ramassé les copies. personne n'a trouvé. Voici comment ça marche:
- la fonction SEXTAL bascule en base 6 (ni binaire, ni décimal, ni 60, non, base 6!)
- la fonction ## récupère un digit de poids faible et diminue la valeur empilée, puis passe en base 6 et récupère un nouveau digit et diminue la valeur empilée et repasse la base numérique en base 10
- la fonction .HMS ouvre un tampon texte, place les digits des secondes, suivi du caractère : place les minutes, rajoute le caractère : et finit avec les heures, ferme le tampon texte et affiche le résultat.
Passage des valeurs par la pile de données. Taille du programme compilé: 60 octets!. Compilation en une passe.
L'algorithmique se heurte aux possibilités des langages et mécanismes discrets mis en jeu en informatique. FORTH n'a pas attendu l'apparition de Windows ou Linux pour être multi-tâche. Il est intrinsèquement multi-tâche (expérimenté sur automate industriel chez RENAULT / processeur 8086 8Mhz d'horloge, analyse de 600 points de captage en 300 millisecondes et communication sur bus industriel en même temps!). J'ai testé des programmes déjà anciens en mode commande, sur les PENTIUM actuels. Ils fonctionnent toujours. Le délai d'exécution est à peine mesurable!
Pour en revenir à la question du post initial: "je veux enseigner l'algorithme", je pense que ça ne s'explique pas sans se référer à la programmation informatique. je vous cite: "...Au hasard je prend les premiers liens : ....... Algorithmique et programmation L1 (Brest)."
PS: si vous cliquez sur mon pseudo, l'avatar est un chevalier JEDI (féminin). Sur son buste, on devine T4 (FORTH = FOURTH amputé de la lettre 'O', l'origine du nom de ce langage tel que décrit par Chuck Moore son créateur). T4 = Turbo-FORTH. Pourquoi un chevalier JEDI? Parce que le langage FORTH a été utilisé pour animer des maquettes et caméras (technique Motion Camera) dans le premier volet de la saga La Guerre des Etoiles de G. LUCAS. Alors, "Que le FORTH soit avec vous".
A+
poukkid
Messages postés
106
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
11 avril 2012
11
24 août 2011 à 10:34
24 août 2011 à 10:34
Heureusement qu'on ne commence pas par apprendre ce genre de langage en premier et que la plupart des enseignements informatiques commencent par apprendre les bases de la programmation, sinon ca en découragerait plus d'un...
Je ne suis pas d'accord pour dire qu'on explique pas l'algorithmique sans se référer à la programmation, L'algorithmique telle qu'enseignée au début des formations est indépendante des langages de programmation, même si les notions et structures apprises sont adaptées à un seul type de programmation qui est en général et surement celle du sujet actuelle, la programmation itérative. Le but justement est de s'abstraire du langage et de conserver uniquement les notions pour pouvoir, peut-être dans d'autre cours, et donc avec d'autres professeurs, adapter ces notions aux langages qui nous interessent...
Cela concerne les formation en licence, IUT, ecoles d'ingénieurs... Je pense que l'auteur du post parle de cette programmation itérative classique.
C'est donc bien une matière a part entiere, et ce quelque soit le type d'algorithmique enseignée, et comme vous l'avez cité avec l'automation, il y a d'autres formes d'algorithmique qui sont enseignés, pour d'autres types de programmation, je pense à la programmation fonctionnelle par exemple, dans laquelle le lambda-calcul et d'autres notions algorithmique/mathématiques, permettent de comprendre plus facilement les notions nécessaire à la programmation Caml ou autre...
Allez dire à donald knuth que le fait d'enseigner l'algorithmique n'existe que si c'est directement lié à un langage...
Je ne suis pas d'accord pour dire qu'on explique pas l'algorithmique sans se référer à la programmation, L'algorithmique telle qu'enseignée au début des formations est indépendante des langages de programmation, même si les notions et structures apprises sont adaptées à un seul type de programmation qui est en général et surement celle du sujet actuelle, la programmation itérative. Le but justement est de s'abstraire du langage et de conserver uniquement les notions pour pouvoir, peut-être dans d'autre cours, et donc avec d'autres professeurs, adapter ces notions aux langages qui nous interessent...
Cela concerne les formation en licence, IUT, ecoles d'ingénieurs... Je pense que l'auteur du post parle de cette programmation itérative classique.
C'est donc bien une matière a part entiere, et ce quelque soit le type d'algorithmique enseignée, et comme vous l'avez cité avec l'automation, il y a d'autres formes d'algorithmique qui sont enseignés, pour d'autres types de programmation, je pense à la programmation fonctionnelle par exemple, dans laquelle le lambda-calcul et d'autres notions algorithmique/mathématiques, permettent de comprendre plus facilement les notions nécessaire à la programmation Caml ou autre...
Allez dire à donald knuth que le fait d'enseigner l'algorithmique n'existe que si c'est directement lié à un langage...
medianet2010
Messages postés
8
Date d'inscription
samedi 23 avril 2011
Statut
Membre
Dernière intervention
24 décembre 2011
Modifié par BmV le 24/12/2011 à 09:51
Modifié par BmV le 24/12/2011 à 09:51
Bonjour,
Je suis entièrement d'accord avec ce point de vue, effectivement l'algorithmique est une matière à part qui doit faire l'objet d'un enseignement indépendant. La formation informatique et l'algorithmique sont deux choses différentes, il y a des algorithmes partout en mathématiques, en physique chimie etc...
Je suis entièrement d'accord avec ce point de vue, effectivement l'algorithmique est une matière à part qui doit faire l'objet d'un enseignement indépendant. La formation informatique et l'algorithmique sont deux choses différentes, il y a des algorithmes partout en mathématiques, en physique chimie etc...
23 août 2011 à 14:31
J'ajouterais juste quelques points :
En langage, je conseille le python pour commencer, puis le C.
Python car simple, utile, et pas besoin de compilateur.
Le C, car il est utile, encore utilisé, assez simple, compilable et c'est un peu la base de tout ( on retrouve des structure de C en C++ par exemple).
23 août 2011 à 14:35
Par contre bémol sur le langage, pour commencer je défends les langages comme Pascal (certes un peu dépassé) ou Java, pour habituer les étudiants à la rigueur, Python et C sont très permissifs avec les explosions thermonucléaires qui en résulte ensuite quand c'est codé avec les pieds.
Java et Pascal cadrent à mon avis plus le codeur débutant et lui ouvre les yeux sur la rigueur nécessaire.
Modifié par kevin76110 le 23/08/2011 à 14:40
23 août 2011 à 14:43
ha bon?
ca doit dépendre du compilateur je pense
après c'est vrai que avec tu peu bien violer la mémoire
Modifié par neoprog67 le 23/08/2011 à 14:46
Le risque en C c'est de déborder d'un tableau et d'aller taper n'importe où dans la mémoire. Mais bon on ne va pas lancer l'éternel débat sur les langages 8-)
Chaque langage a son utilité dans un contexte donné.