IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Apprendre la programmation à un enfant de 10 ans

  1. #141
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    [...]
    On a pas attendu la termodynamique pour faire des machines à vapeur.
    En faite, si. Les deux origines coïncident à peu près. Les premiers travaux nommés « thermodynamique » datent du XVIIe siècle. Les premières réelles avancées des machines à vapeur datent du XVIIIe siècle.

    Bon maintenant on peut même considérer que ceux qui inventait des machines à vapeur dans l'antiquité avait un raisonnement de thermodynamique. Ce n'est pas parce qu'on appelait pas ça ainsi que ça n'existait pas en germe. De toute façon ceci pourrait aussi servir de justification au fait que la thermodynamique n'est donc pas naturel. L'argument n'est utilisable ni dans un sens ni dans l'autre.

    Encore une fois, il n'y a aucun rapport avec le côté naturel de la thermo dans ce que tu avances. Ça montre juste que quand on a eu un paradigme et une théorie savamment pensés, la thermo donc, alors on a eu des avancées pertinentes. La conceptualisation, l'abstraction et la capacité de modélisation de la théorie de la thermo ont donc été démontrée par cette succession. Par contre, rien ne montre que la Nature des choses suivent ces lois — note le grand N.

  2. #142
    Membre régulier Avatar de Neolander
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 87
    Points
    87
    Par défaut
    Bon, ben on m'a posé une question alors je vais essayer d'y répondre, même si la discussion qu'elle a déclenchée ensuite fait peur ^^' (c'est comme si je me mettais à expliquer que la langue française est bien plus orientée objet que le japonais - ce que je crois XD)

    Citation Envoyé par Hephaistos007 Voir le message
    Selon toi, comment se fait-il que les étudiants en informatique (ayant 20 ans en moyenne) n'assimilent pas aussi l'objet vite que les gosses de 10 ans ?
    Je dirais qu'à 10 ans, on assimile de nouveaux concepts beaucoup plus facilement. Un exemple très connu est celui des langues. A 20 ans, on a déjà des habitudes, et c'est difficile de changer de mode de pensée pour un autre auquel on n'est pas habitué.

    Alors après, pourquoi on est plus habitué par notre éducation aux concepts de la programmation procédurale... Vaste débat. Peut-être que l'on est plus habitué à donner des ordres à la machine depuis qu'on nous donne des calculatrices dont la finalité est toujours la touche entrée/exécuter. Dans ces conditions, faut bien reconnaître que la programmation procédurale suit une approche plus proche de la suite d'instructions brute que l'approche orientée objet.

  3. #143
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    C'est la plus naturelle car dans la nature, tu as des objets, qui ont des méthodes. Tu interagis avec ces objets via ces dites méthodes sans de soucier de l'intérieur de l'objet.
    Bah, je sais pas, quand j'ai appris vaguement la programmation (en seconde, donc dans les années 2000, jamais eu d'ordi avant, donc difficile pour tester avant), on m'avait parlé de la POO, bah autant te dire que j'avais rien callé et je voyais pas l'intérêt pour mes petits programmes de 100 lignes.

    A l'époque, j'avais pas le net, ça n'aidait pas.
    Je ne répondrai à aucune question technique en privé

  4. #144
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Un objet c'est juste une grosse machine sur laquelle on a disposé des petits boutons.

    [edit] A partir de là, ça n'a plus de rapport avec la POO
    Pour des enfants tu peux aussi essayer le Basic ... il prendra plein de mauvaises habitudes, probablement, mais il pourra aussi rapidement faire des trucs marrants, et au niveau de la motivation c'est important aussi.
    Si on doit s'amuser à calculer la suite de fibonacci "pour s'entrainer" lorsqu'on touche pour la première fois à la programmation, c'est clair qu'on part sur de mauvaises bases. Le fun caybien.

  5. #145
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par arcanis Voir le message
    Un objet c'est juste une grosse machine sur laquelle on a disposé des petits boutons.
    Si on s'en tient là il n'y a aucune différence entre les objets et les ADT (type de données abstrait)...

    Citation Envoyé par arcanis Voir le message
    Si on doit s'amuser à calculer la suite de fibonacci "pour s'entrainer" lorsqu'on touche pour la première fois à la programmation, c'est clair qu'on part sur de mauvaises bases. Le fun caybien.
    Si cette pique s'adresse aux langages procéduraux et fonctionnels, elle a besoin d'être affutée : ça fait bien longtemps que ces langages sont présentés aux enfants avec des résultats graphiques mis en avant.

    --
    Jedaï

  6. #146
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 53
    Points : 44
    Points
    44
    Par défaut
    Si cette pique s'adresse aux langages procéduraux et fonctionnels, elle a besoin d'être affutée : ça fait bien longtemps que ces langages sont présentés aux enfants avec des résultats graphiques mis en avant.
    Euh ... non ? Je part juste de mes expériences avec des "jeunes" (mouarf, ce terme fait bizarre ^^): ceux qui ont appris à faire des trucs avec des résultats modestes n'ont pas vraiment accroché de prime, tandis que ceux qui faisait des trucs bien moche niveau code mais dont ils pouvaient se vanter avaient plus envie d'explorer. Il est possible que des études contredise ceci, mais c'est en tout cas ce que j'ai constaté sur un petit groupe (dix personnes ...).

    Si on s'en tient là il n'y a aucune différence entre les objets et les ADT (type de données abstrait)...
    J'avoue ne pas avoir encore étudié ce terme, donc il est possible que je n'en ai encore jamais fait. Il s'agit evidement d'un représentation simplifiée, mais elle permet à mon sens de saisir rapidement le principe général des objets.
    Ou pas, visiblement ^^

  7. #147
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Si on s'en tient là il n'y a aucune différence entre les objets et les ADT (type de données abstrait)...
    Un objet, c'est une entité qui résulte de l'instanciation d'une classe. Aucune commune mesure avec une classe ou un ADT.

    Par contre, une classe par contre est un ensemble cohérente au quel on peut envoyer des messages via une interface tout en ignorant les détails d'implémentations.

    Un ADT, c'est un type qui est défini par les opérations qu'on peut faire dessus.

    Donc non, il n'y a pas de différences entre ADT et classe (c'est comme ca qu'on peut faire de la POO en C).

    PS/ Je n'ai pas le livre de B. Meyer sous la main, je regarderai vendredi
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  8. #148
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par arcanis Voir le message
    Euh ... non ? Je part juste de mes expériences avec des "jeunes" (mouarf, ce terme fait bizarre ^^): ceux qui ont appris à faire des trucs avec des résultats modestes n'ont pas vraiment accroché de prime, tandis que ceux qui faisait des trucs bien moche niveau code mais dont ils pouvaient se vanter avaient plus envie d'explorer. Il est possible que des études contredise ceci, mais c'est en tout cas ce que j'ai constaté sur un petit groupe (dix personnes ...).
    Je doute fort que les études contredisent cette évidence... Dans tout domaine, il est plus satisfaisant d'obtenir des résultats impressionnant que d'apprendre tout un tas de règles stricte dont on ne se servira pas tout de suite, surtout pour des jeunes.
    Ta remarque était juste, mais venant sur les talons d'une affirmation de la "simplicité" du concept d'objet, tu m'accorderas qu'il était aisé de la prendre comme une affirmation que pour obtenir ces résultats il faut enseigner la POO (associé au fait qu'une caricature répandue de la programmation fonctionnelle l'associe à la suite de Fibonacci calculée de dix-huit manières et ta remarque sur Fibonacci...).

    Citation Envoyé par arcanis Voir le message
    J'avoue ne pas avoir encore étudié ce terme [ADT], donc il est possible que je n'en ai encore jamais fait. Il s'agit evidement d'un représentation simplifiée, mais elle permet à mon sens de saisir rapidement le principe général des objets.
    Ta description touche l'un des aspect de l'OO : l'encapsulation. Mais tous les paradigmes savent faire ça à leur façon, pour vraiment parler d'OO, il faut au moins rajouter un ordre sur les types et du polymorphisme d'inclusion, à mon sens.

    Citation Envoyé par Davidbrcz Voir le message
    Un objet, c'est une entité qui résulte de l'instanciation d'une classe. Aucune commune mesure avec une classe ou un ADT.
    Ta définition d'un objet n'est pas universelle, il y a bien des langages dont la nature objet n'est pas contestée qui n'utilisent pas les classes, ou pas toujours (langages à prototypes).

    Par ailleurs, bien qu'un ADT en lui-même n'ait pas grand chose à voir avec un objet, une valeur dans un ADT remplit exactement les conditions pour être un objet selon la vision simpliste du premier message d'arcanis.

    Citation Envoyé par Davidbrcz Voir le message
    Par contre, une classe par contre est un ensemble cohérente au quel on peut envoyer des messages via une interface tout en ignorant les détails d'implémentations.
    Drôle de définition d'une classe : stricto sensu, on ne peut pas envoyer de messages à une classe, on ne les envoie qu'aux objets instances de cette classe. Evidemment tout ceci peut-être brouillé par l'existence d'un métamodèle dans lequel les classes sont elle-même des objets, et par les "méthodes" statiques.

    Citation Envoyé par Davidbrcz Voir le message
    Un ADT, c'est un type qui est défini par les opérations qu'on peut faire dessus.

    Donc non, il n'y a pas de différences entre ADT et classe (c'est comme ca qu'on peut faire de la POO en C).
    Je dirais qu'il y a pas mal de différence entre un ADT et une classe pour ma part, l'ADT ne recouvre que l'aspect "encapsulation" de la classe, il lui manque toute la hiérarchie et le sous-typage, ainsi que l'extensibilité des valeurs (du moins si on omet les types existentiels).

    --
    Jedaï

  9. #149
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 40
    Points : 23
    Points
    23
    Par défaut
    Je conseillerai de regarder du côté du projet Alice (www.alice.org) - il y a de fortes chances que cela vous intéressera.

  10. #150
    Futur Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Voilà que ma fille demande à apprendre à programmer. Elle n'a que 7 ans… (elle est en CE2).
    Je ne pense pas qu'elle puisse apprendre grand-chose à cet âge (certains problèmes avec des soustractions sont encore difficiles pour elle, ce qui semble être très courant)
    À mon avis, c'est plutôt juste histoire de faire un ou 2 trucs sympa, et de comprendre les principes de base : on écrit un programme, il y a un autre programme qui le lit et l'exécute...
    Je suis tout de même un peu perplexe, bien qu'il me semble avoir vu le site d'un instituteur qui faisait faire du logo à des enfants encore plus jeunes. (je ne le retrouve plus)

  11. #151
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Pour cet âge, un environnement simple et un langage de programmation le plus visuel possible me semble obligatoire, je te recommanderais donc chaudement Scratch comme un autre posteur à la page précédente dont le fils de 8 ans aime beaucoup ce langage/environnement.

    (page officielle)

    --
    Jedaï

  12. #152
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 167
    Points : 471
    Points
    471
    Par défaut
    Il me semble que l'on parle d'un enfant de 10 ans, et il ne faut pas l'oublier.

    Je pense que le basic est un bon départ pour la programmation (voir le language des calculatrices scientifiques). C'est simple, on fait des calcules, on désine des trucs à l'écran, et on commence à comprendre que pour faire des programmes, c'est pas si simple et il faut bien réfléchir avant.

    De plus, on peux faire de l'algo en se forçant à pas faire de "goto" par exemple. Ca peut être un challange, s'il maitrise assez rapidement le language.

    Par la suite, un fois qu'il a muri, on peut passer à plus hard. Et là, je pense que le pascal et le C sont incontournables. Le pascal, fortement typé, oblige a une certaine rigueur. le C, à l'inverse, nécéssite de la vigilance.

    Après, on peut passer au php, python, java, c# et autres joyeusetés.

  13. #153
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Et l'enfant il en pense quoi? Il a envie d'apprendre à programmer?

    Car bon parfois la meilleur façon pour dégouter son enfant, c'est d'essayer de lui faire passer ses passions.

    Après je ne dit pas qu'on ne peut pas guider (genre laisser trainer un livre sur tel ou tel langage, ou mettre une grosse icône sur le bureau vers un IDE comme KPL par exemple), mais surtout ne pas le forcer s'il n'aime pas.

  14. #154
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Je conseillerais Python dans un premier temps, éventuellement Pascal par la suite. Avec Lazarus, on peut apprendre la programmation visuelle...

  15. #155
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 18
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    plusieurs messages citent KPL, je suis donc allé voir leur site. Il apparait que KPL n'est plus distribué depuis 2008, et a été remplacé par une version commerciale (et payante) qui s'appelle Phrogram.

  16. #156
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 309
    Points : 928
    Points
    928
    Par défaut
    Bonjour à tous.

    Je n'ai pas lu l'intégralité de la discussion (j'avoue que quand je vois qu'on dit que la programmation objet est évidement la représentation la plus naturelle du monde, je me mets à chercher le sous-typage structurel, l'héritage, les interface, l'encapsulation et les champs privé dans les "objets" qui m'entoure, et après ça me fait mal au crâne...). Toujours est-il que je n'ai pas l'impression que ce petit jeu ai été cité : http://www.pps.jussieu.fr/~gimenez/laby/

    Alors ce n'est pas un langage à proprement parler (on peut "programmer" dans plusieurs langage avec), mais c'est un très bon moyen pour intéresser un enfant jeune ou moins jeune à la programmation, et lui faire comprendre les principes sous-jacent : par exemple ne pas faire une chose 15 fois mais dire à l'ordinateur de le faire à sa place.

    Lors de la fête de la science, j'ai testé ça (en mode OCaml) avec des enfants de 6/8 ans, et jusqu'à 18 ans (primaire à la terminale), et ça a réussi à tous les intéresser !

  17. #157
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    Bonjour,
    A cette âge, j'avais un Amiga 500, j'ai commencé avec un Basic de base, puis mon oncle m'a acheté AMOS (programmation de jeux)...
    J'ai bien accroché, appris beaucoup car Basic est facilement appréhendable et le fait de toucher un peu à la programmation de jeux est ludique.
    Mais je ne sais pas si un tel langage (et son IDE, banques de sprites intégrée !) existe sur PC...

+ Répondre à la discussion
Cette discussion est résolue.
Page 8 sur 8 PremièrePremière ... 45678

Discussions similaires

  1. Le Royaume-Uni enseignera la programmation aux enfants dès cinq ans
    Par Gordon Fowler dans le forum Actualités
    Réponses: 186
    Dernier message: 09/07/2014, 21h23
  2. Initiation à la programmation pour enfants 12 ans
    Par schaba dans le forum Débuter
    Réponses: 1
    Dernier message: 27/02/2010, 17h40
  3. [POO] apprendre la programmation orientée objet
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 10/12/2005, 11h33
  4. Réponses: 4
    Dernier message: 24/10/2005, 08h36
  5. je veux apprendre la programmation quel language choisir??
    Par existance dans le forum Débuter
    Réponses: 26
    Dernier message: 06/08/2002, 05h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo