Comment puis-je aider un enfant à rester motivé pour apprendre à programmer?


39

Comment puis-je aider un enfant preteen intelligent (pré-adolescent) à apprendre la programmation? Il réussit bien à l'école et il a sauté deux années et est un nerd stéréotypé introverti. Il est très intéressé par le développement Web et a maîtrisé les bases de HTML , CSS et JS , dont je ne connais rien (je ne suis pas un programmeur). Il a construit un site Web personnel à partir de ses connaissances. Il l'a appris d'Internet sur divers sites de tutoriels et Stack Overflow.

Comment puis-je l'encourager à développer ces compétences? Y a-t-il un moyen de l'aider dans son apprentissage étant donné que je ne sais pas me programmer moi-même? Je ne pense pas pouvoir apprendre tout ce qu'il a appris, car il y consacre tellement de temps et est tellement dévoué.

Je pense que le plus grand danger est de perdre sa motivation et d'abandonner. Le débogage peut parfois être frustrant, et je ne veux pas qu'il arrête à cause de cela. Dans d'autres matières, je pourrais l'aider à travailler, mais avec la programmation, je ne peux pas car je n'ai aucune connaissance du domaine.

Que dois-je faire pour rester motivé par le code afin de ne pas se décourager face à des difficultés étant donné que je ne peux pas surmonter ces difficultés moi-même?

(pas un parent moi-même)


41
Hmm, il suffit de l'interdire, et le sujet les intéressera énormément.
Per Alexandersson

Un de mes amis a écrit un article sur son blog ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html ) sur la manière dont il enseigne à ses enfants un programme qui pourrait vous être utile.
Jeff

3
J'ai appris la programmation par moi-même très jeune. Mon père m'a acheté les outils (aujourd'hui, vous pouvez obtenir une version gratuite de Visual Studio) et des livres. Il n'a pas encore besoin de programmer comme un pro, juste pour s'amuser à le faire. Je me suis amusé à faire des jeux, puis une aventure à base de texte, puis un jeu de tir en 2D. Également avec Visual Studio, il peut augmenter la complexité de ce site en le rendant dynamique.
the_lotus

Apprenez à coder avec lui. Activité amusante à faire ensemble. De cette façon, vous pourrez faire les parties frustrantes pour lui au début.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) dit la personne avec 4k SO réputation et dont les principaux tags se trouvent être HTML, CSS, et JS
Santa Claus

Réponses:


25

Tout d'abord, pour aider l'enfant à apprendre:

  1. Beaucoup / la plupart des écoles ont des clubs informatiques. Encouragez l'enfant à se renseigner auprès d'autres élèves ou demandez vous-même aux professionnels de l'école. Cela placera l'enfant avec ses pairs sur le plan du développement, ce qui est le plus grand encouragement que vous puissiez donner.

  2. Parlez à un professeur d'informatique de l'école, s'il en existe un. Ils peuvent accepter d'aider l'enfant ou donner des conseils.

  3. Semblable à # 1 / # 2, annoncez pour un tuteur si vous pouvez vous le permettre. Un étudiant en sciences, pauvre mais brillant, peut vraiment aimer enseigner à un pré-adolescent intelligent, bien plus que ses pairs moins intelligents qu’ils enseignent habituellement. Je sais que j'ai fait. Le défi (mis à part le fait que vous devez payer) est de trouver quelqu'un qui est doué pour l'enseignement - une expérience préalable en enseignement ou en tutorat devrait être demandée, ainsi que l'aptitude à travailler avec des enfants plus jeunes.

  4. Les cours en ligne (Coursera, etc ...) peuvent être formidables, en particulier pour un nerd interverti ( moi qui me regarde dans le miroir )

  5. Pour les mettre au défi, dirigez-les vers les sites Rosetta Code et Stackexchange Code Review .

Deuxièmement, si vous pensez qu'ils pourraient utiliser la motivation pour les prochaines étapes:

  1. Si l'enfant est mature (probablement), montrez-leur le taux de rémunération moyen pour diverses professions et que les ingénieurs en logiciel sont bien supérieurs à ceux de la plupart des professions. Cela lui permettra de regarder au-delà de l'intimidation geek habituelle qu'il est susceptible de rencontrer et a des raisons de s'en tenir au codage.

  2. Faites remarquer qu’il ya beaucoup d’enfants comme celui-ci (comme vous pouvez le constater à partir de témoignages personnels sur presque toutes les réponses ici :)), il sera probablement plus encouragé s’il ne se sent pas comme un monstre, même s’il est introverti par nature.


3
Many/most schools have computer clubsJe vous prie de ne pas être d'accord.
Père Noël

