6 Projekte, mit denen Sie Ihren Kindern in diesem Sommer das Rechnen mit Linux beibringen
Es ist offiziell. In den Worten der glamourösen Rocklegende Alice Cooper, Die Schule ist auf den Sommer hinaus.
Es gibt keine Klasse mehr. Kein Schullauf mehr. Keine Hausaufgaben mehr. Nur lange, endlose Sommertage, die sich scheinbar für immer in die Länge ziehen. Aber wie halten Sie Ihr Kind in diesen langen Sommermonaten beschäftigt? Vielleicht noch wichtiger ist, wie Sie Ihr Kind beschäftigen und unterhalten, während Sie ihm eine wichtige berufliche Fertigkeit vermitteln, wie z. B. Computer?
Wenn Sie nach Inspiration suchen, machen Sie sich keine Sorgen. Ich habe dich bedeckt. Schauen Sie sich diese sechs Projekte an, die Ihrem Kind die Grundlagen des Computerwesens beibringen, wobei Linux im Mittelpunkt steht.
Erstellen Sie eine Spiel- oder Telefon-App mit Kivy
Die Programmiersprache Python ist dank ihrer unkomplizierten Syntax und der Leichtigkeit, mit der sie erlernbar ist, eine bevorzugte Einführungsprogrammiersprache, die in den USA und Großbritannien im Informatikunterricht unterrichtet wird. Einer der Vorteile von Python gegenüber anderen Sprachen - wie Scratch von MIT (dazu kommen wir später) - ist das breite Angebot an 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 die Entwicklung von Spielen und Apps für den Desktop und für mobile Geräte ermöglicht.
Mit Kivy können Sie ein anspruchsvolles Handyspiel für iOS und Android - wie Pong - mit nur wenigen hundert Codezeilen erstellen. Sie können sogar Desktop-Spiele und -Anwendungen für Windows, OS X und Linux erstellen.
Und weil es sich um Python handelt, verwenden Sie immer noch dieselbe sanfte Syntax, die Ihr Kind wahrscheinlich in der Schule gelernt hat.
Ein guter Ausgangspunkt für das Erlernen von Kivy ist die offizielle Dokumentation von Kivy, in der ein einfaches Pong-Spiel erstellt wurde. Hier erfahren Sie, wie Sie mit ein paar Zeilen Code Objekte auf dem Bildschirm platzieren, die Physik des Spiels steuern und sogar die Punktzahlen verfolgen können.
Dieses Demospiel ist unter der MIT-Lizenz lizenziert - einer kostenlosen, permissiven Softwarelizenz, mit der Änderungen und Kopien vorgenommen werden können. Sie können es also in ein eigenes Spiel umwandeln und online freigeben, ohne vorher um Erlaubnis fragen zu müssen. Sie können sogar Android-APKs erstellen und Ihr Kivy-Spiel im Apple App Store verteilen. Weitere Anleitungen zu Kivy finden Sie in Richard Jones 'PyCon Montreal-Vortrag.
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 install python-kivy
Anweisungen zur Installation von Ubuntu für OpenSUSE, Gentoo und Fedora finden Sie hier.
Lernen Sie die Grundlagen von Code With Scratch
Wenn Sie ein jüngeres Kind haben, das noch keine formelle Informatikstunde belegen möchte, und Sie es in die Programmierung einführen möchten, sollten Sie Scratch installieren - verfügbar für OS X, Windows und Linux.
Scratch How to Teach Kinderprogrammierung von Grund auf! Wie man Kindern beim Programmieren beibringt! Lesen Sie mehr ist keine Programmiersprache, die Ihnen eine lukrative Programmierkarriere gibt. Wie wählt man eine Programmiersprache aus, um heute zu lernen und in 2 Jahren einen großartigen Job zu bekommen? Wie wählt man eine Programmiersprache, um heute zu lernen und einen großartigen Job in 2 zu erhalten? Jahre Es kann Jahre dauern, engagiert zu arbeiten, um ein wirklich guter Programmierer zu werden. Gibt es eine Möglichkeit, von heute an die richtige Sprache zu wählen, um morgen eingestellt zu werden? Weiterlesen . Aber das ist gut. Es ist nicht dafür gedacht. Es wird vielmehr verwendet, um die grundlegenden Konzepte der Informatik zu vermitteln.
Scratch ist eine visuelle Programmiersprache. Statt Code einzugeben, müssen Sie Bausteine ziehen und ablegen, um einfache Programme zu erstellen. Auf diese Weise können Sie Ihrem Kind auf einfache und verständliche Weise den Aufbau von Software und Programmierkonzepte wie Bedingungen, Iteration und Rekursion zeigen.
Lassen Sie sich aber nicht von der vereinfachten Art von Scratch täuschen. Nur weil es einfach ist, heißt das nicht, dass Sie bei dem, was Sie erstellen, eingeschränkt ist. Die Leute haben alles von Spielen - wie einem Multiplayer-Pong-Spiel - über Animationen - wie einer wunderlichen Grußkarte - bis hin zu interaktiver Kunst gebaut.
Und wenn Sie Ihr Meisterwerk fertiggestellt haben, können Sie es online mit der einladenden Scratch-Community teilen, die durch „Gefällt mir“ und Kommentare Feedback und Ermutigung geben kann.
Und wenn es Ihnen langweilig wird, können Sie Scratch verwenden, um Angst vor der Programmierung in Code zu erstellen. Versuchen Sie Scratch For Arduino Angst vor der Programmierung in Code? Try Scratch For Arduino Scratch 4 Mit Arduino können Neulinge wie ich aufregende Arduino-Projekte mit einer visuellen Schnittstelle erstellen. Es ist einfach, macht Spaß und bringt Ihnen die grundlegenden Bausteine der Programmierung bei. Lesen Sie mehr Arduino-basierte Projekte "Internet der Dinge". Ordentlich, richtig?
Steuern Sie Ihr Zuhause mit dem Raspberry Pi
Der Raspberry Pi ist ein kleiner, erschwinglicher Computer in Kreditkartengröße, der Linux ausführen kann. Übrigens, es ist auch in der Lage, eine abgespeckte Version von Windows 10 auszuführen. Windows 10 - Kommen Sie zu einem Arduino in Ihrer Nähe? Windows 10 - Sie kommen zu einem Arduino in Ihrer Nähe? Lesen Sie mehr, konzipiert für den Bau Internet der Dinge Projekte.
Das Pi ist ein vielseitiges Biest, das sich immer wieder als fähig erwiesen hat, von Kunstinstallationen über Webserver bis hin zu Minecraft-Servern alles auszuführen.
Eine Anwendung für das Raspberry Pi, die mir ins Auge fiel, war das Hausautomationsprojekt von James Bruce. Home Automation Guide mit Raspberry Pi und Arduino Home Automation Guide mit Raspberry Pi und Arduino Der Markt für Hausautomation ist mit teuren Konsumentensystemen überflutet, die miteinander kompatibel und teuer sind Installieren. Wenn Sie einen Raspberry Pi und einen Arduino haben, können Sie im Grunde dasselbe bei… Read More erreichen, das ein breites Spektrum an Technologien verwendet, um die Beleuchtung seines Hauses zu steuern.
Bruce verwendet alles aus MongoDB (das von Taylor Bolduc hier fachmännisch erklärt wurde.) Wie eine MongoDB-Datenbank Ihre Daten besser organisieren kann Wie eine MongoDB-Datenbank Ihre Daten besser organisieren kann MongoDB (von "humongous") ist eine plattformübergreifende, dokumentenorientierte Datenbank, die als verwendet wird Eine Alternative zu MySQL, aber was bedeutet das? Lesen Sie mehr) zum JavaScript-Webentwicklungs-Framework NodeJS Was ist Node.JS und warum sollte ich mich darum kümmern? [Webentwicklung] Was ist Node.JS und warum sollte ich mich darum kümmern? [Webentwicklung] 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 so viel mehr. Wenn… Weiterlesen, zu Arduino. Aber im Zentrum von allem stehen Linux und der Raspberry Pi.
Aufgrund des multidisziplinären Charakters dieses Projekts wird Ihr Kind mit verschiedenen Aspekten der Informatik vertraut gemacht, darunter JavaScript, Systemadministration und Elektronik.
Wenn Sie noch nicht mit dem Raspberry Pi herumgespielt haben und nach einem einfacheren Projekt suchen, in dem Sie Ihre Milchzähne versenken können, sollten Sie Christian Crawleys Raspberry Pi Wireless-Drucker in Erwägung ziehen, Ihren eigenen Wireless-Drucker mit einem Himbeer-Pi herzustellen Drucker mit einem Raspberry Pi Weniger Kabel, Flexibilität hinsichtlich der Platzierung Ihres Druckers - drahtloses Drucken ist eine Win-Win-Situation. Es sei denn, Sie haben einen älteren Drucker. Himbeer-Pi zur Rettung! Weiterlesen .
Bauen Sie einen Twitter-Bot
Es ist kein Geheimnis. Ich bin ein großer Fan der Programmiersprache Python.
Es ist einfach so leistungsstark und vielseitig, und das breite Angebot an Plugins und Bibliotheken bedeutet, dass Sie fast alles tun können.
Mit Python fühlen Sie sich wie ein Superheld. Denken Sie nur an etwas und die Chancen sind groß, dass Sie es mit Python bauen können. Aber ich spreche nicht nur von Spielen oder Raspberry Pi-Heimautomationssystemen. Sie können sogar Anwendungen erstellen, die auf vorhandenen Websites sozialer Netzwerke aufbauen.
Facebook. LinkedIn. Twitter Sie haben alle APIs (Application Programming Interfaces) Was sind APIs und wie sind offene APIs das Internet ändern Was sind APIs und wie sind offene APIs das Internet ändern Haben Sie sich jemals gefragt, wie Programme auf Ihrem Computer und die besuchten Websites "sprechen" zueinander? Weitere Informationen, mit denen Sie die Daten und Funktionen dieser Websites im Rahmen Ihrer eigenen Programme verwenden können. Sie können zunächst sehr einschüchternd sein. Aber sie sind es nicht.
Sie zu beherrschen, kann einige Stunden in Anspruch nehmen, aber wenn Sie erst einmal gelernt haben, eine bestimmte API zu verwenden, 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 Echtzeitzugriff auf jeden einzelnen Tweet bietet, jedoch mit einem steilen Preis, der Tausende von Dollar erreicht.
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, ohne jedoch garantiert zu sein, dass Sie jeden Tweet erhalten. Es gibt auch die Such-API, mit der Sie die Twitter-Datenbank durchsuchen können. Die Anzahl der Abfragen, die Sie erstellen können, ist jedoch stark eingeschränkt.
Die Streaming-API ist besonders interessant, da Sie Anwendungen erstellen können, die auf Tweets in Echtzeit reagieren. Es gibt unendlich viele Projekte, die Sie erstellen können.
Sie könnten zum Beispiel James Bruce Arduino-betriebenen LED-Würfel nehmen. Wie man einen pulsierenden Arduino-LED-Würfel herstellt, der so aussieht, als wäre er aus der Zukunft gekommen. Wie man einen pulsierenden Arduino-LED-Würfel herstellt, der so aussieht, als käme er aus der Zukunft Mit ein paar Anfänger-Arduino-Projekten beschäftigt, aber auf der Suche nach etwas dauerhaftem und auf einer ganz anderen Ebene fantastischem, dann ist der bescheidene 4 x 4 x 4 LED-Würfel… Lesen Sie mehr, und beleuchten Sie ihn, wenn jemand einen Tweet mit einem bestimmten Inhalt postet Wort. Oder Sie könnten einen Twitter-Bot erstellen, der Tweets verrät, wenn jemand Beiträge schreibt “Ich habe gerade angefangen, zuzusehen Game of Thrones“. Oder Sie können einen Bot erstellen, der auch die Wolfram Alpha API verwendet, um auf einfache Fragen zu antworten, wie z “Was ist die Hauptstadt von Burkina Faso?”.
Unter Linux können Sie die Twitter-APIs mit der bekannten Programmiersprache Python und die Tweepy-Bibliothek nutzen, die über den PIP-Paketmanager heruntergeladen werden kann. Öffnen Sie dazu einfach Ihre Befehlszeile und geben Sie Folgendes ein:
pip install tweepy
Wenn Sie den PIP-Paketmanager nicht installiert haben, machen Sie sich keine Sorgen. Sie können Tweepy auch manuell installieren. Dazu benötigen Sie Git, das installiert ist.
Git Klon https://github.com/tweepy/tweepy.git
cd tweepy
python setup.py installieren
Es gibt keinen Mangel an Online-Tutorials, in denen Sie die Verwendung von Tweepy lernen. Eines der besten, das ich gefunden habe, war auf PythonProgramming.net, das mit einem begleitenden Video-Tutorial geliefert wird.
Die Möglichkeiten sind endlos und da die Twitter-API mit Tweepy so einfach zu verwenden ist, benötigen Sie keinen Informatik-Abschluss. Sie müssen nur Python kennen und eine großartige Idee haben.
Erstellen Sie eine Website
Wenn Sie Ihrem Kind das Codieren beibringen und es fragen, was es machen soll, wird es wahrscheinlich eine mobile App sagen. So erstellen Sie ein iPhone-Spiel von Grund auf Wie erstellen Sie ein iPhone-Spiel von Grund auf Sie haben sich irgendwann gewünscht könnten eigene iPhone-Spiele erstellen. Es ist Zeit aufzuhören zu wollen und anfangen zu tun. Weiterlesen . Denn - mal ehrlich - welches Kind will nicht die nächste Flappy Bird machen Die kurze Geschichte von Flappy Bird [Unheimliches und wunderbares Web] Die kurze Geschichte von Flappy Bird [Seltsames und wundervolles Web] Nur wenige mobile Spiele treten in das kollektive Bewusstsein ein des Mainstreams, wie es Flappy Bird getan hat. Es geht in die Internet-Folklore über, aber diese Videos werden dazu beitragen, seine Viralität zu erhalten. Weiterlesen ? Aber danach sagen sie wahrscheinlich, dass sie eine Website erstellen wollen.
Das Problem ist, wenn Sie zum ersten Mal lernen, für das Web zu bauen, werden Sie mit schwindelerregenden Technologien konfrontiert. Sollten Sie den bewährten LAMP-Stack verwenden, der nur für SSH-Webhosting angemeldet ist? Machen Sie sich keine Sorgen - installieren Sie einfach alle Web-Software, die für das reine SSH-Webhosting angemeldet ist. Machen Sie sich keine Sorgen - Installieren Sie einfach jede Web-Software. Sie wissen nicht, was Linux über seine leistungsstarke Befehlszeile ausübt? Mach dir keine Sorgen mehr. Lesen Sie mehr, was Linux, Apache, MySQL und PHP verwendet? Oder vielleicht etwas moderner (und wage ich nicht, trendy zu sagen) wie Ruby on Rails, Flask oder Node.js?
Was noch schlimmer ist, dieses breite Technologiebündel kann als Gesellencodierer unglaublich ablenkend wirken, wenn Sie mit dem Fokus eines Labrador Retriever zwischen Rahmen und Sprache wechseln.
Es ist viel zum Mitnehmen.
Aber ich denke, es ist wichtig zu wissen, dass das Erlernen der Erstellung von Websites grundlegend ist multidisziplinär.
Die Grundlage jeder Website ist HTML. Dann machen Sie es mit einem liberalen Spritzen von CSS gut. Sobald Sie die grundlegenden Bausteine aufgehoben haben, fügen Sie Interaktivität und Dynamik hinzu. Sie lernen, wie Sie HTML und CSS mit JavaScript und JQuery animieren.
Dann erfahren Sie etwas über Persistenz und die Notwendigkeit, Dinge in einer Datenbank zu speichern, um sie später abzurufen. So lernen Sie etwas über MySQL und vielleicht auch über MongoDB. Sie lernen Schemata, Atomisierung und Beziehungen kennen.
Dann lernen Sie, alles mit einer serverseitigen Programmiersprache wie PHP, Python, JavaScript (mit Node.js) oder Ruby zu verknüpfen und auf einem Server (häufig Linux) zu hosten, der dafür fachkundig konfiguriert werden muss Stellen Sie sicher, dass es sicher und zuverlässig bleibt.
Ich versuche zu sagen, dass das Erlernen des Aufbaus von Websites ein multidisziplinärer Prozess ist, der davon abhängt, dass die Person einen "Stapel" von völlig unterschiedlichen Technologien lernt und diese dann geistig miteinander verbindet und versteht, wie sie im Verhältnis zueinander arbeiten.
Um Ihrem Kind HTML, CSS und JavaScript beizubringen, lassen Sie es sich bei CodeAcademy Codecademy - Hands Down der einfachste Codecademy - Hands Down - der einfachste Codecademy Codecademy ist ein neues Tutorial zum interaktiven Programmieren, das Sie durch die Grundlagen von führt JavaScript. Obwohl es noch nicht so lange her ist, hat die Seite bereits viel Aufmerksamkeit auf… Lesen Sie weiter, was jede dieser Technologien durch interaktive Herausforderungen erklärt. Ich habe herausgefunden, dass dies die Motivation aufrechterhält, da Sie sofort Ergebnisse und Feedback erhalten.
Natürlich kann CodeAcademy etwas so umfangreiches und komplexes wie CSS oder JavaScript nicht umfassend vermitteln. Dafür müssen Sie Ihrem Kind gutes Referenzmaterial vorstellen. Ich würde W3Schools vermeiden, von denen bekannt ist, dass sie fehlerhafte oder falsche Informationen enthalten. Das Mozilla Developer Network ist eine gründliche, genaue und ansprechbare Anleitung zu allen Themenbereichen HTML, CSS und JavaScript und wird dringend empfohlen.
Wenn Sie sich für eine Back-End-Technologie entscheiden, würde ich Ihr Kind dazu ermutigen, PHP zu lernen, das eine sanfte Lernkurve hat. Dafür gibt es eine Menge Dokumentation. Außerdem ist die Installation eines LAMP-Servers auf Ubuntu lediglich eine Frage oder die Eingabe von 'sudo apt-get install lamp-server ^'..
CodeAcademy bietet einen PHP-Kurs an. Tuts + und Lynda auch. Alle sind großartig. Obwohl ich persönlich Larry Ullmans empfehlen würde PHP und MySQL für dynamische Websites, das zum Zeitpunkt des Schreibens ist für $ 28.90 bei Amazon erhältlich. Ich besitze selbst eine Kopie und habe festgestellt, dass es ein zugänglicher, zugänglicher Leitfaden für die Webentwicklung mit der Programmiersprache PHP ist.
Ich habe keinen Zweifel, dass ein durchschnittlicher Teenager den Inhalt dieses Buches verstehen kann.
Andernfalls hat MakeUseOf einen Leitfaden zu PHP (geschrieben von Ihrem wirklich) veröffentlicht, den Sie hier kostenlos lesen können. Mit PHP bauen: Ein Crash-Kurs Mit PHP bauen lernen: Ein Crash-Kurs PHP ist die Sprache, die Facebook und Wikipedia verwenden Milliarden Anfragen täglich zu liefern; die de-facto-Sprache, die zum Unterrichten von Web-Programmierern verwendet wird. Es ist wunderschön einfach, aber genial kraftvoll. Weiterlesen .
Aber vor allem, vermitteln Sie Ihrem Kind, dass das Lernen für das Web zu bauen ein ist Lernprozess, und eine, die Zeit und Hingabe braucht. Um Ihr Kind motiviert zu halten, möchten Sie möglicherweise ein Projekt festlegen, auf das Sie hinarbeiten können.
Es gibt viele einfache Websites, die von einem Lernerentwickler erstellt werden können. Vielleicht ein Gästebuch oder eine Microblogging-Site wie Twitter.
Einer der am meisten übersehenen Aspekte des Codelernens ist das Feedback. Sobald sie etwas gebaut haben, sollten Sie sie davon überzeugen, sie bei Github mitzuteilen, damit erfahrene Entwickler Kritik üben und Anleitungen bieten können. Das Lernprogramm Subreddit ist dafür auch ziemlich gut.
Und dann können Sie Ihrem Kind vielleicht beibringen, wie es seine eigenen Linux-Webserver hostet und verwaltet, indem Sie ein Digital Ocean-Droplet erwerben. DigitalOcean: Der beste nicht verwaltete VPS-Host für Neueinsteiger DigitalOcean: Der beste nicht verwaltete VPS-Host für Einsteiger Wenn Sie ein VPS-Hosting benötigen und Sie möchten Wenn Sie die gesamte Serververwaltung selbst durchführen möchten, ist DigitalOcean die beste Option. Lesen Sie mehr, was nur 5 Dollar pro Monat kostet.
Besuchen Sie einen Code Club
Okay, ich betrüge hier.
Das ist kein Projekt, an sich. Wenn Sie jedoch Ihrem Kind die Grundlagen des Computerspiels beibringen möchten, und dies auf strukturiertere, sozialere Weise tun möchten, sollten Sie es in einen Code-Club bringen.
Die Verfügbarkeit hängt natürlich von Ihrem Wohnort ab. In Großbritannien gibt es Code Club, ein gemeinnütziger Verein, der Kinder im Alter von 9 bis 11 Jahren in Code einführen soll. Code Clubs gibt es in den meisten größeren Städten und Gemeinden, wobei der Unterricht in „Begriffen“ organisiert wird. Jeder Begriff vermittelt eine andere Facette des Programmierens wie Scratch, HTML und CSS und Python, wobei der Kursinhalt mit dem Fortschreiten der einzelnen Begriffe immer komplexer wird.
Code Clubs nutzen häufig Raspberry Pis und Linux, da sie im Vergleich zu herkömmlichen Computern extrem günstig zu erwerben sind.
Aber was ist mit dem Teich??
Amerika hat viel zu viele Code Club-like Organisationen in einem Artikel zu erwähnen. Aber es gibt einige, die auffallen.
The Gates and Zuckerberg finanzierte Code.org ist am bekanntesten für seine Stunde des Codes Dieses Projekt versucht Erwachsene und Kinder dazu zu bringen, eine Stunde im Jahr damit zu lernen, Code zu lernen. Aber wussten Sie, dass es eine nahezu umfassende Liste von Informatikkursen in den USA gibt, von denen viele in Bibliotheken, Gemeindezentren und Schulen zur Verfügung stehen?
Aber ich wäre zurückhaltend, wenn ich nicht den brillanten Black Girls Code erwähnen würde, der wirklich wichtige Arbeit leistet. Sie versuchen, der schändlichen ethnischen und geschlechtsspezifischen Diskrepanz im Bereich STEM (Wissenschaft, Technologie, Ingenieurwesen und Mathematik) zu begegnen, indem sie schwarzen Mädchen in den gesamten USA kostenlose Informatikkurse anbieten. Je nach Verfügbarkeit sind Klassen in einer Reihe von größeren Städten verfügbar. Weitere Informationen finden Sie auf der Black Girls Code-Website.
Zeit zum Code
Okay Leute. Der Sommer ist offiziell hier. Die Schulen haben entweder geschlossen oder schließen. Was wirst du machen? Bringst du sie zu einem Code-Club oder gibst du ihnen einen Himbeer-Pi und siehst, wo ihre Fantasie sie hinführt?
So oder so möchte ich davon erfahren. Schreiben Sie mir unten einen Kommentar und lassen Sie es mich wissen.
Bildnachweise: HTML-Code (Marjan Krebeji), PHP-Code (Bull3t Hughes), Lerne die Verwendung des Laptops über Shutterstock
Erfahren Sie mehr über: Linux, Python, Scratch.