Es ist offiziell. In den Worten der Glam-Rock-Legende Alice Cooper ist die Schule Sommer .
Es gibt keine Klasse mehr. Kein Schullauf mehr. Keine Hausaufgaben mehr. Nur lange, endlose Sommertage, die sich scheinbar ewig hinziehen. Aber wie halten Sie Ihr Kind in diesen langen Sommermonaten beschäftigt? Vielleicht noch wichtiger, wie halten Sie Ihr Kind beschäftigt und unterhalten, während Sie ihm eine wichtige berufliche Fähigkeit vermitteln, wie zum Beispiel Computer?
Wenn Sie nach Inspiration suchen, machen Sie sich keine Sorgen. Ich habe dich bedeckt. Sehen Sie sich diese sechs Projekte an, die Ihrem Kind die Grundlagen des Computerwissens vermitteln, wobei Linux im Mittelpunkt steht.
Baue eine Spiel- oder Telefon-App mit Kivy
Die Python-Programmiersprache ist eine bevorzugte einführende Programmiersprache, die in Informatikkursen in den USA und in Großbritannien unterrichtet wird, dank ihrer unkomplizierten Syntax und der Leichtigkeit, mit der sie erlernt werden kann. Einer der Vorteile von Python gegenüber anderen Sprachen - wie MIT's Scratch (wir kommen später dazu) - ist die breite Palette von Plugins und Bibliotheken.
Bibliotheken werden verwendet, um die Funktionalität eines Programms zu erweitern. Es gibt Hunderttausende von ihnen für Python. Eine beliebte Bibliothek ist Kivy, die es ermöglicht, Spiele und Apps für den Desktop und für mobile Geräte zu entwickeln.
Mit Kivy können Sie ein ausgeklügeltes Handyspiel für iOS und Android - wie Pong - mit nur ein paar hundert Codezeilen erstellen. Sie können sogar Desktop-Spiele und Anwendungen für Windows, OS X und Linux erstellen.
Und weil es Python ist, verwenden Sie immer noch die gleiche sanfte Syntax, die Ihr Kind wahrscheinlich in der Schule gelernt hat.
Ein guter Ausgangspunkt, um Kivy zu lernen, ist die offizielle Kivy-Dokumentation, in der ein einfaches Pong-Spiel entwickelt wurde. Hier können Sie lernen, wie Sie mit ein paar Codezeilen Objekte auf dem Bildschirm platzieren, die Physik des Spiels steuern und sogar die Ergebnisse verfolgen können.
Dieses Demo-Spiel ist unter der MIT-Lizenz lizenziert - eine kostenlose, permissive Softwarelizenz, die es erlaubt, Änderungen und Kopien vorzunehmen - damit Sie es zu Ihrem eigenen Spiel machen und es online teilen können, ohne vorher um Erlaubnis fragen zu müssen. Sie können sogar Android-APKs erstellen und Ihr Kivy-Spiel im Apple App Store verteilen. Aber für ein mehr Tutorial für Kivy, schau dir Richard Jones's PyCon Montreal Talk an.
Die Installation von Kivy unter Linux ist einfach. Wenn Sie eine Debian-basierte Distribution verwenden, tun Sie dies.
sudo add-apt-repository ppa: kivy-team / kivy
Sudo apt-get installieren Python-kivy
Anleitungen zur Installation von Ubuntu für OpenSUSE, Gentoo und Fedora finden Sie hier.
Lernen Sie die Grundlagen von Code mit Scratch
Wenn Sie ein jüngeres Kind haben, das noch keine formelle Informatik-Lektion absolviert hat, und Sie diese in die Programmierung einführen möchten, sollten Sie in Erwägung ziehen, Scratch zu installieren - verfügbar für OS X, Windows und Linux.
Scratch How To Teach Kids Programmierung von Grund auf! How To Teach Kids Programmierung von Grund auf! Read More ist keine Programmiersprache, die Ihnen eine lukrative Programmierkarriere geben wird Wie Sie eine Programmiersprache auswählen, um heute zu lernen und einen großen Job in 2 Jahren zu bekommen Wie man eine Programmiersprache wählt, um heute zu lernen und einen großen Job in 2 zu bekommen Jahre Es kann Jahre der engagierten Arbeit erfordern, ein wirklich guter Programmierer zu werden; Gibt es also eine Möglichkeit, die richtige Sprache zu wählen, um von heute an zu beginnen, um morgen eingestellt zu werden? Weiterlesen . Aber das ist in Ordnung. Das ist nicht dafür gedacht. Vielmehr wird es verwendet, um die grundlegenden Konzepte der Informatik zu vermitteln.
Scratch ist eine visuelle Programmiersprache. Anstatt Code zu schreiben, ziehen Sie Bausteine einfach per Drag & Drop, um einfache Programme zu erstellen. Dies bietet eine einfache, zugängliche Möglichkeit, Ihrem Kind beizubringen, wie Software erstellt wird, und Konzepte wie Konditionalitäts, Iteration und Rekursion zu programmieren.
Aber lass dich von der vereinfachten Natur von Scratch nicht täuschen. Nur weil es einfach ist, heißt das nicht, dass Sie in dem, was Sie erstellen, eingeschränkt sind. Die Leute haben alles gebaut von Spielen - wie ein Multiplayer-Pong-Spiel - über Animationen - wie eine skurrile Grusskarte - bis hin zu interaktiver Kunst.
Und wenn Sie Ihr Meisterwerk fertiggestellt haben, können Sie es mit der einladenden Scratch-Community online teilen, die durch "Likes" und Kommentare Feedback und Ermutigung geben kann.
Und wenn Sie sich dort langweilen, können Sie Scratch verwenden, um Angst vor dem Programmieren in Code zu entwickeln? Versuchen Scratch For Arduino Angst vor der Programmierung in Code? Versuchen Scratch For Arduino Scratch 4 Arduino ermöglicht Novizen wie mir, spannende Arduino-Projekte mit einer visuellen Oberfläche zu bauen. Es ist einfach, es macht Spaß und bringt dir die grundlegenden Bausteine der Programmierung bei. Lesen Sie mehr Arduino-basierte Internet der Dinge Projekte. Ordentlich, oder?
Steuern Sie Ihr Zuhause mit dem Raspberry Pi
Der Raspberry Pi ist ein kleiner, erschwinglicher, kreditkartengroßer Computer, auf dem Linux ausgeführt werden kann. Übrigens, es ist auch in der Lage, eine abgespeckte Version von Windows 10 Windows 10 - Kommen Sie zu einem Arduino in Ihrer Nähe? Windows 10 - Kommen Sie zu einem Arduino in Ihrer Nähe? Lesen Sie mehr, entworfen für den Aufbau von Internet of Things- Projekten.
Der Pi ist ein vielseitiges Biest, das sich wiederholt als fähig erwiesen hat, alles von Kunstinstallationen über Webserver bis hin zu Minecraft-Servern zu steuern.
Eine Anwendung für den Raspberry Pi, die meine Aufmerksamkeit erregte, war James Bruces Hausautomationsprojekt Home Automation Guide mit Raspberry Pi und Arduino Home Automation Guide mit Raspberry Pi und Arduino Der Hausautomationsmarkt ist überflutet mit teuren Verbrauchersystemen, inkompatibel und kostspielig Installieren. Wenn Sie einen Raspberry Pi und einen Arduino haben, können Sie das gleiche bei ... Read More erreichen, das ein breites Spektrum von Technologien verwendet, um die Beleuchtung seines Hauses zu steuern.
Bruce nutzt alles aus MongoDB (was Taylor Bolduc hier fachkundig erklärt hat) Wie eine MongoDB-Datenbank Ihre Daten besser organisieren kann Wie eine MongoDB-Datenbank Ihre Daten besser verwalten kann MongoDB (von "humongous") ist eine plattformübergreifende dokumentenorientierte Datenbank eine Alternative zu MySQL. Was bedeutet das? Lesen Sie mehr), zum JavaScript-Web-Entwicklungs-Framework NodeJS Was ist Node.JS und warum sollte ich mich darum kümmern? [Web-Entwicklung] Was ist Node.JS und warum sollte ich mich kümmern? [Web-Entwicklung] JavaScript ist nur eine clientseitige Programmiersprache, die im Browser ausgeführt wird, oder? Nicht länger. Node.js ist eine Möglichkeit, JavaScript auf dem Server auszuführen. aber es ist auch viel mehr. Wenn ... Lesen Sie mehr, zu Arduino. Aber im Mittelpunkt stehen Linux und der Raspberry Pi.
Der multidisziplinäre Charakter dieses Projekts bedeutet, dass es Ihrem Kind eine Reihe von Facetten der Informatik wie JavaScript, Systemadministration und Elektronik vorstellt.
Wenn Sie nicht mit dem Raspberry Pi zuvor herum gespielt haben, und Sie nach einem einfacheren Projekt suchen, um Ihre Milchzähne zu versenken, betrachten Sie Christian Crawleys Raspberry Pi Wireless-Drucker Machen Sie Ihren eigenen kabellosen Drucker mit einem Raspberry Pi Machen Sie Ihr eigenes Wireless Drucker mit einem Raspberry Pi Weniger Kabel, Flexibilität, wo Sie Ihren Drucker platzieren können - drahtloses Drucken ist eine Win-Win-Situation. Es sei denn, Sie haben einen älteren Drucker. Raspberry Pi zur Rettung! Weiterlesen .
Baue einen Twitter-Bot
Es ist kein Geheimnis Ich bin ein großer Fan der Programmiersprache Python.
Es ist einfach so mächtig und vielseitig und das breite Angebot an Plugins und Bibliotheken bedeutet, dass Sie fast alles machen können.
Python lässt dich wie ein Superheld fühlen. Denk einfach an etwas, und die Chancen stehen gut, dass du es mit Python bauen kannst. Aber ich spreche nicht nur Spiele oder Raspberry Pi Hausautomationssysteme. Sie können sogar Anwendungen erstellen, die auf vorhandenen Social-Networking-Sites aufbauen.
Facebook. LinkedIn. Twitter. Sie alle haben APIs (Application Programming Interfaces) Was sind APIs und wie verändern Open APIs das Internet Was sind APIs und wie verändern Open APIs das Internet Haben Sie sich jemals gefragt, wie Programme auf Ihrem Computer und den von Ihnen besuchten Webseiten "sprechen"? zueinander? Read More, mit denen Sie die Daten und Funktionen dieser Websites im Rahmen Ihrer eigenen Programme nutzen können. Sie können zunächst ziemlich einschüchternd sein. Aber das sind sie nicht.
Sie zu meistern, kann einige Stunden dauern, aber wenn Sie einmal gelernt haben, wie man eine bestimmte API verwendet, können Sie einige unglaubliche Dinge tun.
Nehmen Sie zum Beispiel Twitter, mit dem Entwickler über drei separate APIs auf ihre Daten zugreifen können. Es gibt die Firehose-API, die unbegrenzten Zugriff in Echtzeit auf jeden einzelnen Tweet bietet, aber mit einem steilen Preisschild in die Tausende von Dollars kommt.
Es gibt auch zwei APIs, die kostenlos verwendet werden können. Twitter verfügt über die Streaming-API, mit der Sie Tweets in Echtzeit verfolgen können, jedoch ohne Gewähr, dass Sie jeden Tweet erhalten. Es gibt auch die Such-API, mit der Sie die Twitter-Datenbank durchsuchen können, aber die Anzahl der Abfragen, die Sie eingeben können, ist stark eingeschränkt.
Die Streaming-API ist besonders interessant, da Sie Anwendungen erstellen können, die auf Tweets in Echtzeit reagieren können. Es gibt unendlich viele Projekte, die du bauen kannst.
Sie könnten zum Beispiel nehmen, James Bruce Arduino-powered LED-Würfel Wie man einen pulsierenden Arduino LED-Würfel, der aussieht wie es kam aus der Zukunft Wie man einen pulsierenden Arduino LED-Würfel, der aussieht, wie es kam aus der Zukunft kam Wenn Sie haben mit einigen Anfänger Arduino-Projekte versucht, aber sind auf der Suche nach etwas ein wenig dauerhaft und auf einer ganz anderen Ebene der ehrfürchtigen, dann ist die bescheidene 4 x 4 x 4 LED-Würfel ... Lesen Sie mehr, und beleuchten es, wenn jemand einen Tweet mit Posts ein bestimmtes Wort. Oder du könntest einen Twitter-Bot bauen, der Spoiler twittert, wenn jemand schreibt "Just started Game of Thrones ". Oder Sie könnten einen Bot erstellen, der auch die Wolfram Alpha API verwendet, um auf einfache Fragen zu antworten, wie zum Beispiel "Was ist die Hauptstadt von Burkina Faso?".
Unter Linux können Sie die Twitter-APIs mit der beliebten Python-Programmiersprache und der Tweepy-Bibliothek nutzen, die Sie über den PIP-Paket-Manager herunterladen können. Um es zu bekommen, öffne einfach deine Befehlszeile und tippe:
Pip installieren Tweepy
Wenn Sie den PIP-Paket-Manager nicht installiert haben, machen Sie sich keine Sorgen. Sie können Tweepy auch manuell installieren. Um dies zu tun, müssen Sie Git installiert haben.
Git Klon https://github.com/tweepy/tweepy.git
cd tweepy
python setup.py installieren
Es gibt keinen Mangel an Online-Tutorials, die Ihnen beibringen, wie Sie Tweepy verwenden. Eine der besten, die ich gefunden habe, war auf PythonProgramming.net, die mit einem begleitenden Video-Tutorial kommt.
Die Möglichkeiten sind endlos, und weil die Twitter-API mit Tweepy so einfach zu verwenden ist, benötigen Sie keinen Computer Science-Abschluss. Sie müssen nur Python kennen und eine tolle Idee haben.
Erstellen Sie eine Website
Wenn Sie Ihrem Kind Code beibringen und fragen, was sie machen wollen, werden sie wahrscheinlich eine mobile App sagen. Wie man ein iPhone Game From Scratch erstellt Wie man ein iPhone Game From Scratch erstellt Irgendwann haben Sie sich wahrscheinlich gewünscht könnte deine eigenen iPhone Spiele machen. Es ist Zeit aufzuhören, zu wünschen und anzufangen. Weiterlesen . Denn - lasst uns ehrlich sein - welches Kind will nicht den nächsten Flappy Bird machen Die kurze Geschichte von Flappy Bird [Seltsames & Wunderbares Web] Die kurze Geschichte von Flappy Bird [Seltsames & Wunderbares Web] Nur wenige mobile Spiele gehen in das kollektive Bewusstsein ein wie Flappy Bird es getan hat. Es geht in Internet-Folklore über, aber diese Videos werden helfen, seine Viralität zu bewahren. Weiterlesen ? Aber danach werden sie wahrscheinlich sagen, dass sie eine Website erstellen wollen.
Das Problem ist, dass Sie, wenn Sie zum ersten Mal lernen, für das Web zu bauen, mit einer schwindelerregenden Palette von Technologien konfrontiert sind. Solltest du den bewährten LAMP Stack für SSH-only Web Hosting verwenden? Machen Sie sich keine Sorgen - Leicht zu installieren jede Web-Software für SSH-only Web Hosting angemeldet? Machen Sie sich keine Sorgen - Einfache Installation von Web-Software Sie wissen nicht, was Linux als erstes über seine leistungsstarke Befehlszeile angeht? Mach dir keine Sorgen mehr. Lesen Sie mehr, die Linux, Apache, MySQL und PHP verwendet? Oder vielleicht etwas moderneres (und ich wage es zu sagen trendy) wie Ruby on Rails, Flask oder Node.js?
Was noch schlimmer ist, dieses breite Technologie-Büffet kann unglaublich ablenken, wenn Sie ein Gesellen-Programmierer sind, während Sie zwischen Frameworks und Sprache mit dem ganzen Fokus eines Labrador Retriever flitzen.
Es ist viel zu sehen.
Aber ich denke, es ist wichtig, daran zu denken, dass das Erlernen von Websites grundsätzlich multidisziplinär ist .
Die Grundlage jeder Website ist HTML. Dann macht man es mit einem freien Platschen von CSS gut. Sobald Sie die Grundbausteine heruntergefahren haben, fangen Sie an, Interaktivität und Dynamik hinzuzufügen. Sie beginnen zu lernen, wie Sie HTML und CSS mit JavaScript und JQuery animieren können.
Dann lernen Sie etwas über Persistenz und die Notwendigkeit, Dinge in einer Datenbank zu speichern, um sie später wiederzufinden. Sie lernen also MySQL und vielleicht MongoDB kennen. Sie lernen etwas über Schemata, Atomisierung und Beziehungen.
Dann lernt man, alles mit einer serverseitigen Programmiersprache wie PHP, Python, JavaScript (mit Node.js) oder Ruby zu verknüpfen und auf einem Server (oft Linux) zu hosten, der fachmännisch konfiguriert werden muss sicherstellen, dass es sicher und zuverlässig bleibt.
Der Punkt, den ich versuche zu machen, ist, dass das Erlernen von Websites ein multidisziplinärer Prozess ist, der davon abhängt, dass die Person einen "Stapel" völlig unterschiedlicher Technologien lernt und sie dann geistig miteinander verknüpft und versteht, wie sie in Beziehung zueinander stehen .
Um Ihrem Kind HTML, CSS und JavaScript beizubringen, lassen Sie es sich bei CodeAcademy Codecademy anmelden - Hands Down Der einfachste Weg Codecademy zu schreiben - Hands Down Der einfachste Weg Codecademy ist ein neuer Website slash interaktiver Programmierkurs, der Sie durch die Grundlagen von JavaScript. Obwohl es noch nicht so lange her ist, hat die Seite bereits viel Aufsehen erregt ... Read More, das jede dieser Technologien durch interaktive Herausforderungen erklärt. Dies ist, wie ich herausgefunden habe, großartig, um die Motivation zu erhalten, da Sie sofortige Ergebnisse und Feedback erhalten.
Natürlich kann CodeAcademy nicht so umfassend und komplex wie CSS oder JavaScript unterrichten. Dafür müssen Sie Ihrem Kind gutes Referenzmaterial vorstellen. Ich würde W3Schools vermeiden, von denen bekannt ist, dass sie fehlerhafte - oder geradezu falsche - Informationen enthalten. Das Mozilla Developer Network ist ein gründliches, genaues und ansprechbares Handbuch zu allen Dingen HTML, CSS und JavaScript und wird sehr empfohlen.
Wenn es darum geht, eine Back-End-Technologie zu wählen, würde ich Ihr Kind ermutigen, PHP zu lernen, das eine leichte Lernkurve hat. Es gibt eine Menge Dokumentation dafür. Darüber hinaus ist die Installation eines LAMP-Servers auf Ubuntu lediglich eine Angelegenheit oder die Eingabe von 'sudo apt-get install lamp-server ^'.
CodeAcademy hat einen PHP-Kurs. Tuts + und Lynda. Alle sind großartig. Obwohl ich persönlich Larry Ullmans PHP und MySQL für dynamische Webseiten empfehlen würde, die zum Zeitpunkt des Schreibens für $ 28, 90 bei Amazon verfügbar sind. Ich besitze selbst eine Kopie und habe festgestellt, dass es ein zugänglicher, zugänglicher Leitfaden für die Webentwicklung mit der PHP-Programmiersprache ist.
Ich habe keinen Zweifel, dass der durchschnittliche Teenager den Inhalt dieses Buches erfassen könnte.
Wenn Sie das nicht tun, hat MakeUseOf eine Anleitung zu PHP veröffentlicht (geschrieben von mir), die Sie hier kostenlos lesen können. Lernen mit PHP zu bauen: Ein Crashkurs Lernen mit PHP: Ein Crashkurs PHP ist die Sprache, die Facebook und Wikipedia verwenden täglich Milliarden von Anfragen zu bedienen; die De-facto-Sprache, die für das Unterrichten von Menschen Web-Programmierung verwendet wird. Es ist wunderschön einfach, aber brillant leistungsstark. Weiterlesen .
Aber vor allem, vermitteln Sie Ihrem Kind, dass Lernen für das Web ein Lernprozess ist, der Zeit und Hingabe erfordert . Um Ihr Kind motiviert zu halten, sollten Sie ihm ein Projekt geben, an dem es arbeiten kann.
Es gibt viele einfache Webseiten, die von einem Lernenden entwickelt werden könnten. Vielleicht ein Gästebuch oder eine Microblogging-Seite wie Twitter.
Einer der am meisten übersehenen Aspekte beim Lernen zu programmieren ist Feedback. Sobald sie etwas gebaut haben, sollten Sie sie davon überzeugen, es auf Github zu teilen. Erfahrenere Entwickler können daher Kritik üben und Anleitung geben. Das Lernprogramm Subreddit ist auch ziemlich gut dafür.
Und dann, vielleicht lehren Sie Ihr Kind, wie sie ihre eigenen Linux-Webserver verwalten und verwalten, indem sie ihnen ein Digital Ocean tröpfchen kaufen DigitalOcean: Der beste VPS-Gastgeber für Neulinge DigitalOcean: Der beste VPS-Gastgeber für Newbies Lesen Sie mehr, die so wenig wie $ 5 pro kostet Monat.
Besuchen Sie einen Code Club
Okay, ich betrüge hier.
Dies ist kein Projekt an sich . Aber wenn Sie Ihrem Kind die Grundlagen des Rechnens beibringen möchten, und Sie es strukturierter und sozialer machen möchten, sollten Sie es zu einem Code-Club bringen.
Die Verfügbarkeit dieser wird natürlich variieren, je nachdem, wo Sie leben. In Großbritannien gibt es den Code Club, ein gemeinnütziger Verein, der Kindern im Alter zwischen 9 und 11 Jahren das Programmieren beibringen soll. Code Clubs können in den meisten größeren Städten und Städten gefunden werden, mit dem Unterricht in "Bedingungen" organisiert. Jeder Begriff lehrt eine andere Facette der Programmierung, wie z. B. Scratch, HTML und CSS und Python, wobei der Inhalt des Kurses mit fortschreitendem Begriff immer komplexer wird.
Code Clubs nutzen oft Raspberry Pis und Linux, weil sie im Vergleich zu herkömmlichen Computern extrem billig zu erwerben sind.
Aber was ist mit dem Teich?
Amerika hat viel, viel zu viele Code Club-ähnliche Organisationen in einem Artikel zu erwähnen. Aber es gibt einige, die auffallen.
Das von Gates und Zuckerberg finanzierte Programm Code.org ist vor allem für sein Hour of Code- Projekt bekannt, das versucht, Erwachsene und Kinder dazu zu bringen, eine Stunde im Jahr damit zu verbringen, Code zu lernen. Aber wussten Sie, dass es eine nahezu vollständige Liste von Informatikkursen in den USA bietet, von denen viele in Bibliotheken, Gemeindezentren und Schulen verfügbar sind?
Aber ich wäre nachlässig, wenn ich nicht den brillanten Black Girls Code erwähnen würde, der wirklich wichtige Arbeit leistet. Sie versuchen, die beschämende ethnische und geschlechtsspezifische Kluft im MINT-Bereich (Wissenschaft, Technologie, Ingenieurwesen und Mathematik) anzugehen, indem sie schwarzen Mädchen in den gesamten USA kostenlose Informatikkurse anbieten. Der Unterricht ist je nach Verfügbarkeit in mehreren Großstädten möglich. Weitere Informationen finden Sie auf der Black Girls Code-Website.
Zeit zu codieren
Okay Leute. Der Sommer ist offiziell hier. Die Schulen haben entweder geschlossen oder schließen sich. Was wirst du machen? Wirst du sie zu einem Code-Club bringen, oder wirst du ihnen einen Raspberry Pi geben und sehen, wohin ihre Vorstellungskraft sie bringt?
Wie auch immer, ich möchte davon hören. Schreibe mir unten einen Kommentar und lass es mich wissen.
Bildnachweis: HTML-Code (Marjan Krebeji), PHP-Code (Bull3t Hughes), lernen, Laptop über Shutterstock zu verwenden