Je suis d'accord avec @SantaClaus sur celui-ci. Surtout au Texas, il n'y a pas beaucoup de groupes de programmation. J'ai été extrêmement mécontent quand j'ai découvert que mon lycée local n'avait pas de club. Nous avons essayé de les convaincre et ils l'ont refusé en raison d'un financement. Pourtant, ils ont plus de 20 clubs sportifs. Ceci est apparemment vrai pour la plupart des écoles du Texas, à l'exception des écoles du centre-ville.
Damien Bochkarev

12

Quelques éléments à ajouter à l'excellente réponse de user3143:

Outils. Les outils ne remplacent pas l'expérience ou les connaissances, mais chaque artisan / femme apprécie les bons outils, et vous pouvez y contribuer en tant que parent non-programmeur. Certains des meilleurs sont gratuits, mais si l'enfant veut un IDE, une bibliothèque, un programme, etc., cela coûte toute somme raisonnable, envisager fortement de l' obtenir. Je trouve par exemple que Photoshop est inestimable pour le développement Web (mon travail). Donnez à l’enfant une technologie mobile à développer. Il n'est pas nécessaire que cela coûte cher et vous n'avez pas besoin de le connecter à un forfait de données, mais un téléphone et une tablette usés de 2 ans suffiront.

Encouragez l'enfant à contribuer à l'open source, découvrez le fonctionnement de github (s'il ne le fait pas déjà). Encouragez l’enfant à essayer d’obtenir des crédits scolaires pour ses projets personnels (meilleur grift de tous les temps). Encouragez l'enfant à écrire des programmes en cadeau (je crée actuellement un site Web pour ma fille de 5 ans). Cela aide à apprendre à anticiper et à répondre aux souhaits et aux exigences des autres, ce qui sera important si vous souhaitez que l’enfant poursuive une carrière dans la programmation. En parlant de ça ...

Je présume (peut-être à tort) que vous l'encouragez dans l'espoir que cela deviendra peut-être la carrière de l'enfant. Si tel est le cas, un programmeur professionnel doit savoir qu'un amateur ne le reconnaît pas. Si vous n’êtes pas encore arrivé (le gamin est assez jeune), ne vous préoccupez pas de la liste suivante de prérequis: contrôle de version du code source, travail d’équipe, relations avec les clients (qu’ils soient chefs ou clients), documentation (programmes destinés à autres personnes à lire et accessoirement que les ordinateurs fonctionnent) et l’équilibre travail-vie personnelle (notre secteur n’est pas le pire, mais c’est un problème).

Le dernier mais non le moindre est le RSI. Votre enfant va taper. Beaucoup. J'ai passé un été à l'école des cycles supérieurs à apprendre à saisir le type de clavier de Colemak, et je suis très heureux de l'avoir fait. Cela vaut la peine de vérifier.



1
Je vais mordre. Les hobbiests ont besoin d’un SCM (Git est le meilleur, IMO) s’ils veulent être sains d'esprit.
Annuler

2
C'est pourquoi j'ai dit «discutablement». Je me suis certainement fait avoir à deux reprises dans un coin sur des projets personnels en me disant: "Je ne m'embarrasserai pas du contrôle de la source pour ce petit programme",
Jared Smith

11

Les autres réponses ici sont très bien, mais je crains qu'il y ait un fait important que tout le monde ignore:

un nerd stéréotypé introverti

Je suis moi-même ce genre de personne et vous ne pouvez pas imaginer à quel point la vie est difficile quand vous êtes timide et que vous craignez littéralement de parler aux autres (cela semble être appelé l'inquiétude sociale), alors si possible vous devriez vous en occuper avant toute autre chose, sinon j'ai bien peur qu'il utilise la programmation comme un "refuge" de la vie réelle (comme je le fais depuis quelques années) et que cela lui causerait des problèmes à l'avenir.


1
C'est un très bon point à garder à l'esprit. La recherche d’un club de programmation ou de programmes extrascolaires intégrant une programmation (par exemple, les ligues FIRST LEGO) peut l’aider à développer à la fois ses intérêts évidents et ses aptitudes à la socialisation.
Acire

2
D'accord. J'ai probablement eu plus d'une année de théâtre au lycée que n'importe quelle autre classe en dehors de l'informatique. Cela m'a appris comment gérer le trac, comment improviser dans une situation sociale stressante et toutes sortes de "compétences non techniques" qui sont utiles tout le temps. Et les «dramaturges» sont, eh bien, une autre sous-espèce de geek, donc interagir avec leurs camarades de classe et se rapporter à eux ne sera pas aussi pénible pour l'enfant que ce ne le serait avec certaines des autres formes de vie extraterrestres qui sillonnent les couloirs. d'un lycée typique. Vous devriez certainement l'encourager (mais pas le pousser ) à prendre le drame.
Mason Wheeler

6

En tant que programmeur et, dans une certaine mesure, être «ce gamin», je dirais que des solutions telles que des kits de matériel intégré (bon marché) tels que Raspberry Pi ou Arduino sont la solution. Ces kits sont généralement assez bon marché (le Pi coûte environ 30 $ et est alimenté par un chargeur de téléphone).

Les jeunes programmeurs ne sont pas intéressés par une bonne compréhension des concepts de programmation tels que l'écriture de code sécurisé / de haute qualité. Jusqu'à ce que cela devienne une habitude, cela empêche de faire fonctionner les choses. Je compare cela à la chimie dans la mesure où connaître les détails complexes de la fabrication d’une grande fontaine par Mentos et Coca-Cola est bien moins intéressant que de faire des expériences désordonnées dans la cour avec des sodas et des bonbons.

Les jeunes programmeurs apprennent de nombreuses mauvaises habitudes grâce aux cours en ligne et aux exemples de code. Ils sont généralement mal conçus et construits pour ne fonctionner que dans des conditions optimales. Les bons programmeurs construisent pour tous ces petits «cas extrêmes» où les choses ne sont pas tout à fait ce à quoi on s'attendait À un moment donné, ils devront désapprendre tous les mauvais comportements et éviter l'environnement «professionnel» jusqu'à ce qu'ils soient prêts est un bon moyen d'empêcher la formation de mauvaises habitudes.

Ils sont motivés pour jouer et peuvent tout aussi bien jouer lorsqu'ils sont encore enfants et qu'ils veulent le faire.

Prendre du matériel / des cartes de circuits imprimés et en faire quelque chose encourage les compétences créatives qui manquent souvent (de manière stéréotypée) chez les enfants ayant ce genre d’intérêts. En tant que jeune programmeur, il y a beaucoup plus de satisfaction à propos de "j'ai fait CECI" et d'un bogue dans le code susceptible de casser quelque chose. De plus, lorsque vous avez fini de le construire, vous pouvez jouer avec pendant un moment.

Plus important encore - pour les non-programmeurs, il est beaucoup plus facile de faire l'éloge de quelque chose de physique dont le but est facilement compris. Cela conduit à des éloges plus nombreux et à des conversations plus constructives que le code / les programmes sur un écran qui finissent par se transformer en "chasse aux bogues" ou nécessitant une explication plus longue que la démonstration.


5

J'étais une fois dans une position similaire. J'étais un pré-adolescent désireux d'apprendre la programmation et j'étais enthousiasmé par le fait de regarder un ordinateur exécuter des commandes à la demande. Le développement Web ne m'intéressait pas, mais au début, je m'intéressais plutôt au contraire: le piratage / l'exploitation. Néanmoins, je pense que mon expérience d'apprentissage du programme sera pertinente.

Je crois que la clé pour enseigner aux jeunes comment programmer est l'encouragement. C'est quelque chose que j'aurais aimé avoir plus. Mes parents ne sont pas vraiment férus de technologie, ni aucun membre de ma famille, et à cause de cela, je n'ai pas reçu beaucoup d'encouragement ni de soutien pour apprendre / perfectionner mes compétences en programmation. Vous avez pris la bonne mesure en demandant aux autres leurs opinions et cela montre que vous soutenez ses intérêts. Le meilleur conseil que je puisse donner au parent / tuteur / tuteur d'un enfant intéressé par la programmation est simple: ne le laissez pas se décourager ou se sentir dépassé. Un enfant peut facilement se sentir découragé ou dépassé lorsqu'il travaille sur un gros problème. C'est votre travail de vous assurer que cela n'arrive pas.

Pour ce qui est de l’encourager, c’est un peu plus compliqué. Chaque enfant est différent. Mes parents ont commencé à être favorables et encourageants lorsque j'étais dans mes dernières années de lycée. J'ai trouvé le plus d'encouragements quand ils venaient dans ma chambre, s'assoyaient avec moi, me demandaient sur quoi je travaillais, m'écoutaient en détail, me regardaient courir pour eux et semblaient être intéressés. Aujourd'hui, je ne crois plus que mes explications ou mes détails intéressent beaucoup mes parents, mais à l'époque j'étais convaincue de le faire et cela m'aidait à être satisfaite et accomplie de mon travail. Prenez le temps de s'asseoir avec lui, regardez ce qu'il a construit, discutez-en avec lui, posez des questions et semblez enthousiasmé. Cela le fera se sentir spécial et fournira un renforcement positif. Vous ne pourrez peut-être pas lui offrir de l'aide ou lui montrer comment faire quelque chose,

L'un des meilleurs moyens d'apprendre la programmation consiste à trouver un objectif difficile et à en faire un pôle de développement. Dans mon cas, je me suis concentré sur un objectif particulier à 16 ans. Je me suis concentré sur le développement d'un programme permettant d'exploiter un jeu Android / iPhone très populaire à cette époque. Je suis devenu obsédé par cet objectif et ai travaillé pendant des mois. Finalement, j'ai pu créer une application et mon objectif est devenu plus large. Après avoir atteint cet objectif, j'ai ensuite travaillé à l'extension du programme et à l'ajout de fonctionnalités supplémentaires. Au cours de la prochaine année et demie, j'ai créé plusieurs programmes qui ont atteint cet objectif et qui contiennent des fonctionnalités que je n'aurais jamais pensé pouvoir réaliser. Je dirai que ma motivation à poursuivre mon expansion était l'argent. J'ai créé une entreprise en ligne qui a vendu le logiciel d'exploitation du jeu que j'ai écrit. Cependant, sa motivation peut être n'importe quoi. Il n'est pas nécessaire que ce soit de l'argent ou de vendre ce qu'il crée. Il peut simplement trouver la motivation dans la satisfaction d'atteindre un objectif final. Peu importe ce qui le motive, ce qui compte, c’est qu’il soit motivé.


Voici certaines des meilleures ressources que j'ai trouvées pour apprendre à programmer:

  1. YouTube: Cela peut sembler une mauvaise suggestion, mais laissez-moi vous expliquer. Recherchez "[quelle que soit la langue qu'il souhaite apprendre] tutoriel" et choisissez une liste de lecture. Il existe de nombreux didacticiels pour de nombreuses langues sur YouTube, du débutant à avancé.
  2. Khan Academy: Je ne l'ai pas trouvé il y a un an, mais Khan Academy propose un cours de programmation gratuit. J'ai parcouru le cours et il semble être un très bon cours pour un programmeur débutant. Il couvre les concepts de base et est très compréhensible. Ce pourrait être une bonne ressource pour lui.
  3. "TeachMeComputer": TeachMeComputer est le nom YouTube d'un homme qui a créé de super tutoriels pour Visual Basic .NET et PHP. Il les a tous organisés et fourni du contenu supplémentaire sur www.HowToStartProgramming.com . Étant donné l'intérêt de l'enfant pour le développement Web, cela pourrait constituer un atout précieux pour l'apprentissage de PHP. Je pense que VB.NET est un excellent langage de programmation pour débutant. Cet ensemble de didacticiels pourrait également lui être très utile.

Edit : Je m'excuse de supposer que vous êtes le parent. Je n'ai pas remarqué la dernière ligne de votre message qui dit que vous ne l'êtes pas. Malgré cela, je pense que ma réponse pourrait encore être utile.


4

Ayant moi-même appris le développement de logiciels à peu près de la même manière (bien qu'au début des années 90, il y avait beaucoup moins de matériel utile facilement disponible en ligne, j'ai donc trouvé / acheté des livres comme principale source d'informations), je peux dire que la chose la plus importante gosse a besoin il semble déjà avoir: Motivation pour apprendre.

Les autres réponses ici offrent de bonnes suggestions, y compris des éléments tels que la participation de pairs partageant les mêmes idées, la familiarisation avec les outils et aussi simple que cela puisse paraître, apprendre à taper de manière efficace est la clé (sinon la saisie de toute sorte d'informations dans l'ordinateur si difficile que vous pouvez difficilement vous confronter à l’idée de résoudre des problèmes majeurs avec du code).

J'ajouterais également: Encouragez ce jeune à choisir un objectif / projet de son choix et à le respecter jusqu'au bout. Cela peut prendre plusieurs tentatives et le ou les premiers peuvent être laissés incomplets, trop ambitieux, finalement ennuyeux, etc. Mais apprendre à surmonter cela et à produire quelque chose de qualité que quelqu'un utilise (pourrait être un projet open source , ou quelque chose utilisé à l'école ou par des amis, etc.) - c'est un point important et une étape vitale.

J'ai beaucoup appris sur la programmation à peu près du même âge (10 à 12 ans), mais quand j'avais 13 ans, quelqu'un m'a offert de l'argent pour programmer quelque chose pour eux, et une date limite y était associée. C'était une expérience différente. Bien que le stress y ait été associé, cela m'a aussi rendu responsable. J'avais des tonnes de projets incomplets et des idées intelligentes, mais ce n'est pas avant que quelqu'un m'aide à m'entraîner dans la discipline consistant à fournir le logiciel que j'écrivais (et qu'il soit suffisamment décent et réalisable, et non un tas de merde excessivement bogué), que Je considère en fait que je suis "devenu un vrai développeur".

C'est mes deux centimes.


3

Commencez avec Scratch: http://scratch.mit.edu/

"Scratch est un outil de création multimédia gratuit pour les ordinateurs de bureau et en ligne qui peut être utilisé par les étudiants, les universitaires, les enseignants et les parents pour créer facilement des jeux et constituer un tremplin vers le monde plus avancé de la programmation informatique. et à des fins constructivistes de divertissement à partir de projets mathématiques et scientifiques, y compris la simulation et la visualisation d’expériences, l’enregistrement de conférences avec des présentations animées, des récits animés en sciences sociales, ainsi que de l’art et de la musique interactifs. " WP


5
Ew. J'ai été obligé d'utiliser Scratch dans un cours d'initiation à l'informatique en 6e année et c'était terrible. pourquoi me forcez-vous tellement à utiliser la souris, laissez-moi simplement tyyyyype
Doorknob

1
Si la seule chose que vous avez appris en travaillant avec Scratch, c'est que vous n'aimez pas la souris, alors vous avez raté le point. C'est un excellent outil pour apprendre les concepts de base de la programmation. Et c'est très amusant d'expérimenter. Mes deux enfants ont adoré et ils ont continué à apprendre de vrais programmes. La clé n'est pas de savoir si elle utilise ou non une souris; la clé est que c'est une façon amusante de commencer, ce qui pourrait les amener à poursuivre leur apprentissage.
james.garriss

5
Scratch est un très bon point de départ pour introduire les principes fondamentaux de la logique de programmation, mais peut-être un peu jeune pour un pré-adolescent déjà commencé. C'est également un bon moyen de les habituer aux langages de programmation visuels, qui peuvent être utilisés dans une carrière (par exemple, LabVIEW).
Acire

3

Les gens ont déjà ajouté d'excellentes suggestions. La seule chose que je puisse ajouter serait de trouver quelque chose qu’il aime déjà faire, que la programmation lui donnerait un avantage concurrentiel. Par exemple, s’il aime les jeux vidéo et savoir coder signifie pouvoir modifier son système ou son logiciel (oui Je sais que cela pourrait conduire à la triche) pour lui donner un avantage, alors peut-être que c'est une façon de le convaincre de modifier le code et d'apprendre à modifier le comportement d'une application pour répondre à ses besoins. C'est peut-être une bêtise qu'il commence à pirater; mais avec le temps, ses compétences grandiraient naturellement sans devenir une corvée. Quand les gens aiment ce qu’ils font, ils apprennent plus vite et continuent d’évoluer.


3

N'oubliez jamais qu'il y a deux objectifs, qui peuvent parfois être en conflit.

  • Amusez-vous à programmer
  • Devenir un excellent développeur de logiciels

Gardez ces deux points à l'esprit, car si vous prenez des décisions sans être conscient de la priorité à laquelle vous accordez la priorité, vous risquez de ne pas obtenir le bon équilibre. Donner toujours la même priorité aux autres ne donnera pas de bons résultats.

Quelqu'un qui apprend à programmer par lui-même sans l'aide de programmeurs plus expérimentés peut apprendre par lui-même de mauvaises habitudes qu'il lui faudra désapprendre plus tard.

Si vous avez la possibilité d’avoir un tuteur pour l’enfant, cela pourrait être très utile.

Encouragez l'enfant à s'impliquer dans des projets open source, car cela peut offrir de multiples avantages:

  • Vous apprenez à travailler avec d'autres personnes sur un projet, ce qui est essentiel si vous espérez pouvoir un jour faire de la programmation.
  • Des personnes plus expérimentées participant au projet peuvent donner des indications sur le chemin à suivre.
  • Si vous parvenez à apporter quelque chose de positif au projet, cela signifie qu'il y a quelque chose à mettre sur un CV si vous voulez un jour faire une carrière de développeur.

Il y a beaucoup de projets open source, donc il est fort probable qu'il y en a un qui intéresserait l'enfant.

Même si vous n'avez aucune compétence technique, vous pouvez toujours guider l'enfant dans ce processus. Une partie de ce qui est nécessaire pour participer à un tel projet concerne les compétences interpersonnelles, pour lesquelles vous pourriez probablement fournir des conseils.

Certaines communautés en ligne peuvent sembler un peu hostiles aux nouveaux arrivants. Quelques conseils utiles dans la plupart des cas sont les suivants:

  • Soyez juste un peu humble au début. Les nouveaux arrivants sont parfois perçus (parfois pour de bonnes raisons) comme des personnes arrogantes avec une estime de soi supérieure à celle qui est justifiée.
  • Montrez que vous êtes prêt à apprendre.
  • Montrez que vous pouvez apporter de précieuses contributions.

De nombreux projets open source discutent des développements sur les listes de diffusion ouvertes, vous devrez donc décider si vous allez prêter attention à ceux-ci pour voir comment l'enfant se débrouille bien dans la communauté.


2

Je suis actuellement jeune et je programme depuis plusieurs années.

J'ai été introduit pour la première fois en C vers l'âge de huit ans, bien que je n'aie pas beaucoup touché à la langue. Je me concentre davantage sur le développement et la conception Web, même si je possède une connaissance fondamentale de Java pour l' API Bukkit et que je développerai bientôt Objective C ou Swift.

Dans mon expérience actuelle, il est préférable d'apprendre via vous-même. Je trouve plus difficile, plus jeune, d'apprendre des autres, mais plutôt d'essais et d'erreurs. Je sais que de nombreuses écoles proposent des clubs d’informatique et autres, auxquels on m’a demandé de participer mais que j’ai nié, même si je ne pense pas que cela me suffise. Étant plus jeunes, les gens s'accordent à dire que nous, les enfants, ne sommes pas capables de ce qu'ils attendent. Je sais que je connais mieux divers langages de programmation et de script avec de nombreux adultes qui assument mon niveau de connaissance sur le sujet.

Lorsque j'ai commencé à programmer, je regardais de nombreux tutoriels en ligne, même si seuls des tutoriels visuels pouvaient m'aider. La lecture et les ressources interactives ne m'aideraient pas du tout, même si les vidéos me limitaient également.

Je copierais du code à partir de vidéos et explorerais comment cela fonctionnait. Je recherchais certaines fonctions et expérimentais le langage jusqu'à en avoir une connaissance intermédiaire.

Je me sens comme si j'étais un enfant, je suis limité à ce que je peux réaliser. Théoriquement, je pourrais être classé dans la catégorie «Nerd» pour avoir une telle gamme de connaissances en informatique et en programmation, même si cela ne m'aide pas beaucoup. Je suis incapable de consacrer tout mon temps à l'informatique et à la programmation pour des obstacles tels que l'école, la famille et les amis. Si j'étais adulte, je pense que je pourrais approfondir mes connaissances plus rapidement et en apprendre davantage, même si c'est différent d'une personne à l'autre.

Quoi qu'il en soit, si vous ne voulez pas lire mon texte encombré, je recommande simplement de laisser l'enfant apprendre par lui-même. Il se trouve probablement dans la même situation que moi, mais si vous le laissez, je suis sûr qu'il trouvera des ressources qui l'aident plutôt que de recevoir des ressources qui ne l'aideront pas.

Je m'excuse pour les erreurs grammaticales car je suis toujours un enfant et je ne suis pas capable d'écrire en détail ou de manière structurée un adulte plus expérimenté et capable.

J'espère que mes informations m'aideront cependant, même s'il s'agit d'informations assez élargies.

Éditer: Je ne recommanderais pas d’utiliser des outils tels que le scratch ou l’auto-complétion, ni des outils de code générés automatiquement, car cela irait à l’encontre de la programmation. Scratch se compose de bon sens plutôt que de programmation - ce n'est pas ainsi qu'on devrait voir la programmation.


2
+1 à votre édition. Ceci est ma plus grande plainte contre l'utilisation de certains IDE lors de l'apprentissage. Si l'EDI écrit la majeure partie de votre code pour vous, qu'allez-vous apprendre? Je suis prudent lorsque je recommande Visual Basic .NET à cause de ce problème. Visual Studios for VB.NET écrit souvent une grande partie du code clé et suggère ce qu'il faut écrire pour le reste. Cela convient si l’utilisateur apprend ce que le code généré / complété automatiquement fait réellement, mais si l’utilisateur ne recherche pas lui-même ces informations, il n’apprendra pas correctement. Donc +1 à votre avis contre ce genre de choses.
Spencer D

1
Merci d'avoir accepté avec moi. Etant donné que je connais plusieurs langues, je vais utiliser des IDE à complétion automatique. Ceci ne concerne que la gestion du temps, et même si je le recommande aux développeurs plus expérimentés, les gens doivent encore apprendre à programmer. C'est comme savoir parler une langue sans savoir l'écrire d'une manière.
Profil du

Bonne analogie pour cela. Si vous me le permettez, je dirais que c'est comme connaître quelques mots dans une langue étrangère et ensuite utiliser Google Translate pour traduire le reste de ce que vous voulez dire. Oui, cela passe le message et ça marche, mais vous ne l’avez pas écrit vous-même et vous n’avez donc pas appris ce que chaque mot signifie. Cependant, comme vous l'avez dit, une fois que vous avez compris les langues et le code, utiliser un code à remplissage automatique ou généré automatiquement peut généralement vous faire gagner beaucoup de temps.
Spencer D

Hé oui. Complètement d'accord avec ça.
Profil de

2

Je voudrais ajouter un point aux réponses données ici. Si vous pouvez le faire tout en continuant de les intéresser, essayez d’encourager l’étude du fonctionnement des langues (théorie de l’informatique, paradigmes linguistiques, etc.), peut-être à partir de la lecture de manuels et pas seulement de la syntaxe et de la documentation. Les essais et les erreurs sont parfaits pour apprendre ce qui fonctionne, mais pour comprendre le pourquoiDerrière ce qui fonctionne ou ne fonctionne pas en programmation est essentiel pour devenir un développeur de logiciel plutôt que pour quelqu'un qui est juste intéressé à accomplir la tâche sans se soucier de la qualité de l'écriture du code. En tant qu’ingénieur logiciel, je n’ai que deux centimes d’avoir constaté la différence entre «ça marche», c’est donc une mentalité parfaite et l’idée d’écrire du code propre qui fonctionne bien, est évolutif, adaptable, etc. L’étude théorique peut vraiment aider. cette.


1

L'enfant sait déjà comment apprendre et a démontré qu'il le voulait. Beaucoup d'autres réponses se concentrent sur la présentation du matériel destiné aux enfants, ce qui n'est pas utile, car celui-ci peut poser lui-même des questions sur le matériel n'importe où sur le Web. Bâcher du matériel et des attentes envers l’enfant peut même décourager et anéantir tout intérêt pour le sujet.

Je pense qu'il y a simplement 2 choses à surveiller: la perte d'intérêt due au manque de défi ou d'être submergé par un défi.

Pour lutter contre le fait d'être submergé, montrez de l'intérêt pour ce qu'il a fait afin qu'il puisse être fier de son progrès (ou du moins, réalisez qu'il y a eu des progrès, si les choses vont lentement). Et s’il manque un défi, mentionnez quelques autres choses qu’il pourrait faire (par exemple, travailler sur un mod pour un jeu qu’il aime, acheter un Raspberry PI, etc.), mais n’imposez pas de travail à lui - laissez-le être celui qui décide s'il veut les faire.


1

Il a besoin de projets personnels pour s’intéresser. L’open source est formidable. Faire un jeu est génial - mais c'est certainement l'ordre le plus grand à remplir.

Terminer des choses qui ont un usage clair, que ce soit pour lui ou pour quelqu'un d'autre, est la solution la plus flexible et la plus fiable. Je recommande les jeux, parce que j'adore les jeux. Mais encore une fois, j'aime les jeux, et ceux-ci nécessitent le plus large éventail de compétences à compléter.

Mais s'il est un nerd, il aimera aussi les jeux. Les jeux sont également rentables. Ahaha.


1

Je pense que la plupart des suggestions ici vont dans la mauvaise direction.

Compte tenu du fait qu'il semble être capable d’acquérir lui-même les connaissances ou compétences nécessaires à un projet, je recommanderais les deux suivants:

Proposez-lui de donner une classe d’enseignement après l’école ou quelques exposés sur la programmation à ses camarades. La meilleure façon d'apprendre est d'enseigner de toute façon. Cela peut aussi améliorer ses compétences sociales.

Donnez-lui des "vrais" projets. Demandez-lui de programmer un site Web pour la classe ou un applet Web pour un projet de mathématiques ou de physique. Ou une petite base de données, ou un wiki. De cette façon, il verra une pertinence réelle dans ses compétences. Il comprendra qu'il est l'expert et que les autres ont besoin de lui. Et il apprendra tôt à se vendre.


1

Félicitations à ce jeune esprit pour avoir déjà une compétence incroyablement utile à 14 ans! Comme c'est cool ce gamin. (Je suis un programmeur, alors pardonnez-moi pendant qu'il déguste).

  1. Tout d’abord, encouragez cela, c’est une grande compétence à avoir!

    Un programmeur débutant peut débuter entre 30 000 et 50 000 dollars par an, selon la région. Les programmeurs avancés (généralement qualifiés d'ingénieurs) peuvent rendre six chiffres faciles.

  2. Toutes les ressources dont il a besoin pour apprendre, s’amuser et continuer à s’améliorer sont gratuites en ligne. Ill poster quelques liens ci-dessous.
  3. Bien que la programmation soit amusante, les claviers et les pupitres font des ravages dans le corps. Le jeune padawan a commencé très jeune, il doit donc envisager certaines activités physiques pour ne pas avoir le tunnel carpel à 16 ans.

    Je suggère FORTEMENT le yoga et, dans sa forme la plus simple, il suffit de faire une recherche sur YouTube et de faire 15 étirements tous les jours sans être à l’école ou à une autre activité.

    Il pense peut-être que je rigole (surtout à l'âge de 14 ans) mais l'industrie est très ... lourde ... principalement parce qu'un programmeur est assis dans une position et un type. Construisez de bonnes habitudes maintenant.

Lien d'amour:

Il y a BEAUCOUP plus de ressources, mais une fois qu'il les aura consultées, il sera en mesure de trouver plus de liens, etc.



0

S'il est bon en HTML CSS et JS sans le solliciter, il a déjà un talent pour le faire. S'il veut aiguiser ses compétences, pourquoi ne pas lui indiquer CodeEval ? En complétant ces défis, il aura une idée de la langue dans laquelle il s'exprime. S'il en apprend de multiples autres (les langues de codage sont, après tout, des langues humaines), plus vous en savez, plus il est facile d'apprendre la suivante. ).

Si ce type de lecture est très complet, vous pouvez vous procurer certaines lectures obligatoires dans une classe de CS101 de votre université la plus proche. S'il peut déjà programmer, cela ne lui fera pas peur et pourrait même l'intéresser.


Désolé, -1. En tant que développeur professionnel, il n’ya rien de pire que de penser que le golf est une chose positive; et en tant que professeur de programmation, le golf est bien au-delà de ce à quoi un débutant devrait être exposé.
user3143

@ user3143 Point, lien de golf supprimé. CodeEval (au moins les défis du débutant) est un excellent moyen de relever des astuces et de travailler à l'aide d'algorithmes de base.
Sidney

0

Toutes les suggestions ci-dessus sont utiles, mais si vous êtes dans l’un des domaines énumérés ci-dessous, vous pourrez vous rendre au Coderdojo. Si ce n'est pas le cas et que vous pouvez trouver des enfants et des parents partageant les mêmes idées, vous pouvez en créer un dans votre région. Voir les détails sur https://zen.coderdojo.com/dojo

J'en dirige un dans ma région de Sallins, Naas (dans le comté de Kildare, en Irlande). Depuis 4 ans, nous avons 4 enfants. Chaque semaine, nous avons plus de 50 enfants, âgés de 6 à 17 ans, qui travaillent tous dans des langues et des outils différents, à partir de Scratch. et MineCraft, sur Python et PyGame, sur Java, Blender, Unity, Eclipse, etc.

J'espère que vous parviendrez à rejoindre un groupe, car cela ajoute vraiment à l'expérience, pour pouvoir partager l'excitation de nos expériences d'apprentissage constantes et pour montrer chaque nouveau projet :-) JK


0

J'ai commencé à programmer au lycée avec le livre Game Programming for Teens . Il enseigne le langage de programmation BlitzMax . Je pense que c'est un langage de programmation pour débutant, car il possède une syntaxe similaire à celle de l'anglais et un simple ensemble de commandes permettant de dessiner à l'écran. De nombreux autres langages, comme Java, ont une énorme API, ce qui est un atout pour les programmeurs professionnels, mais peut être déconcertant pour un débutant. Une fois que vous avez appris un langage de programmation, il est beaucoup plus facile d’en apprendre un autre. Il peut donc passer à un autre langage comme Java ou C # quand il est prêt.


0

Je ne peux pas dire que j'ai lu toutes les réponses, mais les premières premières m'ont beaucoup attristé. VIRTUELLEMENT AUCUN des grands de l'informatique moderne (pensez à Gates, Jobs, etc.) ont fait leurs armes à un niveau d'abstraction aussi élevé (technologies basées sur le Web). Ils se sont tous salués avec le matériel. Les gourous de toute équipe sont presque toujours ceux qui possèdent les connaissances les plus approfondies de bas niveau.

Si vous voulez lui apprendre le VRAI informatique et le passionner, donnez-lui les jouets nécessaires (multimètre de bonne qualité et CRO (une belle unité Tektronix de 50 MHz de seconde main fera l'affaire), une carte de développement astucieuse (Raspberry PI, Intel Edison, etc.), et réfléchissez à quelques projets sympas qu'il peut faire, par exemple connecter un capteur de mouvement et lui envoyer une photo de sa chambre par courrier électronique lorsqu'un mouvement est détecté. Totalement inutile, mais très amusant et cool à montrer à vos copains.

Une fois qu'il aura le virus et qu'il aura les outils nécessaires, ses compétences se développeront naturellement. Le plus important est de lui poser des défis correspondant à son niveau de compétence. Il aura besoin d'un peu de main au début, mais une fois qu'il aura développé les compétences de base des E / S matérielles, de l'architecture de programme et de la manière d'obtenir les informations nécessaires pour résoudre le problème suivant, rien ne pourra plus l'arrêter.


Sparkfun est un bon endroit pour commencer avec ce genre de choses. Beaucoup de projets de robotique pré-roulés. Je pensais à recommander la robotique / embarquer des choses moi-même.
Tyler

0

de ma propre expérience, je peux dire que vous devez simplement apprendre à apprendre comme je l'ai fait, j'ai commencé à voir ce que d'autres personnes ont fait, lire des wikis, regarder des tutoriels et essayer de comprendre leurs mécanismes, puis commencer à essayer de le faire moi-même et ici je suis. J'ai également appris des choses de codeacademy.com c'était ma fondation pour html, css, javascript, php et ruby. Plus important encore, vous devez lui donner un ordinateur, Internet, beaucoup de temps, de compréhension et bien sûr, il a besoin d’inspiration (comme son propre projet ou quelque chose d’important pour lui) et ne lui dites JAMAIS comment le faire s’il dit SAIT comment le faire, car il a besoin de tout savoir lui-même pour l'apprendre. Il peut également obtenir un sous-domaine et un hébergement gratuits à l' adresse http://api.hostinger.co.uk/redir/3586817.(<- j'utilise celui-là) et il n'a pas besoin d'outils spéciaux pour le codage car il est plus facile à apprendre lorsque vous le faites dans l'éditeur de fichiers simple. Mais en fait, vous savez, ne faites rien qu'il ne demande pas

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.