Bilo je subotnje poslijepodne u svibnju i odjednom sam shvatio da je sljedećeg dana Majčin dan, a nisam svojoj majci nabavio ništa, pa sam počeo razmišljati što bih trebao svojoj majci pokloniti za Majčin dan? Pomislio sam, zašto joj ne bih napravio interaktivnu čestitku koristeći Scratch softver koji sam razvijao sa svojom istraživačkom grupom na MIT-u? Razvili smo ga tako da ljudi mogu lako stvoriti vlastite interaktivne priče, igre i animacije, te ih međusobno dijeliti. Pomislio sam kako bi ovo bila prilika za korištenje Scratcha da napravim interaktivnu čestitku za moju mamu. Prije nego li sam ju napravio, pomislio sam pogledati na stranicu Scratcha. Tijekom zadnjih nekoliko godina, klinci diljem svijeta od 8 godina na dalje, su dijelili svoje projekte, i zapitao sam se je li itko od tih 3 milijuna ljudi podijelio svoju čestitku za Majčin dan. U tražilicu sam upisao "Majčin dan" i bio iznenađen i obradovan vidjeti popis desetaka i desetaka čestitki za Majčin dan koji se pojavio na stranici Scratcha, mnogo njih u zadnjih 24 sata od kampanjaca baš poput mene. Počeo sam ih gledati. (Glazba) Vidio sam jednu koja je prikazivala macu i njenu mamu kako joj čestita Majčin dan. Autor je vrlo obzirno ponudio ponovnu reprodukciju za svoju mamu. Sljedeća je bila interaktivni projekt u kojem, kada pomaknete miš preko slova iz "Sretan Majčin dan", otkrijete slogan za Majčin dan. (Glazba) U ovome je autorica izrekla pripovijest o tome kako je morala 'guglati' da sazna kada je Majčin dan. (Tipkanje) I kada je saznala kada je Majčin dan, poslala je majci posebnu poruku o tome koliko ju voli. Uživao sam gledajući ove projekte i sudjelujući u njima. Ustvari, toliko su mi se svidjeli, da sam, umjesto da napravim svoj projekt, poslao mami linkove desetaka ovih projekata. (Smijeh) I zapravo, reagirala je upravo onako kako sam se i nadao da hoće. Vratila mi je porku i rekla "Ponosna sam što imam sina koji je stvorio softver koji dopušta ovoj djeci da naprave čestitke za Majčin dan svojim majkama." Dakle moja mama je bila sretna, stoga sam bio i ja. no zapravo sam bio i sretniji zbog još jednog razloga. Bio sam sretan jer su ovi klinci koristili Scratch upravo na način na koji smo se nadali da hoće. Dok su stvarali interaktivne čestitke za Majčin dan, vidjelo se da su stvarno postajali tečni s novim tehnologijama. Što mislim pod tečni? Mislim da su postali sposobni izražavati sebe i svoje ideje. Kada neki jezik pričate tečno, to znači da možete napisati unos u svoj dnevnik ili reći vic nekome ili napisati pismo prijatelju. Slično je s novim tehnologijama. Pišući, stvarajući ove interaktivne čestitke za Majčin dan, ovi klinci pokazuju da stvarno postaju tečni u novim tehnologijama. Možda vas ovo neće iznenaditi, jer ljudi često imaju osjećaj da današnja mladež može raditi štošta s tehnologijom. Svi smo čuli da se o mladeži priča kao o "digitalnim domorocima". No skeptičan sam u vezi ovog termina. Nisam siguran bismo li ih trebali tako zvati. Kada bolje pogledate, kako to točno mladi provode vrijeme s novim tehnologijama? Često ih vidite u ovakvim situacijama ili ovakvim, i nema dvojbe da su mladi dobro upoznati sa surfanjem i dopisivanjem i igranjem. No to vas ne čini tečnim. Današnji mladi ljudi imaju mnogo iskustva i dobro su upoznati s interakcijom u novim tehnologijama, no mnogo manje novih tehnologija stvaranju i manje izražavju sebe novim tehnologijama. Gotovo kao da mogu čitati ali ne i pisati s novim tehnologijama. I zanima me kako možemo pomoći mladima da postanu tečni tako da mogu pisati s novim tehnologijama. To stvarno znači da moraju znati pisati vlastite računalne programe, odnosno programirati. Ljudi povećano počinju prepoznavati važnost učenja programiranja. U nedavnim godinama, bilo je stotine novih organizacija i stranica koje pomažu mladima da programiraju. Pogledajte online i vidjet ćete mjesta poput Codecadamy i događaje poput CoderDojo i stranice poput Djevojke koje programiraju, ili Crnkinje programiraju. Čini se da se svi priključuju. Na početku ove godine, na prelasku u novu godinu, gradonačelnik New Yorka Micheal Bloomberg je donio novogodišnju odluku da će naučiti programirati u 2012. Nekoliko mjeseci kasnije, Estonija je odlučila da bi svi prvašići trebali naučiti programirati. To je potaknulo debatu u UK bi li djeca trebala učiti programirati. Nekima je od vas, kad čuju za ovo, čudno da svi uče programirati. Kada ljudi razmišljaju o programiranju, razmišljaju o tome kao o nečemu što će raditi samo vrlo uska pod-zajednica ljudi i misle da programiranje izgleda ovako. I zapravo, ako programiranje izgleda ovako, i bit će samo uska zajednica ljudi s posebnim matematičkim vještinama i tehnološkom pozadinom koja može programirati. No programiranje ne mora izgledati ovako. Pokazati ću vam kako izgleda programiranje u Scratchu. U Scratchu, da biste kodirali, samo spajate djelove zajedno. U ovom slučaju, uzmete pomičan blok, spojite ga u grupu, a grupe blokova kontroliraju ponašanje drugačijih likova u vašoj igri ili priči, u ovom slučaju kontroliraju veliku ribu. Kada ste stvorili program, kliknete na "podijeli" i tada dijelite svoj projekt s drugim ljudima, te oni mogu koristiti projekt i početi raditi na vlastitom. Naravno, stvoriti ribu nije jedina stvar koju možete napraviti sa Scratchom. Od milijuna projekata na stranici Scratcha, postoji sve od animiranih priča do školskih projekata do anime sapunica do virtualnih kompleta za gradnju do ponovno stvorenih klasičnih video igara do anketa o političkom mišljenju do objašnjavanja trigonometrije do interaktivne umjetnosti, i, da, interaktivnih čestitki za Majčin dan. Mislim da postoji mnogo drugačijih načina na koji se ljudi mogu izraziti koristeći ovo, da mogu stvoriti svoje ideje i podijeliti ih sa svijetom. I ne staje samo na ekranu. Također možete programirati interakciju s fizičkim svijetom oko sebe. Ovo je primjer iz Hong Konga gdje su neki klinci napravili igru i stvorili svoj uređaj za fizičko sučeljavanje koje je imalo svjetlosni senzor, a svjetlosni senzor prepoznaje rupu u ploči te kada pomiču fizičku pilu, svjetlosni senzor detektira rupu i kontrolira virtualnu pilu na ekranu te prepili drvo. Nastavit ćemo gledati nove načine spajanja fizičkog i virtualnog svijeta te spanja svijeta oko nas. Ovo je primjer iz novije verzije Scratcha koju ćemo izdati u sljedećih par mjeseci i ponovno gledamo kako da vas guramo u novim smjerovima. Evo primjera. Koristi web kameru. Kako pomičem svoju ruku, mogu bušiti balone ili mogu pomicati kukca. Ponešto kao Microsoft Kinect, gdje interaktivno sudjelujete gestama. No umjesto da igrate nečiju tuđu igru, možete stvarati igre, i ako vidite nečiju tuđu igru možete samo reći "pogledaj unutra" i možete vidjeti grupe blokova koji ju kontroliraju. Postoji novi blok koji prikazuje koliko video pokreta ima, i onda, ako nema mnogo video pokreta, reći će balonu da pukne. Na isti način na koji koristi kameru da prenese informacije u Scratch, možete koristiti i mikrofon. Ovo je primjer projekta koji koristi mikrofon. Dat ću vam da upravljate ovom igrom koristeći svoje glasove. (Cvrčci) (Vikanje) (Smijeh) (Pljesak) Dok klinci stvaraju ovakve projekte, uče programirati, no još važnije, programiraju kako bi učili. Jer dok uče programirati, to im dopušta da nauče mnogo drugih stvari, otvara mnoge druge prilike za učenje. Opet, korisno je napraviti analogiju kroz čitanje i pisanje. Kada učite čitati i pisati, otvaraju se prilike za učenje toliko drugih stvari. Kada naučite čitati, možete čitati kako biste učili. Ista stvar je i s programiranjem. Ako naučite programirati, možete programirati kako biste učili. Neke stvari koje možete naučiti su ponešto očite. Možete više naučiti o tome kako računala funkcioniraju. No to je samo početak. Kada naučite programirati, otvaraju vam se pravci za učenje mnogih drugih stvari. Pokazat ću vam primjer. Evo još jednog projekta, a ovo sam vidio u posjeti jednom od računalnih klubova. To su izvan nastavni centri za učenje u kojima pomažemo mladim ljudima iz siromašnijih zajednica da se nauče izražavati novim tehnologijama. Kada sam bio u jednom klubu prije par godina, vidio sam 13-godišnjaka koji je koristio Scratch da bi stvorio igru ponešto poput ove, i bio je vrlo sretan i ponosan na svoju igru, no htio je napraviti više. Htio je pratiti rezultat. Ovo je bila igra u kojoj velika riba jede male ribe, no htio je pratiti rezultat tako da se svaki put kad velika riba pojede malu, rezultat poveća i prati, a on nije znao kako da to napravi. Pa sam mu pokazao. U Scratchu, možete stvoriti nešto što se zove varijabla. Zvat ću to rezultatom. To vam stvara neke nove blokove, i također stvara semafor koji prati rezultat, stoga svaki put kada kliknem na "promijeni rezultat", on utječe na njega. Pokazao sam to članu kluba -- nazovimo ga Viktor -- i Viktor je, kada je vidio da mu taj blok dopušta utjecaj na rezultat, točno znao što treba napraviti. Uzeo je blok i stavio ga u program točno tamo gdje velika riba jede malu. Tada, svaki put kada velika riba pojede malu, utječe na rezultat i on će se povećati. I to stvarno djeluje. Vidio je ovo i bio toliko uzbuđen da je ispružio ruku prema meni i rekao: "Hvala, hvala, hvala!" Ono što je prošlo kroz moju glavu je koliko učenici često zapravo zahvale svojim učiteljima što su ih naučili varijablama? (Smijeh) Ne događa se u većini učionica, no to je zato što u većini učionica, kada klinci uče o varijablama, ne znaju zašto ih uče. To nije ništa od čega zapravo imaju koristi. Kada učite ideje poput ove u Scratchu, možete ih naučiti na načine koji su vama stvarno značajni i motivirajući, kako bi razumjeli razlog zašto učiti varijable, i vidimo da ih klinci uče dublje i uče ih bolje. Viktora su, siguran sam, učili o varijablama u školi, no nije obraćao pozornost. Sada je imao razlog da nauči varijable. Kada učite kroz kodiranje, i kodirate kako biste učili, učite u značajnom kontekstu i zato je to najbolji način za učenje. Dok klinci poput Viktora stvaraju ovakve projekte, uče važne koncepte poput varijabli, a to je samo početak. Dok je Viktor radio na ovom projektu i stvarao skripta, također je učio proces dizajniranja, kako početi s iskrom ideje i pretvoriti ju u potpuni, funkcionirajući projekt poput ovoga koji vidite ovdje. Učio je mnogo drugačijih osnovnih principa dizajna kako eksperimentirati s novim idejama, kako kompleksne ideje razbiti na sastavne dijelove, kako surađivati s drugima na svojem projektu, i kako naći i popraviti greške kada stvari pođu ukrivo, kako ustrajati unatoč frustracijama kada stvari ne idu kako treba. To su važne stvari koje nisu važne samo za kodiranje. Važne su za mnogo drugačijih vrsta aktivnosti. Tko zna hoće li Viktor izrasti i postati programer ili profesionalni računalni znanstvenik. Vjerojatnost nije velika, no bez obzira što radi, moći će koristiti vještine koje je naučio. Bez obzira postane li menadžer marketinga ili mehaničar ili organizator zajednice, te su ideje korisne za sve. Ponavljam, korisno je koristiti analogiju s jezikom. Kada postanete tečni u čitanju i pisanju, to nije nešto što radite samo da postanete profesionalni pisac. Jako malo ljudi postane profesionalnim piscima. No korisno je za sve da nauče čitati i pisati. Ponovo, ista je stvar i s kodiranjem. Većina ljudi neće postati profesionalni računalni znanstvenici ili programeri, no vještine kreativnog razmišljanja, sistematskog rasuđivanja, suradnje -- vještine koje razvijate kada kodirate u Scratchu -- su stvari koje ljudi koriste nevezano što rade u svom poslovnom životu. I ne radi se samo o poslovnom životu. Kodiranje vam također omogućuje da izrazite svoje ideje i osjećaje u osobnom životu. Završit ću s još samo jednim primjerom. Ovo je primjer koji je došao nakon što sam poslao čestitke za Majčin dan svojoj mami, tada je mama odlučila da želi naučiti raditi u Scratchu. Napravila je ovaj projekt za moj rođendan i poslala mi čestitku za rođendan u Scratchu. Ovaj projekt neće osvojiti nagrade za dizajn, i možete biti sigurni da moja mama od 83 godine ne trenira da postane profesionalni programer ili računalni znanstvenik. No rad na ovom projektu joj je omogućio da se poveže s nekim do koga joj je stalo i omogućio da nastavi učiti nove stvari i nastavi vježbati svoju kreativnost i razvijati nove načine izražavanja. Kada pogledamo i vidimo da Micheal Bloomberg uči kodirati, sva djeca Estonije uče kodirati, čak i moja mama uči kodirati, ne mislite li da bi bilo vrijeme da razmislite da naučite i vi? Ako ste zainteresirani da pokušate, ohrabujem vas posjetite stranicu Scratcha, koja je scratch.mit.edu, i pokušate programirati. Puno vam hvala. (Pljesak)