
Lesley Fowler
0
2670
721
To jest oficjalne. Według słów legendy glam rocka Alice Cooper, szkoła jest na lato.
Nie ma już klasy. Nigdy więcej prowadzenia szkoły. Nigdy więcej pracy domowej. Tylko długie, niekończące się letnie dni, które pozornie ciągną się w nieskończoność. Ale w jaki sposób zajmujesz dziecko podczas długich letnich miesięcy? Być może, co ważniejsze, w jaki sposób utrzymujesz swoje dziecko zajęte i rozrywkowe, ucząc je ważnych umiejętności zawodowych, takich jak informatyka?
Jeśli szukasz inspiracji, nie martw się. Mam cię objęte. Zapoznaj się z tymi sześcioma projektami, które nauczą Twoje dziecko podstaw obsługi komputera, z Linuksem w centrum ich wszystkich.
Zbuduj grę lub aplikację na telefon za pomocą Kivy
Język programowania Python jest ulubionym wprowadzającym językiem programowania nauczanym na lekcjach informatyki w USA i Wielkiej Brytanii, dzięki jego nieskomplikowanej składni i łatwości, z której można się go nauczyć. Jedną z zalet Pythona nad innymi językami - jak MIT's Scratch (przejdziemy do tego później) - jest bogata oferta wtyczek i bibliotek.
Biblioteki służą do rozszerzania funkcjonalności programu. Istnieją setki tysięcy z nich dla Pythona. Jedną z popularnych bibliotek jest Kivy, która umożliwia tworzenie gier i aplikacji na komputery stacjonarne i urządzenia mobilne.
Dzięki Kivy możesz zbudować zaawansowaną grę mobilną na iOS i Androida - taką jak Pong - z zaledwie kilkuset liniami kodu. Możesz nawet tworzyć gry i aplikacje komputerowe dla systemów Windows, OS X i Linux.
A ponieważ jest to Python, nadal używasz tej samej, delikatnej składni, której Twoje dziecko prawdopodobnie nauczyło się w szkole.
Dobrym punktem wyjścia do nauki Kivy jest oficjalna dokumentacja Kivy, w której zbudowano prostą grę w Ponga. Tutaj możesz dowiedzieć się, jak za pomocą kilku linii kodu możesz umieszczać obiekty na ekranie, kontrolować fizykę gry, a nawet śledzić wyniki.
Ta gra demo jest licencjonowana na licencji MIT - bezpłatnej, liberalnej licencji na oprogramowanie, która umożliwia wprowadzanie modyfikacji i kopii - dzięki czemu możesz przekształcić ją we własną grę i udostępnić ją online bez uprzedniego pytania o zgodę. Możesz nawet budować aplikacje dla Androida i dystrybuować swoją grę Kivy w sklepie Apple App Store. Ale aby uzyskać bardziej samouczek dla Kivy, zapoznaj się z wykładem PyCon Montreal z Richarda Jonesa.
Instalacja Kivy w systemie Linux jest łatwa. Jeśli używasz dystrybucji opartej na Debianie, zrób to.
sudo add-apt-repository ppa: kivy-team / kivy
sudo apt-get install python-kivy
Instrukcje dotyczące instalacji Ubuntu dla OpenSUSE, Gentoo i Fedory można znaleźć tutaj.
Naucz się podstaw kodu od podstaw
Jeśli masz młodsze dziecko, które jeszcze nie wzięło formalnej lekcji informatyki, i chcesz je wprowadzić do programowania, możesz rozważyć zainstalowanie Scratch - dostępnej dla systemów OS X, Windows i Linux.
Scratch Jak uczyć programowanie dzieci od zera! Jak uczyć programowanie dzieci od zera! nie jest językiem programowania, który da ci lukratywną karierę programistyczną Jak wybrać język programowania, aby nauczyć się dzisiaj i uzyskać świetną pracę za 2 lata Jak wybrać język programowania, aby nauczyć się dzisiaj i uzyskać świetną pracę za 2 lata It może zająć lata poświęconej pracy, aby stać się naprawdę dobrym programistą; więc czy istnieje sposób, aby wybrać odpowiedni język, aby zacząć od dziś, aby jutro zostać zatrudnionym? . Ale to dobrze. To nie jest do tego przeznaczone. Raczej służy do nauczania podstawowych pojęć związanych z informatyką.
Scratch to wizualny język programowania, więc zamiast wpisywać kod, przeciągasz bloki konstrukcyjne w celu tworzenia prostych programów. Jest to prosty i przystępny sposób na nauczenie dziecka, w jaki sposób budowane jest oprogramowanie, oraz na temat koncepcji programowania, takich jak warunkowe, iteracja i rekurencja.
Ale nie daj się zwieść uproszczonej naturze Scratch. To, że jest to łatwe, nie oznacza, że jesteś ograniczony w tym, co tworzysz. Ludzie zbudowali wszystko, od gier - takich jak gra w ponga dla wielu graczy - po animacje - jak kapryśna kartka z pozdrowieniami - po sztukę interaktywną.
Po ukończeniu arcydzieła możesz podzielić się nim z przyjazną społecznością Scratch online, która może przekazywać opinie i zachęty poprzez „polubienia” i komentarze.
A jeśli się nudzisz, możesz użyć Scratch, aby zbudować program Boi się programowania w kodzie? Wypróbuj Scratch dla Arduino, który boi się programowania w kodzie? Wypróbuj Scratch dla Arduino Scratch 4 Arduino pozwala początkującym, takim jak ja, tworzyć ekscytujące projekty Arduino z interfejsem wizualnym. To proste, fajne i nauczy Cię podstawowych elementów programowania. Projekty Internet of Things oparte na Arduino. Zgrabnie, prawda?
Kontroluj swój dom dzięki Raspberry Pi
Raspberry Pi to niewielki, niedrogi komputer wielkości karty kredytowej z systemem Linux. Nawiasem mówiąc, jest on również w stanie uruchomić uproszczoną wersję systemu Windows 10 Windows 10 - zbliża się do Arduino w pobliżu? Windows 10 - zbliżasz się do Arduino w pobliżu? , zaprojektowany dla budownictwa Internet przedmiotów projektowanie.
Pi jest wszechstronną bestią, która wielokrotnie pokazała, że jest w stanie uruchomić wszystko, od instalacji artystycznych, przez serwery sieciowe, a nawet serwery Minecraft.
Jedną z aplikacji dla Raspberry Pi, która przykuła moją uwagę, był projekt automatyki domowej Jamesa Bruce'a Przewodnik po automatyzacji domu z Raspberry Pi i Arduino Przewodnik po automatyzacji domu z Raspberry Pi i Arduino Rynek automatyki domowej jest zalany drogimi systemami konsumenckimi, niekompatybilnymi ze sobą i kosztownymi zainstalować. Jeśli masz Raspberry Pi i Arduino, możesz w zasadzie osiągnąć to samo w…, który wykorzystuje szeroki wachlarz technologii do sterowania oświetleniem swojego domu.
Bruce używa wszystkiego z MongoDB (co zostało fachowo wyjaśnione przez Taylor Bolduc tutaj) Jak baza danych MongoDB może lepiej uporządkować twoje dane Jak baza danych MongoDB może lepiej uporządkować twoje dane MongoDB (z „humongous”) to wieloplatformowa, zorientowana na dokumenty baza danych używana jako alternatywa dla MySQL. Ale co to znaczy?), dla środowiska programistycznego JavaScript JavaScript NodeJS Co to jest Node.JS i dlaczego powinienem się tym przejmować? [Web Development] Co to jest Node.JS i dlaczego powinienem się tym przejmować? [Web Development] JavaScript to tylko język programowania po stronie klienta, który działa w przeglądarce, prawda? Nigdy więcej. Node.js to sposób na uruchomienie JavaScript na serwerze; ale to także o wiele więcej. Jeśli… do Arduino. Ale w centrum wszystkiego jest Linux i Raspberry Pi.
Wielodyscyplinarny charakter tego projektu oznacza, że zapozna Twoje dziecko z wieloma aspektami informatyki, takimi jak JavaScript, administracja systemami i elektronika.
Jeśli nie bawiłeś się wcześniej z Raspberry Pi i szukasz prostszego projektu, w którym możesz zatopić swoje mleczne zęby, zastanów się nad bezprzewodową drukarką Raspberry Pi Christiana Crawleya Stwórz własną drukarkę bezprzewodową z Raspberry Pi Stwórz własną bezprzewodową Drukarka Z Raspberry Pi Mniej kabli, elastyczność co do miejsca, w którym można umieścić drukarkę - drukowanie bezprzewodowe jest korzystne dla wszystkich. Chyba że masz starszą drukarkę. Raspberry Pi na ratunek! .
Zbuduj Bot na Twitterze
Nie jest tajemnicą, że jestem wielkim fanem języka programowania Python.
Jest tak potężny i wszechstronny, a szeroka oferta wtyczek i bibliotek oznacza, że możesz zrobić prawie wszystko.
Python sprawia, że czujesz się jak superbohater. Pomyśl o czymś, a szanse są duże, że możesz to zbudować za pomocą Pythona. Ale nie mówię tylko o grach lub systemach automatyki domowej Raspberry Pi. Możesz nawet tworzyć aplikacje oparte na istniejących portalach społecznościowych.
Facebook. LinkedIn. Świergot. Wszystkie mają interfejsy API (interfejsy programowania aplikacji) Co to są interfejsy API i jak są otwarte interfejsy API zmieniające Internet Co to są interfejsy API i jakie są otwarte interfejsy API zmieniające Internet Czy zastanawiałeś się kiedyś, jak programy na twoim komputerze i odwiedzane strony internetowe „mówią” do siebie? które umożliwiają korzystanie z danych i funkcjonalności tych witryn w ramach własnych programów. Na początku mogą być dość onieśmielające. Ale nie są.
Opanowanie ich może zająć kilka godzin pracy, ale gdy nauczysz się korzystać z konkretnego interfejsu API, będziesz w stanie zrobić niesamowite rzeczy.
Weźmy na przykład Twittera, który umożliwia programistom dostęp do ich danych za pośrednictwem trzech oddzielnych interfejsów API. Istnieje interfejs Firehose API, który oferuje nieograniczony dostęp w czasie rzeczywistym do każdego tweeta, ale ma wysoką cenę, sięgającą tysięcy dolarów.
Istnieją również dwa interfejsy API, z których można korzystać bezpłatnie. Twitter ma Streaming API, który pozwala śledzić tweety w czasie rzeczywistym, ale bez gwarancji, że dostaniesz każdy tweet. Istnieje również interfejs API wyszukiwania, który pozwala przeszukiwać bazę danych na Twitterze, ale liczba zapytań, które możesz wykonać, jest poważnie ograniczona.
Streaming API jest szczególnie interesujący, ponieważ możesz budować aplikacje, które mogą reagować na tweety w czasie rzeczywistym. Istnieje nieskończona ilość projektów, które możesz zbudować.
Możesz na przykład wziąć kostkę LED Jamesa Bruce'a zasilaną Arduino Jak zrobić pulsującą kostkę LED Arduino, która wygląda na to, że pochodzi z przyszłości Jak zrobić pulsującą kostkę LED Arduino, która wygląda na to, że pochodzi z przyszłości Jeśli masz zajęty niektórymi początkującymi projektami Arduino, ale szukają czegoś trwałego i na zupełnie innym poziomie niesamowitości, wtedy skromna kostka LED 4 x 4 x 4 jest… i podświetl ją, gdy ktoś opublikuje tweet zawierający określone słowo. Możesz też zbudować bota Twittera, który tweetuje spoilery za każdym razem, gdy ktoś publikuje posty “Właśnie zacząłem oglądać Gra o tron“. Możesz też zbudować bota, który również korzysta z interfejsu API Wolfram Alpha, aby odpowiedzieć na proste pytania, takie jak “jaka jest stolica Burkina Faso”.
W systemie Linux można korzystać z interfejsów API Twittera przy użyciu popularnego języka programowania Python oraz biblioteki Tweepy, którą można pobrać za pośrednictwem menedżera pakietów PIP. Aby go uzyskać, po prostu otwórz wiersz poleceń i wpisz:
pip zainstaluj tweepy
Jeśli nie masz zainstalowanego menedżera pakietów PIP, nie martw się. Możesz także zainstalować Tweepy ręcznie. Aby to zrobić, musisz zainstalować Git.
klon git https://github.com/tweepy/tweepy.git
tweepy cd
Python setup.py install
Nie brakuje tutoriali online, które nauczy Cię, jak korzystać z Tweepy. Jednym z najlepszych, jakie znalazłem, było na PythonProgramming.net, który zawiera dołączony samouczek wideo.
Możliwości są nieograniczone, a ponieważ Twitter API jest tak łatwy w użyciu z Tweepy, nie potrzebujesz stopnia z informatyki. Musisz tylko znać Python i mieć świetny pomysł.
Zbuduj stronę internetową
Jeśli nauczysz dziecko kodowania i zapytasz, co chce zrobić, prawdopodobnie powiedzą aplikację mobilną Jak stworzyć grę na iPhone'a od podstaw Jak stworzyć grę na iPhone'a od podstaw W pewnym momencie prawdopodobnie życzyłeś sobie może tworzyć własne gry na iPhone'a. Czas przestać marzyć i zacząć robić. . Ponieważ - spójrzmy prawdzie w oczy - czego dziecko nie chce, aby następny Flappy Bird Krótka historia Flappy Bird [Weird & Wonderful Web] Krótka historia Flappy Bird [Weird & Wonderful Web] Kilka gier mobilnych wchodzi do zbiorowej świadomości głównego nurtu, tak jak zrobił to Flappy Bird. Przechodzi w folklor internetowy, ale te filmy pomogą zachować jego wirusowość. ? Ale potem prawdopodobnie powiedzą, że chcą zbudować stronę internetową.
Problem polega na tym, że kiedy uczysz się budować dla Internetu, stajesz przed oszałamiającą gamą technologii. Czy powinieneś skorzystać ze sprawdzonego stosu LAMP Zarejestrowanego dla hostingu tylko przez SSH? Nie martw się - łatwa instalacja oprogramowania sieciowego zarejestrowanego na potrzeby hostingu wyłącznie przez SSH? Nie martw się - łatwa instalacja oprogramowania WWW Nie wiesz, co należy wiedzieć o obsłudze Linuksa za pomocą jego potężnego wiersza poleceń? Nie martw się więcej. , który wykorzystuje Linux, Apache, MySQL i PHP? A może coś bardziej nowoczesnego (i śmiem twierdzić, że jest modny), takiego jak Ruby on Rails, Flask lub Node.js?
Co gorsza, ten szeroki wachlarz technologii może być niezwykle rozpraszający, gdy jesteś programistą-czeladnikiem, gdy przechodzisz między frameworkami i językiem, skupiając się na Labrador Retriever.
To dużo do wzięcia.
Uważam jednak, że ważne jest, aby pamiętać, że nauka tworzenia stron internetowych jest czymś fundamentalnym interdyscyplinarny.
Podstawą każdej witryny jest HTML. Następnie poprawiasz wygląd dzięki liberalnemu rozpryskiwaniu CSS. Po opanowaniu podstawowych elementów konstrukcyjnych zaczniesz dodawać interaktywność i dynamizm. Zaczynasz nauczyć się animować HTML i CSS za pomocą JavaScript i JQuery.
Następnie dowiadujesz się o trwałości i potrzebie przechowywania rzeczy w bazie danych, aby móc je później odzyskać. Więc uczysz się o MySQL i być może MongoDB. Uczysz się o schematach, atomizacji i relacjach.
Następnie uczysz się wiązać to wszystko z językiem programowania po stronie serwera, takim jak PHP, Python, JavaScript (z Node.js) lub Ruby, i hostować go na serwerze (często Linux), który musi być skonfigurowany fachowo, aby upewnij się, że pozostaje bezpieczny i niezawodny.
Chodzi mi o to, że nauka tworzenia stron internetowych jest procesem multidyscyplinarnym, który zależy od osoby uczącej się „stosu” zupełnie różnych technologii, a następnie mentalnego wiązania ich ze sobą i zrozumienia, jak one działają w stosunku do siebie.
Aby nauczyć swoje dziecko HTML, CSS i JavaScript, poproś o zapisanie się do CodeAcademy Codecademy - Hands Down Najprostszy sposób na Code Codecademy - Hands Down Najłatwiejszy sposób na Code Codecademy to nowa strona internetowa interaktywnego samouczka programowania, który przeprowadzi Cię przez podstawy JavaScript. Chociaż nie trwało to długo, strona już generuje wiele szumu w…, co wyjaśnia każdą z tych technologii poprzez interaktywne wyzwania. Odkryłem, że jest to świetne do podtrzymywania motywacji, ponieważ otrzymujesz natychmiastowe wyniki i opinie.
Oczywiście CodeAcademy nie może kompleksowo uczyć czegoś tak dużego i złożonego jak CSS lub JavaScript. W tym celu musisz przedstawić swojemu dziecku dobry materiał referencyjny. Unikałbym W3Schools, o których wiadomo, że zawierają błędne - lub wręcz fałszywe - informacje. Mozilla Developer Network to dokładny, dokładny i przystępny przewodnik po wszystkich rzeczach związanych z HTML, CSS i JavaScript, i jest wysoce zalecany.
Jeśli chodzi o wybór technologii zaplecza, zachęcam twoje dziecko do nauki PHP, która ma łagodny przebieg nauki. Dostępnych jest wiele dokumentacji. Co więcej, instalacja serwera LAMP na Ubuntu to tylko kwestia lub wpisanie „sudo apt-get install lamp-server ^”.
CodeAcademy ma kurs PHP. Podobnie Tuts + i Lynda. Wszystkie są świetne. Chociaż osobiście poleciłbym Larry'ego Ullmana PHP i MySQL dla dynamicznych stron internetowych, który w momencie pisania jest dostępny za 28,90 USD na Amazon. Jestem właścicielem kopii i uważam, że jest to przystępny, przystępny przewodnik po tworzeniu stron internetowych w języku programowania PHP.
Nie mam wątpliwości, że przeciętny nastolatek byłby w stanie zrozumieć treść tej książki.
Jeśli tego nie zrobi, MakeUseOf opublikował przewodnik po PHP (naprawdę napisany przez Ciebie), dostępny tutaj do bezpłatnego przeczytania. Naucz się budować za pomocą PHP: kurs Crash Naucz się budować za pomocą PHP: kurs Crash PHP to język, którego używają Facebook i Wikipedia obsługiwać miliardy próśb dziennie; de facto język używany do nauczania programowania stron internetowych. Jest pięknie prosty, ale genialnie potężny. .
Ale przede wszystkim zaszczep swojemu dziecku, że nauka budowania dla Internetu jest proces uczenia, i który wymaga czasu i poświęcenia. Aby utrzymać motywację dziecka, możesz ustawić mu projekt, nad którym będzie mógł pracować.
Istnieje wiele prostych stron internetowych, które może zbudować programista uczący się. Być może księga gości lub witryna do mikroblogowania, taka jak Twitter.
Jednym z najczęściej pomijanych aspektów nauki kodowania jest informacja zwrotna. Gdy coś zbudują, rozważ przekonanie ich do udostępnienia ich w Github, aby bardziej doświadczeni programiści mogli krytykować i udzielać wskazówek. Subreddit Naucz się programowania jest do tego całkiem dobry.
A potem może naucz dziecko, jak hostować i zarządzać własnymi serwerami sieciowymi Linux, kupując im kropelkę Digital Ocean DigitalOcean: Najlepszy niezarządzany host VPS dla początkujących DigitalOcean: Najlepszy niezarządzany host VPS dla początkujących Jeśli potrzebujesz hostingu VPS i chcesz aby samodzielnie obsłużyć całą administrację serwera, oto dlaczego DigitalOcean jest najlepszą opcją. , który kosztuje zaledwie 5 USD miesięcznie.
Weź udział w klubie Code
Okej, oszukuję tutaj.
To nie jest projekt, jako taki. Ale jeśli chcesz nauczyć swoje dziecko podstaw korzystania z komputera i chcesz to robić w bardziej uporządkowany, społeczny sposób, powinieneś zabrać je do klubu kodowego.
Ich dostępność będzie oczywiście różna w zależności od miejsca zamieszkania. W Wielkiej Brytanii jest Klub kodów, organizacja non-profit, której celem jest nauczenie dzieci kodowania w wieku od 9 do 11 lat. Kluby Code można znaleźć w większości dużych miast, a czesne organizowane jest „w kategoriach”. Każdy termin uczy innego aspektu programowania, takiego jak Scratch, HTML i CSS oraz Python, przy czym treść kursu staje się coraz bardziej złożona w miarę postępu każdego terminu.
Kluby kodowe często korzystają z Raspberry Pis i Linux, ponieważ są niezwykle tanie w porównaniu do tradycyjnych komputerów.
A co z przeciwnikiem??
Ameryka ma o wiele za dużo Kod podobny do klubowego organizacje, o których należy wspomnieć w jednym artykule. Ale są takie, które się wyróżniają.
Code.org, finansowany przez Gates and Zuckerberg, jest najbardziej znany z tego Hour of Code projekt, którego celem jest zachęcenie dorosłych i dzieci do spędzania godziny w ciągu roku na nauce kodowania. Ale czy wiesz, że zawiera prawie kompleksową listę zajęć z informatyki dostępnych w USA, z wieloma dostępnymi w bibliotekach, domach kultury i szkołach?
Byłbym jednak niedoceniony, gdybym nie wspominał o genialnym Black Girls Code, który wykonuje naprawdę ważną pracę. Starają się zaradzić haniebnym różnicom etnicznym i płciowym w dziedzinie STEM (nauki ścisłe, technologia, inżynieria i matematyka), zapewniając bezpłatne zajęcia informatyczne czarnym dziewczynkom w całych Stanach Zjednoczonych. Zajęcia są dostępne w wielu dużych miastach, w zależności od dostępności. Więcej informacji na stronie Black Girls Code.
Czas na kod
Okej ludzie. Lato jest oficjalnie tutaj. Szkoły zostały zamknięte lub są zamykane. Co zamierzasz zrobić? Czy zabierzesz ich do klubu kodowego, czy dasz im Raspberry Pi i zobaczysz, dokąd zaprowadzi ich wyobraźnia?
Tak czy inaczej, chcę o tym usłyszeć. Napisz komentarz poniżej i daj mi znać.
Zdjęcie: Kod HTML (Marjan Krebeji), Kod PHP (Bull3t Hughes), nauka korzystania z laptopa przez Shutterstock