
Harry James
0
2618
831
Službeno je. Po riječima glam rock legende Alice Cooper, škola ide na ljeto.
Nema više klase. Nema više trčanja u školi. Nema više domaćih zadaća. Samo dugi, beskrajni ljetni dani koji naizgled vuku zauvijek. Ali kako zadržati dijete tijekom tih dugih, ljetnih mjeseci? Možda je još važnije, kako se dijete zaokuplja i zabavlja dok im uči važnu karijersku vještinu, poput računanja?
Ako tražite inspiraciju, ne brinite. Obukao sam te. Pogledajte ovih šest projekata koji će vaše dijete naučiti osnovama računarstva, a u središtu svih im je Linux.
Izgradite aplikaciju za igru ili telefon s Kivy
Python programski jezik omiljeni je uvodni programski jezik koji se uči na satovima informatike u SAD-u i Velikoj Britaniji, zahvaljujući svojoj nekompliciranoj sintaksi i lakoći u kojoj se može učiti. Jedna od prednosti Pythona nad drugim jezicima - poput MIT-ove strugotine (o čemu ćemo doći kasnije) - je velika ponuda dodataka i knjižnica.
Biblioteke se koriste za proširenje funkcionalnosti programa. Postoje stotine tisuća njih za Python. Jedna popularna knjižnica je Kivy, koja omogućuje razvoj igara i aplikacija za radnu površinu i za mobilne uređaje.
Pomoću Kivyja možete izgraditi sofisticiranu mobilnu igru za iOS i Android - poput Pong - sa samo nekoliko stotina redaka koda. Možete čak i graditi desktop igre i aplikacije za Windows, OS X i Linux.
I zato što je to Python, i dalje upotrebljavate istu nježnu sintaksu koju je vaše dijete vjerojatno naučilo u školi.
Dobra polazišna točka za učenje Kivyja nalazi se na službenoj dokumentaciji za Kivy, gdje su izgradili jednostavnu igru Pong. Ovdje možete naučiti kako s nekoliko redaka koda možete postavljati predmete na zaslon, kontrolirati fiziku igre, pa čak i pratiti rezultate.
Ova demo igra licencirana je pod licencom MIT - besplatnom, dozvoljenom licencom softvera koja omogućuje izmjene i kopije - tako da je možete pretvoriti u svoju igru i dijeliti putem Interneta bez potrebe da prvo tražite dozvolu. Možete čak i izraditi Android APK-ove i distribuirati svoju igru Kivy u Appleovoj trgovini. No, za Kivy vodite više vodiča, pogledajte razgovor PyCon Montreala Richarda Jonesa.
Instaliranje Kivy-a na Linuxu je jednostavno. Ako koristite distrobijski uređaj temeljen na Debianu, učinite to.
sudo add-apt-repozitorij ppa: kivy-team / kivy
sudo apt-get install python-kivy
Upute o tome kako instalirati Ubuntu za OpenSUSE, Gentoo i Fedora možete pronaći ovdje.
S Scratchom naučite Osnove koda
Ako imate mlađe dijete koje tek treba položiti službenu lekciju informatike i želite ih upoznati s programiranjem, možda biste trebali razmotriti instaliranje programa Scratch - dostupno za OS X, Windows i Linux.
Kako naučiti djecu programiranju od nule! Kako naučiti djecu programirati od nule! nije programski jezik koji će vam donositi karijeru programiranja mogu potrajati godinama predanog rada da postane zaista dobar programer; pa postoji način da odaberete pravi jezik koji će početi od danas, kako bi se sutra zaposlili? , Ali to je u redu. Nije namjenjen za to. Umjesto toga, koristi se za podučavanje osnovnih pojmova koji stoje iza informatike.
Scratch je vizualni programski jezik, pa umjesto da tipkate kôd, povlačite i spuštate građevinske blokove da biste stvorili jednostavne programe. Ovo predstavlja jednostavan, pristupačan način da naučite dijete o tome kako je softver izgrađen i programskim konceptima kao što su uvjeti, iteracija i rekurzija..
Ali ne dopustite da vas pojednostavljena priroda Scratcha zavara. Samo zato što je lako, to ne znači da ste ograničeni u onome što stvarate. Ljudi su izgradili sve, od igara - poput multiplayer pong igre - do animacija - poput kapriciozne čestitke - do interaktivne umjetnosti.
I nakon što završite svoje remek djelo, možete ga podijeliti s dobrodošlicom Scratch zajednice na mreži, koja može pružiti povratne informacije i ohrabrenje putem „likeova“ i komentara.
A ako vam je dosadno, možete li koristiti Scratch za izradu straha od programiranja u Code? Pokušajte ispočetka za Arduino koji se boji programiranja u kodu? Isprobajte Scratch For Arduino Scratch 4 Arduino početnicima poput mene omogućuje izgradnju uzbudljivih Arduino projekata s vizualnim sučeljem. Jednostavno je, zabavno i naučit će vas temeljnim građevnim blokovima programiranja. Internetski projekti sa sjedištem u Arduinu. Uredno, točno?
Kontrolirajte svoj dom pomoću Raspberry Pi
Raspberry Pi je maleno, pristupačno računalo veličine kreditnih kartica koje može pokrenuti Linux. Usput, također može pokrenuti srušenu verziju sustava Windows 10 Windows 10 - Dolazite do Arduinoa u vašoj blizini? Windows 10 - Dolazite do Arduinoa u vašoj blizini? , dizajniran za izgradnju Internet stvari projekti.
Pi je svestrana zvijer, koja se u više navrata pokazala da je sposobna pokrenuti sve, od umjetničkih instalacija, web poslužitelja, pa čak i Minecraft servera.
Jedna aplikacija za Raspberry Pi koja mi je zapala za oko bila je James Bruceov projekt automatizacije kućanstva Vodič za automatizaciju kućanstava sa Raspberry Pi i Arduino Vodič za automatizaciju kućanstava s Raspberry Pi i Arduino Tržište kućne automatizacije preplavljeno je skupocjenim potrošačkim sustavima, nespojivim jedni s drugima i skupocjenim instalirati. Ako imate Raspberry Pi i Arduino, u osnovi možete postići istu stvar ..., koja koristi široku tehnologiju da kontrolira osvjetljenje njegove kuće.
Bruce koristi sve iz MongoDB-a (što je ovdje stručno objasnio Taylor Bolduc. Kako MongoDB baza podataka može bolje organizirati vaše podatke. Kako MongoDB baza podataka može bolje organizirati svoje podatke MongoDB (iz „humongous“) je multi-platforma baza podataka orijentirana na dokumente koja se koristi kao alternativa MySQL-u. Ali što to znači?), za JavaScript razvoj web okvira NodeJS Što je Node.JS i zašto bi me trebao zanimati? [Web Development] Što je Node.JS i zašto me treba zanimati? [Web Development] JavaScript je samo programski jezik na strani klijenta koji se izvodi u pregledniku, zar ne? Ne više. Node.js je način pokretanja JavaScripta na poslužitelju; ali tako je i mnogo više. Ako ..., Arduinu. No u središtu svega su Linux i Raspberry Pi.
Multidisciplinarna priroda ovog projekta znači da će vaše dijete upoznati s mnogim aspektima informatike, kao što su JavaScript, administracija sustava i elektronika..
Ako se ranije niste igrali s Raspberry Pi, a tražite jednostavniji projekt uranjanja mliječnih zuba, razmislite o bežičnom pisaču Christiana Crawleyja Raspberry Pi napravite vlastiti bežični pisač s maline Pi napravite svoj vlastiti bežični Pisač s Raspberry Pi Manje manje kabela, fleksibilnost o tome gdje možete staviti svoj pisač - bežični ispis je dobitni dobitak. Osim ako nemate stariji pisač. Raspberry Pi u pomoć! .
Izradite Twitter Bot
Nije tajna da sam veliki obožavatelj programskog jezika Python.
Jednostavan je i svestran, a široka ponuda dodataka i knjižnica znači da možete učiniti gotovo sve.
Python se osjeća kao superheroj. Zamislite nešto, a velike su šanse da to možete izgraditi s Python-om. Ali ne govorim samo o igrama ili o Raspberry Pi sustavima kućne automatizacije. Možete čak i graditi aplikacije koje se grade na postojećim web mjestima na društvenim mrežama.
Facebook. LinkedIn. Cvrkut. Svi oni imaju API (sučelje za programiranje aplikacija) što su API-i i kako se otvoreni API-i mijenjaju internet što su API-i i kako otvoreni API-i mijenjaju internet. Jeste li se ikad zapitali kako programi na vašem računalu i web stranice koje posjetite "razgovaraju" jedno drugom? koji vam omogućuju korištenje podataka i funkcionalnosti ovih web lokacija u okviru vaših programa. Oni u početku mogu biti prilično zastrašujući. Ali nisu.
Savladavanje istih može potrajati nekoliko sati rada, ali nakon što naučite kako koristiti određeni API, moći ćete napraviti neke nevjerojatne stvari.
Uzmimo za primjer Twitter, koji programerima omogućuje pristup njihovim podacima putem tri zasebna API-ja. Postoji Firehose API koji nudi neograničen pristup u stvarnom vremenu svakom pojedinom tvitu, ali dolazi s strmom cijenom koja doseže tisuće dolara.
Postoje i dva API-ja koja se mogu besplatno koristiti. Twitter ima Streaming API koji vam omogućuje praćenje tweetova u stvarnom vremenu, ali bez jamstva da ćete dobiti svaki tweet. Tu je i API za pretraživanje koji vam omogućuje pretraživanje baze podataka Twitter-a, ali količina upita koja možete postaviti je jako ograničena.
Streaming API posebno je zanimljiv jer možete izrađivati aplikacije koje mogu reagirati na tweetove u stvarnom vremenu. Postoji bezbroj projekata koje možete graditi.
Možete, primjerice, uzeti LED Brucku James Brucea s Arduino-om. Kako napraviti pulsirajuću Arduino LED kocku koja izgleda kao da dolazi iz budućnosti Kako napraviti pulsirajuću Arduino LED kocku koja izgleda kao da je došla iz budućnosti ako ste upućen u neke početničke Arduino projekte, ali traže nešto malo trajno i na nekoj drugoj razini fenomenalne, tada je skromna LED kocka 4 x 4 x 4… i osvjetljava je kad netko objavi tvit koji sadrži određenu riječ. Ili možete izraditi Twitter bot koji tweet spoilera kad god netko objavi “Upravo sam počeo gledati Igra prijestolja“. Ili možete izgraditi bot koji također koristi Wolfram Alpha API kako bi odgovorio na jednostavna pitanja “koja je prijestolnica Burkina Faso”.
Na Linuxu možete iskoristiti Twitter API-je koristeći popularni programski jezik Python i biblioteku Tweepy koji su dostupni za preuzimanje putem upravitelja paketa PIP. Da biste ga dobili, jednostavno otvorite svoju naredbenu liniju i utipkajte:
pip instalacija tweepy
Ako nemate instaliran upravitelj paketa PIP, ne brinite. Također možete instalirati Tweepy ručno. Da biste to učinili, trebat će vam instaliran Git.
git klon https://github.com/tweepy/tweepy.git
CD tweepy
instalirati python setup.py
Ne postoje nedostaci udžbenika na mreži koji će vas naučiti kako koristiti Tweepy. Jedan od najboljih koje sam pronašao bio je na PythonProgramming.net, koji dolazi uz prateći video tutorial.
Mogućnosti su beskrajne, a kako je Twitter API tako jednostavan za korištenje s Tweepy-om, ne treba vam diploma računalnih znanosti. Samo trebate znati Python i imati fantastičnu ideju.
Izradite web stranicu
Ako dijete naučite kodirati i pitati ga što želi napraviti, vjerojatno će reći mobilnu aplikaciju Kako stvoriti iPhone igru iz nule Kako stvoriti iPhone igru iz nule U jednom trenutku ste vjerojatno to željeli mogli napraviti vlastite iPhone igre. Vrijeme je da prestanete željeti i počnete raditi. , Jer - suočimo se s onim - što dijete ne želi napraviti sljedeću Flappy Bird Kratku priču o Flappy Bird [Weird & Wonderful Web] Kratka priča o Flappy Bird [Weird & Wonderful Web] Nekoliko mobilnih igara ulazi u kolektivnu svijest od glavnog toka na način kako je to učinila Flappy Bird. Prelazi u internetski folklor, ali ti će videozapisi pomoći u očuvanju njegove viralnosti. ? Ali nakon toga, vjerojatno će reći da žele izgraditi web stranicu.
Problem je kada se prvi put učite graditi za web, suočeni ste s vrtoglavim nizom tehnologija. Treba li koristiti isprobani LAMP stack prijavljen za web hosting samo za SSH? Ne brinite - lako instalirajte bilo koji web softver koji ste prijavljeni za web hosting samo za SSH? Ne brinite - laka instalacija bilo kojeg web softvera Ne znate prvu stvar o radu Linuxa putem njegove moćne naredbene linije? Ne brini više. , koji koristi Linux, Apache, MySQL i PHP? Ili možda nešto malo modernije (i, usudim se reći trendi) poput Ruby on Rails, Flask ili Node.js?
Što je još gore, ovaj široki paket tehnologija može vas nevjerojatno uznemiriti kad budete koder putnika, dok preletite između okvira i jezika sa svim fokusom labradora retrivera..
Puno je toga za uzeti.
Ali mislim da je važno zapamtiti da je učenje izrade web stranica u osnovi multidisciplinarna.
Temelj bilo koje web stranice je HTML. Zatim, izgledate dobro uz liberalno prskanje CSS-a. Nakon što ste oborili osnovne građevne blokove, započinjete dodavati interaktivnost i dinamičnost. Počinjete učiti kako animirati HTML i CSS sa JavaScript i JQuery.
Zatim učite o postojanosti i potrebi da pohranite stvari u bazu podataka kako biste ih kasnije kasnije ponovno preuzeli. Dakle, učite o MySQL-u, a možda i MongoDB-u. Učite o shemama, atomizaciji i odnosima.
Tada naučite sve to povezati zajedno sa programskim jezikom na strani poslužitelja, kao što su PHP, Python, JavaScript (s Node.js) ili Ruby, i ugostiti ga na poslužitelju (često Linuxu), koji se mora stručno konfigurirati kako bi se osigurajte da ostane siguran i pouzdan.
Poanta koju želim učiniti je da je učenje izrade web stranica multidisciplinarni proces, koji ovisi o osobi koja uči „hrpu“ divljih različitih tehnologija, a zatim ih mentalno veže, te razumijevanju njihovog funkcioniranja u odnosu jednih na druge.
Da biste dijete naučili HTML, CSS i JavaScript, prijavite se na CodeAcademy Codecademy - Ruke dolje Najlakši način za kodiranje Codecademy - Ruke dolje Najlakši način za kodiranje Codecademy je novi interaktivni programski vodič za crtanje web stranica koji vas vodi kroz osnove JavaScript. Iako nije prošlo jako dugo, stranica je već generirala veliku buzz…, što objašnjava svaku od tih tehnologija interaktivnim izazovima. Otkrio sam da je ovo sjajno za održavanje motivacije jer dobijete trenutne rezultate i povratne informacije.
Naravno, CodeAcademy ne može sveobuhvatno podučiti tako veliko i složeno kao CSS ili JavaScript. Za to morate upoznati svoje dijete s nekim dobrim referentnim materijalom. Izbjegavao bih W3Schools, za koje se zna da sadrže pogrešne - ili potpuno pogrešne - podatke. Mozilla Developer Network iscrpan je, precizan i pristupačan vodič za sve stvari HTML, CSS i JavaScript, a nudi se vrlo preporučeno.
Kada je riječ o izboru back-end tehnologije, potaknuo bih vaše dijete da nauči PHP koji ima nježnu krivulju učenja. Na raspolaganju je puno dokumentacije. I štoviše, instaliranje LAMP poslužitelja na Ubuntu samo je pitanje ili tipkanje "sudo apt-get install lamp-server ^".
CodeAcademy ima tečaj PHP-a. I Tuts + i Lynda. Svi su sjajni. Iako bih osobno preporučio Larryja Ullmana PHP i MySQL za dinamična web mjesta, koja je u trenutku pisanja na Amazonu dostupna za 28,90 dolara. I sama posjedujem kopiju i otkrila sam da je riječ o pristupačnom, dostupnom vodiču za web razvoj putem programskog jezika PHP.
Ne sumnjam da bi prosječan tinejdžer mogao shvatiti sadržaj ove knjige.
Ako to ne uspije, MakeUseOf je objavio vodič za PHP (napisao vaš istinski), dostupan za čitanje besplatno ovdje Naučite graditi s PHP-om: Crash Course naučiti graditi s PHP-om: Crash Course PHP je jezik koji Facebook i Wikipedia koriste svakodnevno služiti milijarde zahtjeva; de facto jezik koji se koristio za podučavanje web programiranju ljudi. Prekrasno je jednostavno, ali sjajno moćno. .
Ali prije svega, usadite svom djetetu da je učenje za izgradnju za web proces učenja, i ono koje zahtijeva vrijeme i predanost. Da biste dijete motivirali, možda biste mu željeli postaviti projekt na kojem mogu raditi.
Postoji puno jednostavnih web stranica koje bi mogao izraditi programer za učenike. Možda knjiga gostiju ili web mjesto za mikrobloge poput Twittera.
Jedan od najvažnijih aspekata učenja kodiranja je povratna informacija. Nakon što nešto naprave, razmislite o tome da ih uvjerite da to podijele na Githubu, tako da iskusniji programeri mogu kritizirati i ponuditi im upute. Podreddit Learn Programming također je prilično dobar za to.
A zatim, možda, naučite svoje dijete hostovanju i upravljanju vlastitim Linux web poslužiteljima kupujući im kapljicu Digital Ocean DigitalOcean: Najbolji neupravljani VPS domaćin za novorođenče DigitalOcean: Najbolji neupravljani VPS domaćin za novorođenče Ako vam treba VPS hosting i želite sami rješavati svu administraciju poslužitelja, evo zašto je DigitalOcean najbolja opcija. , koja košta samo 5 USD mjesečno.
Pohađajte Kodeks klub
Ok, varam ovdje.
Ovo nije projekt, po sebi. Ali ako želite svoje dijete naučiti osnovama računarstva, a želite to učiniti na više strukturiran, društveni način, onda biste ga trebali odvesti u kodni klub.
Naravno, raspoloživost ovih ovisit će ovisno o mjestu u kojem živite. U Velikoj Britaniji Code Club, neprofitna svrha koja ima za cilj djecu naučiti u dobi od 9 do 11 godina kodirati. Kodovi klubova mogu se naći u većini većih gradova i gradova, s podučavanjem koje je organizirano "pojmovima". Svaki se pojam podučava različitom aspektu programiranja, kao što su Scratch, HTML i CSS i Python, a sadržaj predmeta postaje sve složeniji kako napreduje svaki pojam..
Klubski klubovi često koriste Raspberry Pis i Linux zbog činjenice da ih je vrlo jeftino nabaviti u usporedbi s tradicionalnim računalima.
Ali što je s ribnjakom?
Amerike ima daleko, previše previše Šifra nalik klupskom organizacije koje treba spomenuti u jednom članku. Ali postoje neke koje se ističu.
Code.org, koji je financirao Gates i Zuckerberg, najpoznatiji je po tome Sat vremena projekt koji pokušava privući odrasle i djecu kako bi proveli jedan sat godišnje učeći kodirati. Ali jeste li znali da je domaćin gotovo sveobuhvatnog popisa predavanja iz informatike koji je dostupan u SAD-u, a mnogi su dostupni u knjižnicama, društvenim centrima i školama?
Ali bio bih otpušten ako ne bih spomenuo sjajan Code Black Girls, koji rade zaista važan posao. Pokušavaju riješiti sramotni etnički i rodni jaz u području STEM (znanosti, tehnologije, inženjerstva i matematike) pružanjem besplatnih satova informatike crnim djevojkama širom SAD-a. Nastava je dostupna u većini velikih gradova, ovisno o dostupnosti. Pogledajte web stranicu Black Girls Code za dodatne informacije.
Vrijeme za šifriranje
Ok ljudi. Ljeto je službeno ovdje. Škole su se ili zatvorile, ili se zatvaraju. Što ćeš učiniti? Hoćete li ih odvesti u kodni klub ili ćete im dati Raspberry Pi i vidjeti gdje ih vodi njihova mašta?
Bilo kako bilo, želim čuti za to. Ostavite mi komentar ispod i javite mi.
Foto-krediti: HTML Code (Marjan Krebeji), PHP Code (Bull3t Hughes), učenje korištenja prijenosnog računala putem Shutterstocka