C'est officiel. Dans les mots de la légende du glam rock Alice Cooper, l' école est sortie pour l'été .
Il n'y a plus de cours. Plus de cours d'école. Plus de devoirs. Juste de longues journées d'été interminables qui semblent durer éternellement. Mais comment gardez-vous votre enfant occupé pendant ces longs mois d'été? Peut-être plus important encore, comment gardez-vous votre enfant occupé et divertir tout en leur enseignant une compétence professionnelle importante, comme l'informatique?
Si vous cherchez de l'inspiration, ne vous inquiétez pas. Je t'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 classes 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 le Scratch du MIT (nous y reviendrons plus tard) - est sa large offre 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. Une bibliothèque populaire est Kivy, qui permet de développer des jeux et des applications pour le bureau et pour 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 jeux de bureau et des applications pour Windows, OS X et Linux.
Et parce que c'est Python, vous utilisez toujours la même syntaxe douce que votre enfant a probablement appris à 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 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 suivre les scores.
Ce jeu de démonstration est sous licence MIT - une licence de logiciel libre et permissive qui permet de faire des modifications et des copies - de sorte que vous pouvez le transformer en votre propre jeu, et le partager en ligne sans avoir à demander la permission. Vous pouvez même créer des APK pour Android et distribuer votre jeu Kivy sur l'App Store d'Apple. Mais pour un tutoriel plus guidé sur Kivy, jetez un coup d'œil à la conférence PyCon Montréal de Richard Jones.
L'installation de Kivy sur Linux est facile. Si vous utilisez une distribution basée sur Debian, faites-le.
sudo add-apt-référentiel ppa: kivy-team / kivy
sudo apt-get installer python-kivy
Des instructions sur la façon d'installer Ubuntu pour OpenSUSE, Gentoo et Fedora peuvent être trouvées ici.
Apprenez les principes fondamentaux du code avec Scratch
Si vous avez un enfant plus jeune qui n'a pas encore suivi de cours d'informatique et que vous voulez lui présenter la programmation, vous pouvez envisager d'installer Scratch - disponible pour OS X, Windows et Linux.
Scratch Comment enseigner la programmation des enfants de Scratch! Comment enseigner la programmation des enfants de Scratch! Read More n'est pas un langage de programmation qui vous donnera une carrière de programmation lucrative 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 bon travail en 2 Années Cela peut prendre des années de travail dévoué pour devenir un bon programmeur; Y a-t-il un moyen de choisir la bonne langue pour commencer aujourd'hui, afin d'être embauché demain? Lire la suite . Mais c'est bien. Ce n'est pas prévu pour ça. Au contraire, il est utilisé pour enseigner les concepts de base derrière l'informatique.
Scratch est un langage de programmation visuel, donc plutôt que de taper du code, vous faites glisser et déposer des blocs de construction afin de créer des programmes simples. Cela présente une façon simple et accessible d'apprendre à votre enfant comment le logiciel est construit, et de programmer des concepts comme les conditions, l'itération et la récursivité.
Mais ne laissez pas la nature simplifiée de Scratch vous tromper. Juste parce que c'est facile, cela ne signifie pas que vous êtes limité dans ce que vous créez. Les gens ont tout construit des jeux - comme un jeu de pong multijoueur - aux animations - comme une carte de vœux lunatique - à l'art interactif.
Et une fois que vous avez terminé votre chef-d'œuvre, vous pouvez le partager avec la communauté accueillante Scratch en ligne, qui peut fournir des commentaires et des encouragements grâce à des «j'aime» et des commentaires.
Et si vous vous ennuyez là, vous pouvez utiliser Scratch pour construire peur de programmer dans le code? Essayez Scratch pour Arduino peur de programmer dans le code? Essayez Scratch pour Arduino Scratch 4 Arduino permet aux novices comme moi de construire des projets Arduino passionnants 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 de l'Internet des objets basés sur Arduino. Neat, n'est-ce pas?
Contrôlez votre maison avec le Raspberry Pi
Le Raspberry Pi est un petit ordinateur abordable, de la taille d'une carte de crédit, capable de gérer 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 de projets Internet of Things .
Le Pi est une bête polyvalente qui s'est montrée à plusieurs reprises capable de gérer n'importe quoi, des installations artistiques aux serveurs Web, en passant par les serveurs Minecraft.
Une application pour le Raspberry Pi qui a attiré mon attention était le projet domotique de James Bruce Home Automation Guide avec Raspberry Pi et Arduino Home Automation Guide avec Raspberry Pi et Arduino Le marché de la domotique est inondé de systèmes coûteux, incompatibles entre eux et coûteux installer. Si vous avez un Raspberry Pi et un Arduino, vous pouvez essentiellement réaliser la même chose à ... Read More, qui utilise un large assortiment de technologies pour contrôler l'éclairage de sa maison.
Bruce utilise tout de MongoDB (qui a été expliqué par Taylor Bolduc ici 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 (de "humongous") est une base de données orientée documentaire multiplateforme une alternative à MySQL, mais qu'est-ce que cela signifie?), au framework de développement web JavaScript NodeJS Qu'est-ce que Node.JS et Why Should I Care? [Développement Web] Qu'est-ce que Node.JS et pourquoi devrais-je m'en soucier? [Développement Web] JavaScript est juste un langage de programmation côté client qui s'exécute dans le navigateur, non? Plus maintenant. Node.js est un moyen d'exécuter JavaScript sur le serveur; mais c'est beaucoup plus. Si ... Lire la suite, à Arduino. Mais au centre de tout est Linux et le Raspberry Pi.
La nature multidisciplinaire de ce projet signifie qu'il va présenter votre enfant à un certain nombre de facettes de l'informatique, comme le JavaScript, l'administration des systèmes et l'électronique.
Si vous n'avez jamais joué avec le Raspberry Pi, et que vous cherchez un projet plus simple pour couler vos dents de lait, pensez à l'imprimante sans fil Raspberry Pi de Christian Crawley. Créez votre propre imprimante sans fil avec un Raspberry Pi. Imprimante avec un Raspberry Pi Moins de câbles, flexibilité sur l'endroit où vous pouvez mettre votre imprimante - l'impression sans fil est un gagnant-gagnant. 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 que je suis un grand fan du langage de programmation Python.
C'est tellement puissant et polyvalent, et la vaste offre de plugins et de bibliothèques signifie que vous pouvez faire presque n'importe quoi.
Python vous fait sentir comme un super - héros . Pensez juste à quelque chose, et les chances sont élevées que vous pouvez le construire avec Python. Mais je ne parle pas seulement des jeux, ou des 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'application) Qu'est-ce que les API et comment les API ouvertes changent-elles? Qu'est-ce que les API et comment les API ouvertes changent-elles Internet Vous êtes-vous déjà demandé comment parlent les programmes? l'un pour l'autre? Lire la suite qui vous permet d'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 le 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 capable de faire des choses incroyables.
Prenez 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é et en temps réel à tous les tweets, mais avec un prix élevé qui atteint des milliers de dollars.
Il existe également deux API gratuites. Twitter a l'API Streaming, qui vous permet de suivre les tweets en temps réel, mais sans garantie que vous obtiendrez chaque tweet. Il y a aussi l'API de recherche, qui vous permet de faire des recherches dans la base de données Twitter, mais la quantité de requêtes que vous pouvez faire est très limitée.
L'API Streaming est particulièrement intéressante, car vous pouvez créer des applications capables de répondre aux tweets en temps réel. Il y a une quantité infinie de projets que vous pourriez construire.
Vous pourriez, par exemple, prendre le cube de LED alimenté par Arduino de James Bruce Comment faire un Cube de LED Arduino pulsé qui semble venir de l'avenir Comment faire un Cube de LED Arduino pulsant qui semble venir de l'avenir Si vous avez avec quelques projets Arduino débutants, mais cherchez quelque chose d'un peu permanent et sur un tout autre niveau de génial, alors l'humble cube LED 4 x 4 x 4 est ... Lisez Plus, et éclairez-le quand quelqu'un publie un tweet contenant un certain mot. Ou vous pourriez construire un bot Twitter qui tweets spoilers chaque fois que quelqu'un publie "Commençons à regarder Game of Thrones ". Ou, vous pouvez construire un bot qui utilise aussi l'API Wolfram Alpha pour répondre à des questions simples, comme "quelle est la capitale du Burkina Faso".
Sur Linux, vous pouvez profiter des API Twitter en utilisant le langage de programmation populaire Python, et la bibliothèque Tweepy, disponible pour téléchargement via le gestionnaire de paquets PIP. Pour l'obtenir, ouvrez simplement votre ligne de commande et tapez:
pip installer tweepy
Si vous n'avez pas installé le gestionnaire de paquets PIP, 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
python setup.py installer
Il n'y a pas de pénurie de tutoriels en ligne qui vous apprendra à utiliser Tweepy. 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 parce que l'API 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 avoir une idée géniale.
Construire un site web
Si vous apprenez à votre enfant à coder, et leur demander ce qu'ils veulent faire, ils diront probablement une application mobile Comment créer un jeu iPhone From Scratch Comment créer un jeu iPhone From Scratch À un moment donné, vous avez probablement souhaité que vous pourrait faire vos propres jeux iPhone. Il est temps d'arrêter de vouloir et de commencer à le faire. Lire la suite . Parce que - regardons les choses en face - quel enfant ne veut pas faire le prochain Flappy Bird L'histoire courte d'oiseau Flappy [Weird & Wonderful Web] L'histoire courte de Flappy Bird [Weird & Wonderful Web] Peu de jeux mobiles entrent dans la conscience collective du courant dominant de la façon dont Flappy Bird a fait. Il passe dans le folklore Internet, mais ces vidéos vont aider à 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 à construire pour le Web, vous êtes confronté à un nombre vertigineux de technologies. Devriez-vous utiliser la pile LAMP éprouvée pour l'hébergement Web SSH uniquement? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web signé pour l'hébergement Web SSH seulement? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web Ne savez pas la première chose à propos de l'utilisation de Linux à travers sa puissante ligne de commande? Ne vous inquiétez plus. Lire la suite, qui utilise Linux, Apache, MySQL et PHP? Ou peut-être quelque chose d'un peu plus moderne (et, oserais-je dire branché) comme Ruby on Rails, Flask ou Node.js?
Pire encore, ce vaste éventail de technologies peut être incroyablement distrayant lorsque vous êtes un compagnon codeur, car vous évoluez entre les cadres et la langue avec l'objectif d'un Labrador Retriever.
C'est beaucoup à prendre.
Mais je pense qu'il est important de se rappeler que l'apprentissage de la création de sites Web est fondamentalement multidisciplinaire .
La base de tout site Web est HTML. Ensuite, vous faites bien paraître avec une éclaboussure libérale de CSS. Une fois que vous avez les éléments de base, 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 plus sur la persistance et le besoin de stocker des éléments dans une base de données pour les récupérer plus tard. Donc, vous en apprendrez plus sur MySQL, et peut-être sur MongoDB. Vous apprenez sur les schémas, l'atomisation et les relations.
Ensuite, vous apprendrez à lier le tout avec un langage de programmation côté serveur comme 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 afin de assurez-vous qu'il reste sécurisé et fiable.
Ce que j'essaie de dire, c'est que l'apprentissage de la création de sites Web est un processus multidisciplinaire qui dépend de la personne qui apprend une «pile» de technologies radicalement différentes et qui les lie mentalement, et comprend leur fonctionnement les uns par rapport aux autres. .
Pour apprendre à votre enfant HTML, CSS et JavaScript, demandez-leur de s'inscrire à CodeAcademy Codecademy - Hands Down Le code le plus simple Codecademy - Hands Down Le plus simple au code Codecademy est un nouveau tutoriel de programmation interactive slash qui vous guide à travers les bases de JavaScript. Bien que cela ne date pas d'hier, le site a déjà suscité beaucoup d'intérêt sur ... Read More, qui explique chacune de ces technologies par le biais de défis interactifs. Cela, je l'ai trouvé, est génial pour maintenir la motivation, car vous obtenez des résultats instantanés et des commentaires.
Bien sûr, CodeAcademy ne peut pas enseigner de façon 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 a été connu pour contenir des informations erronées - ou carrément fausses -. Le réseau de développeurs Mozilla est un guide complet, précis et accessible à toutes les choses HTML, CSS et JavaScript, et est fortement recommandé.
Quand il s'agit de choisir une technologie dorsale, j'encourage votre enfant à apprendre le PHP, qui a une courbe d'apprentissage douce. Il y a beaucoup de documentation disponible pour cela. Et de plus, l'installation d'un serveur LAMP sur Ubuntu est simplement une affaire ou en tapant 'sudo apt-get install-lampe-server ^'.
CodeAcademy a un cours PHP. Alors Tuts +, et Lynda. Tout est génial. Bien, je recommanderais personnellement PHP et MySQL de Larry Ullman pour les sites Web dynamiques, qui au moment de la rédaction est disponible pour 28, 90 $ sur Amazon. Je possède moi-même une copie, et l'ai trouvé pour être un guide accessible, accessible, au développement de Web avec le langage de programmation de PHP.
Je n'ai aucun doute que l'adolescent moyen serait en mesure de saisir le contenu de ce livre.
A défaut, MakeUseOf a publié un guide sur PHP (rédigé par le vôtre), disponible gratuitement ici. Apprendre à construire avec PHP: un cours intensif Apprendre à construire avec PHP: un cours intensif PHP est le langage utilisé par Facebook et Wikipedia Servir des milliards de demandes par jour; le langage de facto utilisé pour enseigner la programmation Web des gens. C'est magnifiquement simple, mais brillamment puissant. Lire la suite .
Mais surtout, inculquez à votre enfant que l'apprentissage de la construction pour le web est un processus d'apprentissage qui exige du temps et du dévouement. Pour garder votre enfant motivé, vous pouvez leur proposer un projet sur lequel ils peuvent travailler.
Il y a beaucoup de sites Web simples qui pourraient être construits 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 la rétroaction. Une fois qu'ils ont construit quelque chose, pensez à les 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 ça.
Et puis, apprenez peut-être à votre enfant comment héberger et gérer ses propres serveurs web en leur achetant une gouttelette Digital Ocean Digital: Le meilleur hébergeur VPS pour les débutants DigitalOcean: Le meilleur hébergeur VPS pour les débutants En savoir plus, qui coûte aussi peu que 5 $ mois.
Assister à un club de code
D'accord, je triche ici.
Ce n'est pas un projet en soi . Mais si vous voulez apprendre à votre enfant les bases de l'informatique, et que vous voulez le faire d'une manière plus structurée et plus sociale, alors vous devriez l'emmener dans un club-code.
La disponibilité de ceux-ci, bien sûr, variera en fonction de l'endroit où vous vivez. Au Royaume-Uni, il y a Code Club, un organisme sans but lucratif qui vise à enseigner le codage aux enfants de 9 à 11 ans. Code clubs peuvent être trouvés dans la plupart des grandes villes, avec les frais de scolarité organisés en «termes». Chaque terme enseigne une facette différente de la programmation, comme Scratch, HTML et CSS, et Python, avec le contenu du cours devient de plus en plus complexe à mesure que chaque terme progresse.
Les clubs de code profitent souvent de Raspberry Pis et de Linux, car ils sont extrêmement bon marché 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 d'organisations similaires à Code Club à mentionner dans un article. Mais il y en a qui se démarquent.
Le Code.org financé par Gates et Zuckerberg est surtout connu pour son projet Hour of Code, qui tente d'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 de sciences informatiques aux États-Unis, dont beaucoup sont disponibles dans les bibliothèques, les centres communautaires et les écoles?
Mais je m'en voudrais de ne pas mentionner le brillant Black Girls Code, qui fait un travail vraiment important. Ils tentent de combler l'écart honteux entre les sexes et les sexes dans le domaine des sciences, de la technologie, de l'ingénierie et des mathématiques en offrant des cours d'informatique gratuits aux filles noires partout aux É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.
Heure de coder
Ok les gens. L'été est officiellement là. Les écoles ont fermé ou sont en train de fermer. Qu'est ce que tu vas faire? Allez-vous les emmener dans un club de code, ou allez-vous leur donner un Raspberry Pi et voir où leur imagination les emmène?
De toute façon, je veux en entendre parler. Déposez-moi un commentaire ci-dessous, et faites le moi savoir.
Crédits photo: Code HTML (Marjan Krebeji), Code PHP (Bull3t Hughes), apprendre à utiliser un ordinateur portable via Shutterstock