6 projets pour enseigner à vos enfants à l'informatique avec Linux cet été
C'est officiel. Dans les mots de la légende du glam rock Alice Cooper, l'école est finie.
Il n'y a plus de classe. Plus de cours d'école. Pas plus de devoirs. Juste de longues journées d'été sans fin qui semblent traîner pour toujours. Mais comment occupez-vous votre enfant pendant ces longs mois d'été? Peut-être plus important encore, comment occupez-vous et divertissez-vous votre enfant tout en lui enseignant une compétence professionnelle essentielle, comme l'informatique?
Si vous cherchez de l'inspiration, ne vous inquiétez pas. Je vous ai couvert. Découvrez ces six projets qui enseigneront à votre enfant les bases de l'informatique, avec Linux au centre de tous..
Construire un jeu ou une application téléphonique avec Kivy
Le langage de programmation Python est un langage de programmation d’introduction privilégié, enseigné dans les cours d’informatique aux États-Unis et au Royaume-Uni, grâce à sa syntaxe simple et à la facilité avec laquelle il peut être appris. L'un des avantages de Python par rapport aux autres langages - comme Scratch de MIT (nous y reviendrons plus tard) - est son offre étendue de plugins et de bibliothèques..
Les bibliothèques sont utilisées pour étendre les fonctionnalités d'un programme. Il y en a des centaines de milliers pour Python. Kivy est une bibliothèque populaire qui permet de développer des jeux et des applications pour le bureau et les appareils mobiles..
Avec Kivy, vous pouvez créer un jeu mobile sophistiqué pour iOS et Android - comme Pong - avec seulement quelques centaines de lignes de code. Vous pouvez même créer des applications et des jeux de bureau pour Windows, OS X et Linux..
Et comme il s’agit de Python, vous utilisez toujours la même syntaxe douce que votre enfant a probablement apprise à l’école..
Un bon point de départ pour apprendre Kivy est sur la documentation officielle de Kivy, où ils ont construit un simple jeu de Pong. Ici, vous pouvez apprendre comment, avec quelques lignes de code, vous pouvez placer des objets sur l'écran, contrôler la physique du jeu et même garder une trace des scores..
Ce jeu de démonstration est sous licence MIT - une licence de logiciel gratuite et permissive qui permet d’apporter des modifications et des copies - afin que vous puissiez le transformer en votre propre jeu et le partager en ligne sans devoir demander la permission au préalable. Vous pouvez même créer des APK Android et distribuer votre jeu Kivy sur l'App Store d'Apple. Mais pour un tutoriel plus guidé sur Kivy, consultez le discours de Richard Jones sur PyCon Montréal.
Installer Kivy sur Linux est facile. Si vous utilisez une distribution basée sur Debian, faites ceci.
sudo add-apt-repository ppa: kivy-team / kivy
sudo apt-get installez python-kivy
Des instructions sur la manière d'installer Ubuntu pour OpenSUSE, Gentoo et Fedora sont disponibles ici.
Apprenez les bases du code avec Scratch
Si vous avez un jeune enfant qui n'a pas encore pris de cours d'informatique et que vous souhaitez l'initier à la programmation, vous pouvez envisager d'installer Scratch - disponible pour OS X, Windows et Linux..
Scratch Comment enseigner aux enfants la programmation à partir de zéro! Comment enseigner aux enfants la programmation à partir de zéro! Lire plus n'est pas un langage de programmation qui vous donnera une carrière lucrative en programmation Comment choisir un langage de programmation pour apprendre aujourd'hui et obtenir un excellent travail en 2 ans Comment choisir un langage de programmation pour apprendre aujourd'hui et obtenir un excellent travail en 2 Années Il faut parfois des années de travail acharné pour devenir un très bon programmeur. Y a-t-il un moyen de choisir la bonne langue pour commencer à partir d'aujourd'hui, afin d'être embauché demain? Lire la suite . Mais c'est bon. Ce n'est pas prévu pour ça. Au contraire, il est utilisé pour enseigner les concepts de base de l'informatique.
Scratch est un langage de programmation visuel. Par conséquent, au lieu de taper du code, faites glisser des blocs de construction pour créer des programmes simples. Cela présente un moyen simple et abordable d’enseigner à votre enfant la façon dont le logiciel est construit et les concepts de programmation comme les conditions, l’itération et la récursion..
Mais ne laissez pas la nature simplifiée de Scratch vous tromper. Simplement parce que c'est facile, cela ne signifie pas que vous créez des restrictions. Les gens ont tout construit, des jeux - comme un jeu de pong multijoueur - aux animations - comme une carte de voeux fantaisiste - à l’art interactif.
Et une fois que vous avez terminé votre chef-d’œuvre, vous pouvez le partager avec la communauté accueillante de Scratch en ligne, qui peut vous faire part de vos commentaires et de vos encouragements grâce à des «j'aime» et des commentaires..
Et si vous vous ennuyez là-bas, vous pouvez utiliser Scratch pour créer Peur de programmer en code? Essayez Scratch pour Arduino peur de la programmation dans le code? Try Scratch For Arduino Scratch 4 Arduino permet aux novices comme moi de construire des projets Arduino intéressants avec une interface visuelle. C'est simple, c'est amusant et cela vous apprendra les éléments fondamentaux de la programmation. Lire la suite Projets Internet des objets basés sur Arduino. Neat, à droite?
Contrôlez votre maison avec le Raspberry Pi
Le Raspberry Pi est un ordinateur de la taille d'une carte de crédit, abordable et capable de fonctionner sous Linux. Incidemment, il est également capable d'exécuter une version allégée de Windows 10 Windows 10 - Venir à un Arduino près de chez vous? Windows 10 - Venir à un Arduino près de chez vous? Lire la suite, conçu pour la construction Internet des objets projets.
Le Pi est une bête polyvalente qui s’est montrée à plusieurs reprises capable d’exécuter des tâches allant des installations artistiques aux serveurs Web, en passant par les serveurs Minecraft..
Une des applications du Raspberry Pi qui a retenu mon attention est le projet domotique de James Bruce. Guide de la domotique Avec Raspberry Pi et Arduino Guide de la domotique Avec Raspberry Pi et Arduino Le marché de la domotique est inondé de systèmes de consommation coûteux, incompatibles entre eux et coûteux installer. Si vous avez un Raspberry Pi et un Arduino, vous pouvez obtenir la même chose à… Read More, qui utilise un large éventail de technologies pour contrôler l'éclairage de sa maison..
Bruce utilise tout ce qui vient de MongoDB (ce que Taylor Bolduc a expliqué de manière experte. Comment une base de données MongoDB peut mieux organiser vos données. Comment une base de données MongoDB peut mieux organiser vos données. MongoDB est une base de données multi-plateformes orientée document Une alternative à MySQL. Mais qu'est-ce que cela signifie? En savoir plus), à la structure de développement Web JavaScript NodeJS Qu'est-ce que Node.JS et Pourquoi devrais-je m'en soucier? [Développement Web] Qu'est-ce que Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] JavaScript est un langage de programmation côté client qui s'exécute dans le navigateur, n'est-ce pas? Plus maintenant. Node.js est un moyen d'exécuter JavaScript sur le serveur. mais c'est beaucoup plus aussi. Si… Lire la suite, à Arduino. Mais au centre de tout se trouve Linux et le Raspberry Pi.
La nature multidisciplinaire de ce projet signifie qu’il présentera à votre enfant un certain nombre de facettes de l’informatique, telles que JavaScript, l’administration des systèmes et l’électronique..
Si vous n'avez pas encore utilisé le Raspberry Pi, et si vous recherchez un projet plus simple, faites-le avec imprimante, pensez à l'imprimante sans fil Raspberry Pi de Christian Crawley: Créez votre propre imprimante sans fil avec un Raspberry Pi. Créez votre propre sans fil Imprimante avec un Raspberry Pi Moins de câbles, plus de flexibilité pour placer votre imprimante: l'impression sans fil est une solution gagnante pour tous. Sauf si vous avez une imprimante plus ancienne. Raspberry Pi à la rescousse! Lire la suite .
Construire un bot Twitter
Ce n'est pas un secret, je suis un grand fan du langage de programmation Python.
Il est tellement puissant et polyvalent, et la vaste offre de plugins et de bibliothèques vous permet de faire presque tout.
Python vous fait sentir comme un super héros. Pensez simplement à quelque chose et il y a de fortes chances que vous puissiez le construire avec Python. Mais je ne parle pas seulement de jeux, ou de systèmes domotiques Raspberry Pi. Vous pouvez même créer des applications qui s'appuient sur des sites de réseaux sociaux existants..
Facebook. LinkedIn. Gazouillement. Ils ont tous des API (interfaces de programmation d'applications) Que sont les API et comment les API ouvertes modifient-elles Internet? Que sont les API et comment les API ouvertes modifient-elles Internet? l'un à l'autre? Lisez-en plus pour utiliser les données et les fonctionnalités de ces sites dans le cadre de vos propres programmes. Ils peuvent, au début, être assez intimidants. Mais ils ne sont pas.
Les maîtriser peut prendre quelques heures de travail, mais une fois que vous avez appris à utiliser une API particulière, vous serez en mesure de faire des choses incroyables..
Prenons Twitter, par exemple, qui permet aux développeurs d'accéder à leurs données via trois API distinctes. Il y a l'API Firehose, qui offre un accès illimité en temps réel à chaque tweet, mais dont le prix est extrêmement élevé et qui peut atteindre plusieurs milliers de dollars..
Il existe également deux API libres d'utilisation. Twitter dispose de l'API Streaming, qui vous permet de suivre les tweets en temps réel, mais sans aucune garantie que vous obtiendrez chaque tweet. Il y a aussi l'API de recherche, qui vous permet d'effectuer une recherche dans la base de données Twitter, mais le nombre de requêtes que vous pouvez effectuer est extrêmement limité..
L'API de streaming est particulièrement intéressante, car vous pouvez créer des applications pouvant répondre aux tweets en temps réel. Il y a une quantité infinie de projets que vous pourriez construire.
Vous pouvez, par exemple, prendre le cube de DEL alimenté par Arduino de James Bruce. Comment créer un cube de pulsation Arduino qui ressemble à celui du futur. Comment créer un cube de pulsation Arduino qui ressemble à celui du futur tordu avec des projets Arduino débutants, mais vous recherchez quelque chose d'un peu permanent et d'un niveau tout à fait génial, alors l'humble cube de 4 x 4 x 4 LED… Read More, et l'illumine chaque fois que quelqu'un poste un tweet contenant un certain mot. Ou vous pouvez créer un bot Twitter qui tweete les spoilers chaque fois que quelqu'un poste “Je viens de regarder Jeu des trônes“. Vous pouvez également créer un bot qui utilise également l’API Wolfram Alpha pour répondre à des questions simples, telles que “quelle est la capitale du burkina faso”.
Sous Linux, vous pouvez tirer parti des API Twitter en utilisant le langage de programmation Python, bien connu, et la bibliothèque Tweepy, que vous pouvez télécharger via le gestionnaire de packages PIP. Pour l'obtenir, ouvrez simplement votre ligne de commande et tapez:
pip installer tweepy
Si le gestionnaire de paquets PIP n'est pas installé, ne vous inquiétez pas. Vous pouvez également installer Tweepy manuellement. Pour ce faire, vous aurez besoin de Git installé.
Git Clone https://github.com/tweepy/tweepy.git
cd tweepy
Installation de python.py
Les didacticiels en ligne qui vous apprendront comment utiliser Tweepy ne manquent pas. L'un des meilleurs que j'ai trouvé était sur PythonProgramming.net, qui est accompagné d'un tutoriel vidéo.
Les possibilités sont infinies, et comme l’API de Twitter est si facile à utiliser avec Tweepy, vous n’avez pas besoin d’un diplôme en informatique. Vous avez juste besoin de connaître Python et d'avoir une idée géniale.
Construire un site web
Si vous apprenez à votre enfant à coder et que vous lui demandez ce qu'il veut faire, il dira probablement une application mobile Comment créer un jeu iPhone à partir de zéro Comment créer un jeu iPhone à partir de zéro À un moment donné, vous avez probablement souhaité vous voir pourrait faire vos propres jeux iPhone. Il est temps d'arrêter de vouloir et de commencer à faire. Lire la suite . Parce que - admettons-le - quel enfant ne veut pas faire le prochain Flappy Bird? La petite histoire de Flappy Bird [Weird & Wonderful Web] La courte histoire de Flappy Bird [Weird & Wonderful Web] Peu de jeux mobiles entrent dans la conscience collective de la façon dont Flappy Bird a fait. Cela passe dans le folklore Internet, mais ces vidéos aideront à préserver sa viralité. Lire la suite ? Mais après cela, ils vont probablement dire qu'ils veulent construire un site Web.
Le problème est que, lorsque vous apprenez à créer pour le Web, vous êtes confronté à un nombre vertigineux de technologies. Devez-vous utiliser la pile LAMP testée et testée pour l'hébergement Web réservé à SSH? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web ayant souscrit un hébergement Web réservé à SSH? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web Vous ne savez pas tout du tout comment utiliser Linux via sa puissante ligne de commande? Ne vous inquiétez plus. En savoir plus, qui utilise Linux, Apache, MySQL et PHP? Ou peut-être quelque chose d'un peu plus moderne (et, si j'ose dire, à la mode) comme Ruby on Rails, Flask ou Node.js?
Pire, ce large éventail de technologies peut être extrêmement gênant lorsque vous êtes un codeur compagnon, alors que vous passez entre des cadres et une langue centrés sur le Labrador Retriever..
C'est beaucoup à prendre.
Mais je pense qu’il est important de se rappeler que l’apprentissage de la construction de sites Web est quelque chose qui est fondamentalement fondamental. multidisciplinaire.
La base de tout site Web est HTML. Ensuite, vous le rendez bien avec une projection libérale de CSS. Une fois que vous avez acquis les bases, vous commencez à ajouter de l'interactivité et du dynamisme. Vous commencez à apprendre à animer votre code HTML et CSS avec JavaScript et JQuery.
Ensuite, vous en apprendrez davantage sur la persistance et sur la nécessité de stocker des éléments dans une base de données pour les récupérer ultérieurement. Donc, vous en apprendrez plus sur MySQL, et peut-être MongoDB. Vous en apprendrez plus sur les schémas, l'atomisation et les relations.
Ensuite, vous apprendrez à lier tout cela avec un langage de programmation côté serveur tel que PHP, Python, JavaScript (avec Node.js) ou Ruby, et à l’héberger sur un serveur (souvent Linux), qui doit être configuré de manière experte pour s'assurer qu'il reste sécurisé et fiable.
Ce que je veux dire, c’est que l’apprentissage de la construction de sites Web est un processus multidisciplinaire, qui suppose que la personne apprenne un ensemble de technologies extrêmement différentes, puis les lie mentalement, et comprenne comment elles fonctionnent les unes par rapport aux autres..
Pour apprendre à votre enfant le HTML, le CSS et le JavaScript, inscrivez-vous à CodeAcademy Codecademy - Le meilleur moyen de coder Codecademy - Le meilleur moyen de coder Codecademy est un nouveau tutoriel de programmation interactive qui vous guidera à travers les bases du JavaScript. Bien que le site ne soit pas utilisé depuis longtemps, le site a déjà suscité beaucoup d'intérêt… Lire la suite, qui explique chacune de ces technologies par le biais de défis interactifs. J'ai trouvé que ceci est idéal pour maintenir la motivation, car vous obtenez des résultats et des retours instantanés..
Bien sûr, CodeAcademy ne peut pas enseigner de manière exhaustive quelque chose d'aussi vaste et complexe que CSS ou JavaScript. Pour cela, vous devez présenter à votre enfant un bon matériel de référence. J'éviterais W3Schools, qui contient des informations erronées, voire fausses. Le réseau de développeurs Mozilla est un guide complet, précis et accessible de tout ce qui concerne HTML, CSS et JavaScript. Il est vivement recommandé..
Quand il s’agit de choisir une technologie d’arrière-plan, j’encourage votre enfant à apprendre PHP, qui a une courbe d’apprentissage douce. Il y a beaucoup de documentation disponible pour cela. De plus, installer un serveur LAMP sur Ubuntu n’est qu’une affaire ou taper 'sudo apt-get install lamp-server ^'.
CodeAcademy a un cours de PHP. Tout comme Tuts + et Lynda. Tout est génial. Bien que, personnellement, je recommande Larry Ullman PHP et MySQL pour les sites Web dynamiques, qui au moment de l'écriture est disponible pour 28,90 $ sur Amazon. Je possède moi-même une copie et je trouve que c'est un guide accessible pour le développement Web avec le langage de programmation PHP.
Je ne doute pas que l'adolescent moyen puisse comprendre le contenu de ce livre..
À défaut, MakeUseOf a publié un guide pour PHP (écrit par le vôtre), disponible en lecture gratuite ici. Apprenez à construire avec PHP: un cours intensif Apprenez à construire avec PHP: un cours intensif PHP est le langage utilisé par Facebook et Wikipedia servir des milliards de demandes chaque jour; le langage de facto utilisé pour enseigner aux gens la programmation Web. C'est magnifiquement simple, mais brillamment puissant. Lire la suite .
Mais surtout, inculquez à votre enfant qu’apprendre à construire pour le Web est un processus d'apprentissage, et qui prend du temps et du dévouement. Pour garder votre enfant motivé, vous pouvez lui définir un projet sur lequel il peut travailler..
Il existe de nombreux sites Web simples qui pourraient être créés par un développeur apprenant. Peut-être un livre d'or, ou un site de microblogging comme Twitter.
L'un des aspects les plus négligés de l'apprentissage du code est le retour d'informations. Une fois qu'ils ont créé quelque chose, envisagez de le convaincre de le partager sur Github afin que les développeurs plus expérimentés puissent critiquer et offrir des conseils. Le subreddit Learn Programming est également très bon pour cela.
Et ensuite, apprenez peut-être à votre enfant à héberger et à gérer ses propres serveurs Web Linux en achetant un droplet Digital Ocean DigitalOcean: le meilleur hôte VPS non géré pour les débutants DigitalOcean: le meilleur hôte VPS non géré pour les débutants Si vous avez besoin d'hébergement VPS et que vous voulez Pour gérer vous-même toute l'administration du serveur, voici pourquoi DigitalOcean est votre meilleure option. Lire la suite, qui coûte aussi peu que 5 $ par mois.
Assister à un club de code
D'accord, je triche ici.
Ce n'est pas un projet, en soi. Mais si vous voulez enseigner les bases de l’informatique à votre enfant et que vous voulez le faire de manière plus structurée et plus sociale, vous devriez l’emmener dans un club de code..
Bien entendu, leur disponibilité variera en fonction de votre lieu de résidence. Au Royaume-Uni, il y a Code Club, une association à but non lucratif qui a pour objectif d'apprendre aux enfants de 9 à 11 ans à coder. Les clubs de code se trouvent dans la plupart des grandes villes et agglomérations, les cours étant organisés en termes réels. Chaque terme enseigne une facette différente de la programmation, telle que Scratch, HTML, CSS et Python, le contenu du cours devenant de plus en plus complexe à mesure que chaque terme progresse..
Les clubs code profitent souvent de Raspberry Pis et de Linux car ils sont extrêmement peu coûteux à acquérir par rapport aux ordinateurs traditionnels..
Mais qu'en est-il de l'autre côté de l'étang?
L'Amérique a beaucoup, beaucoup trop Code Club-like organisations à mentionner dans un article. Mais il y en a qui se démarquent.
Code.org, financé par Gates et Zuckerberg, est surtout connu pour ses Heure de code Ce projet vise à amener les adultes et les enfants à passer une heure par an à apprendre à coder. Mais saviez-vous qu'il héberge une liste presque complète de cours d'informatique disponibles aux États-Unis, avec de nombreux cours disponibles dans les bibliothèques, les centres communautaires et les écoles?
Mais je m'en voudrais de ne pas mentionner le génial Black Girls Code, qui fait un travail vraiment important. Ils tentent de combler le fossé honteux entre les groupes ethniques et les sexes dans le domaine des sciences, de la technologie, de l'ingénierie et des mathématiques (STEM) en proposant des cours d'informatique gratuits aux filles noires de l'ensemble des États-Unis. Les cours sont disponibles dans un certain nombre de grandes villes, sous réserve de disponibilité. Consultez le site Web Black Girls Code pour plus d'informations.
Temps de coder
Ok les gars. L'été est officiellement arrivé. Les écoles ont soit fermé, soit sont en train de fermer. Qu'est ce que tu vas faire? Allez-vous les amener dans un club de code ou allez-vous leur donner un Raspberry Pi et voir où leur imagination les mène??
De toute façon, je veux en entendre parler. Laissez-moi un commentaire ci-dessous, et laissez-moi savoir.
Crédits photos: Code HTML (Marjan Krebeji), Code PHP (Bull3t Hughes), apprendre à utiliser un ordinateur portable via Shutterstock
Explorez plus sur: Linux, Python, Scratch.