Apprendre les bases de la programmation

Tôt ou tard, un enfant qui grandit dans une famille commencera à harceler papa ou maman, qui programme à la maison:

- Qu'est-ce que tu fais?
- Que signifie ce mot?
"Et pourquoi y a-t-il des lettres vertes ici, et ici des lettres bleues?"
Et cela viendra certainement à la question principale:
"Voulez-vous m'apprendre à programmer?"

Cette question m'a également été posée. Je n'étais pas prêt pour une réponse. Et il a commencé à réfléchir sur le problème. Comment attacher un enfant (une dizaine d'années) à cette activité intéressante et fascinante?

De plus, quelques réflexions sur ce sujet et ce qu'elles m'ont amené à ...

Une petite explication, pour une discussion plus approfondie. Je suis développeur Java professionnel. Je connais ce langage et cette plateforme. Je ne trouve pas Java trop difficile à apprendre, même en tant que premier langage de programmation. Comme d'autres langages, Java peut être étudié progressivement, sans plonger directement dans la jungle de la POO.

Je suis d'avis que les bases de la programmation devraient être comprises par toute personne moderne. Voici comment connaître les mathématiques dans le volume de l'école élémentaire. Nous utilisons tous des calculatrices et des feuilles de calcul, mais nous savons toujours comment ajouter et multiplier sur une feuille de papier ou dans l'esprit. Et nous enseignons cela aux enfants. Il en va de même pour la programmation - une personne doit avoir les compétences d'algorithmisation et avoir une idée de la façon de mettre en œuvre l'algorithme inventé dans un langage.

Ainsi, la tâche est d'initier l'enfant à la programmation. Il serait bon en même temps de ne pas détruire l'intérêt naissant. Ce que j'ai réussi à trouver:

Scratch et autres systèmes de jeux visuels


Personnellement, je n'en ai jamais utilisé. Je suis sûr que beaucoup d'enfants aiment jouer et s'adonner à eux. Pour mes besoins, cela est de peu d'utilité car je vois en eux trop de composante de divertissement.

De nombreuses formations en programmation en ligne


GeekBrains, JavaRush, Codecademy et autres. Encore une fois, en raison des limites de l'acquisition d'une profession, je n'ai pas suivi de cours. J'ai parcouru leurs supports marketing et leurs cours d'essai. Je ne les ai pas non plus trouvés appropriés. Soit le matériel n'est pas donné à partir de zéro, soit la formation est trop axée sur la poursuite de l'emploi. L'impression générale n'est pas d'enseigner aux élèves plus jeunes, mais plutôt de maîtriser la profession.

Littérature pédagogique


Googlé le livre de Jacob Fine, "Programmation en Java pour les enfants, les parents, les grands-parents." Un peu dépassé, mais peut-être comme une lecture auxiliaire appropriée. Une présentation détaillée dans les premiers chapitres de la façon d'installer et de configurer JDK et Eclipse n'inspirera pas tout le monde à poursuivre ses études. Personnellement, de telles descriptions me rendent triste et déprimé.

Il y a aussi la philosophie Java de Bruce Eckel - un bon tutoriel. Mais je ne le recommanderais pas aux enfants.

Je n'ai donc pas pu trouver le système idéal pour enseigner à un enfant à programmer, mais j'ai développé un ensemble de critères qu'elle doit satisfaire:

  • présentation complexe du matériel - théorie, exemples et tâches pratiques
    matériel pédagogique en russe
  • apprendre un langage de programmation réel et moderne (Java)
  • éditeur de code d'erreur de syntaxe et de compilation simple
  • aide contextuelle sur la bibliothèque standard, de préférence en russe
  • Interface système en russe non surchargée d'outils
  • messages du compilateur en russe
  • le matériel de formation est conçu pour une personne qui ne connaît pas le monde de la programmation, c'est-à-dire que même des choses très évidentes doivent être expliquées

En ce qui concerne la langue russe mentionnée à plusieurs reprises. Beaucoup peuvent objecter, disent-ils dans le monde informatique sans l'anglais, ce qui signifie qu'il doit être enseigné. Alors laissez l'enfant enseigner. Y compris de cette façon.

Je conviens qu'un programmeur devrait parler couramment l'anglais au moins au niveau de la «lecture de la documentation». Mais nous ne parlons pas de former un programmeur. La barrière linguistique qui se pose à ce stade de la formation peut devenir un obstacle insurmontable et éteindre très rapidement l’enthousiasme de l’enfant. C'est pourquoi je considère que la russification de tout et de tout est d'une importance cruciale.

Environnement d'apprentissage intégré


Comme vous commencez déjà à le deviner, j'en viens à l'essentiel de l'article. Ne trouvant pas l'idéal dans le monde qui m'entoure, comme beaucoup d'entre nous, j'ai décidé de le créer moi-même. Donc avec nous, les programmeurs sont établis depuis longtemps. La tâche m'a semblé intéressante et réalisable dans un temps fini et raisonnable.

Le titre de travail du projet est «classe Java». L'idée est la suivante. L'application de bureau est un «environnement d'apprentissage intégré». J'ai téléchargé, installé et vous pouvez immédiatement lire les leçons, écrire du code et l'exécuter.

Technologie JavaFX. L'environnement peut se présenter sous trois modes: lecture de matériel pédagogique, utilisation du code source et exécution d'un programme en cours d'exécution.

Mode: lecture de supports de formation


Ici vous pouvez lire les leçons et la documentation disponibles. Il est censé télécharger des documents à partir du stockage en ligne.

Les matériaux seront protégés par copyright. Il est prévu de développer un format XML spécial pour le balisage de texte. À l'intérieur du programme, les fichiers XML seront convertis en documents HTML et affichés dans le navigateur intégré (WebView). Des éléments interactifs seront intégrés dans les pages. Par exemple, à la fin du texte de la leçon, il y aura un bouton «Ouvrir le projet» qui mettra l'environnement en mode d'édition de code avec un exemple chargé de la leçon.

Pour les classes principales de la bibliothèque standard, elle est censée écrire une documentation minimale en russe dans le style javadoc. Cette documentation sera également disponible sous forme d'aide contextuelle dans l'éditeur de code.

Mode: travailler avec le code source


, . — /, « ...». java-. . . ECJ Eclipse JDT, . , .

richtextfx. code completion .

java- main() , .

:


, , . . .. — .

. :

  • java-
  • java-




, «Java », .

? - ? . ( ) .

.

Source: https://habr.com/ru/post/fr415273/


All Articles