25 Nov

Brezplačne delavnice programiranja CoderDojo, Django Girls in Rails Girls

V Sloveniji se že vsaj dve leti organizirajo brezplačni tečaji programiranja za osnovnošolce (CoderDojo) in začetnice programiranja (Django Girls in Rails Girls). V zadnjih dveh mesecih sem imel priložnost sodelovati kot mentor na vseh treh. Če ne poznate delavnic in vas zanima več informacij ali pa ste že slišali za vse tri in vas zanima, katera je za vas ali pa za vašega mulca, vam ponujam insajderske informacije iz vseh treh delavnic.

CoderDojo

CoderDojo je namenjen predvsem osnovnošolcem, čeprav se nam je pridružil kdaj tudi kakšen starejši. Za razliko od Rails Girls in Django Girls, delavnica poteka vsak teden ob petkih v Knjižnici Otona Zupančiča v Ljubljani ter vsako drugo soboto v mesecu v prostorih Zemante (Celovška cesta 32). CoderDojo je internacilnalno neprofitno gibanje, predano računalniškemu izobraževanju otrok. Poslanstvo je širjenje računalniške izobraženosti in pismenosti med mladimi. Izobraževanje poteka nekoliko drugače kot v šolah, saj si vsak udeleženec sam izbira naloge, ki jih bo opravljal. Naloga mentorjev je le, da na spletu najdejo primerne naloge ter odgovarjajo na vprašanja, ko je to potrebno. Večkrat je pred delavnico tudi kakšna krajša predstavitev neke računalniške tematike, ki pa običajno ne usmerja nadaljnjega poteka delavnice.

Udeleženci se sami odločijo, v katerem programskem jeziku želijo programirati. Najmlajši (od 5 let naprej) navadno sestavljajo in programirajo igre v okolju Scratch, starejši (do 14 let) pa že ustvarjajo spletne strani ter zapletenejše programe.

coderdojo.jpg

Figure 1: Sobotni CoderDojo

Django Girls

Za razliko od CoderDojo tečaja je Django Girls enodnevna delavnica. Je del internacionalne neprofitne organizacije, ki pomaga organizirati dogodke po celem svetu. Delavnica v Ljubljani (18. oktober 2014) je bila šele peti organizirani dogodek v okviru Django Girls v celem svetu. Nanj se je prijavilo skoraj 400 kandidatk, zaradi sredstev pa je bilo lahko sprejetih le 50. Iz preverjenih virov lahko napovem vsaj dva morebitna dogodka v letu 2015 v Mariboru in Kopru.

Udeleženke skozi spletni vodič v angleškem jeziku spoznajo najpomembnejše osnove programiranja v Pythonu ter spletno okolje Django. Poleg programiranja se spoznajo z različnimi računalniškimi koncepti (MVC/MVT, strežnik-odjemalec, …) in jezikoma HTML in CSS.

Poslanstvo delavnice je zvišati delež žensk v IT sektorju in pokazati, da niso le moški tisti, ki jih zanimajo računalniki in programiranje. Več o ideji in motivaciji za organizacijo tako Django Girls kot Rails Girls delavnic lahko slišite na TEDx talku ene od organizatork, Mateje Verlič.

Rails Girls

Rails Girls deluje na podobni osnovi kot Django Girls, le da je starejša organizacija in podobne koncepte predstavlja skozi programski jezik Ruby in okolje Ruby on Rails. V Sloveniji je bil prvi dogodek organiziran leta 2012 v Ljubljani. Delavnica je prav tako namenjena le ženski populaciji, ki se še nikoli ni srečala s programiranjem. Poteka v dveh dneh, prvi dan je t. i. Installation Party, kjer se udeleženke spoznajo z mentorji, ki jim pomagajo vzpostaviti razvojno okolje, drugi dan pa udeleženke programirajo. Poleg samih delavnic in motivacijskega predavanja so prisotna še kratka predavanja, ki spoznajo udeleženke z osnovnimi pojmi spletnega programiranja in spletnih tehnologij.

rails.jpg

Figure 2: Rails Girls Celje 2014

Razlike

V nadaljevanju bom poskušal opisati razlike, ki sem jih kot mentor opazil med delavnicami. CoderDojo sicer cilja na mlajšo publiko in bi mogoče pričakovali več razlik, vendar bomo videli presenetljivo veliko podobnosti. Razlike med Django Girls in Rails Girls so seveda manjše, vendar opazne in vredne razmisleka, katera od delavnic prinese udeleženkam več znanja in pogojev za nadaljnjo (samostojno) delo.

Način dela

Vsa predaja znanja temelji na spletnih vodičih ter znanju in izkušnjah mentorjev, ki niso bili (oz. ne v okviru delavnic) na nobenem predhodnem pedagoškem ali strokovnem izobraževanju. Tako je lahko mentor kdorkoli, ki mu organizatorji zaupajo, da bo primeren. CoderDojo mentorji smo predvsem študentje naravoslovnih fakultet, ki nas veseli delo z otroci. Skupina otrok je razdeljena na mlajše, ki delajo v Scratchu in starejše, ki sami izpolnjujejo spletne vodiče, mentorji pa hodimo okrog, preverjamo napredek in odgovarjamo na vprašanja. Tako lahko udeležencu tekom delavnice pomagamo različni mentorji z različnimi pogledi in področji, na katerih smo bolj ali manj strokovnjaki.

Pri Rails Girls in Django Girls pa skupino dveh ali največ treh udeleženk mentorira ena oseba skozi celotno delavnico. Mentorji smo študentje kot tudi profesionalni razvijalci, produktni vodje in celo direktorji podjetij. Način dela je skoraj v celoti odvisen od mentorja. V okviru Django Girls mentorji svoje udeleženke osebno ali virtualno spoznajo celo pred začetkom tečaja. Odnos je tako nekoliko bolj oseben in omogoča lažja povezovanja tudi kasneje.

Program

Najbolj prost (ne preprost) program ponuja CoderDojo, saj iz seznama nekaj deset spletnih vodičev otroci sami izbirajo naloge in poglavja v slovenščini in angleščini. Če imajo konkretne ideje ali vprašanja, jih mentorji spodbujamo, da jih poskusijo sami realizirati. Tako sem tudi pomagal pri idejah kot so spletna stran kemijskih elementov, tekstovni pretvornik enot, postavljen LAMP strežnik z WordPress blogom ipd. Najmlajši, ki delajo v okolju Scratch, pa najpogosteje programirajo igre popolnoma po lastni izbiri. Tako nastajajo najrazličnejše vsebine, otroci pa se celo še pred 10 letom učijo relativno zahtevnih konceptov, kot je recimo naključnost.

Nasprotno ima pa Django Girls točno določen vodič, po katerem udeleženke skozi naloge ustvarijo svoj spletni blog. Spoznajo koncepte arhitekture MVC (model – view – controller), HTML za prikaz vsebine in CSS za oblikovanje spletnega bloga. Vodič je za začetnike na določenih poglavjih dokaj zahteven, zato mora mentor včasih pogosteje in bolj podrobno razlagati kakšne koncepte (npr. regularni izrazi za iskanje po nizih). Po drugi strani pa vedno vsi počnejo isto in se tako lahko mentor bolje pripravi na vsebino. S programiranjem bloga se udeleženke ukvarjajo vsaj šest ur.

Rails Girls pa ponuja oboje. Najprej se skozi vodič sestavi spletna aplikacija za vpisovanje idej, kar vzame udeleženkam od dve do tri ure. Nato preostali čas (v Celju ga je ostalo štiri do pet ur, odvisno od hitrosti posameznih udeleženk) porabijo za nadgradnjo aplikacije. Prosto lahko izbirajo med raznoliko ponudbo konceptov in tehnologij, kot so oblikovanje spletne strani, objava strani v splet preko storitve Heroku, omogočanje komentiranja idej, uporabniške sličice (avatarji preko storitve Gravatar), registracija in prijava v aplikacijo itd. Določeni so konceptualno mogoče malo prezahtevni oz. ne doprinesejo ravno k večjemu razumevanju spletnih tehnologij, so pa po drugi strani nujno orodje za profesionalne spletne razvijalce: enotski testi (unit tests), avtomatsko objavljane strani (continious deployment) ipd.

Osebno mi je ravno Rails Girls program najbolj primeren za začetnike. Tudi pri CoderDojo ugotavljamo, da ima smisel udeležence predhodno malo izobraziti o neki skupni temi, jih angažirati za kakšne naloge, nato pa jim dopustiti, da sami raziskujejo in razvijajo naprej. Tako je kolega na zadnji sobotni delavnici pripravil nalogo v jeziku Python za risanje fraktalov. Izkaže se, da so aplikacije, ki ponujajo vizualne rezultate, najbolj priljubljene.

Termin

CoderDojo poteka enkrat mesečno na soboto, ostale tedne pa ob petkih, traja pa okoli tri do štiri ure. Rails Girls je dvodnevna delavnica, saj je prvi dan namenjen namestitvi potrebne programske opreme, drugi dan pa delavnici. Django Girls pa je enodnevna delavnica, kjer pa morajo udeleženke s pomočjo mentorjev predhodno namestiti vso potrebno programsko opremo.

Udeleženci

Udeleženci CoderDojo so večinoma stalni gostje, nekateri med njimi pa obiskujejo delavnico vsaj že dve leti. Vsi so, tako kot večina otrok, že kar spretni za računalnikom, motivirajo pa jih različne spletne vsebine: od hekanja do ustvarjanja iger in spletnih strani. Užitek je opazovati napredek udeležencev, ki so prišli brez kakršnegakoli predznanja in pogosto z napačno predstavo, kaj je računalništvo. Vendar vsem je skupna radovednost, ki jih motivira za nadaljnje delo.

Rails Girls in Django Girls so pa enkratne delavnice in tako ni stalnih gostov, saj je namenjena za popolne začetnice. Udeleženke so različnih starosti, od dijakinj do upokojenk. Udeležujejo se iz različnih razlogov, najpogostejši pa je iskanje novih priložnosti za zaposlitev. Na delavnici Django Girls sem mentoriro študentko fizike, ki se je iz čiste radovednosti želela bolj spoznati z računalništvom, ter uslužbenko, ki se sicer z računalništvom ne ukvarja, ampak se želi znebiti ozkega grla med njo in tehniki v podjetju.

Mentorstvo

Čeprav se naloga mentorjev med delavnicami ne razlikuje, je pa način dela edinstven pri vsaki od njih. Pri CoderDoju veliko časa porabim za motivacijo udeležencev, da laže sprostijo svojo igrivost v računalništvu. Ker večino udeležencev že poznam, lahko laže ocenim njihov nivo znanja in razlago temu prilagodim. Z nekaterimi se spuščamo v večje podrobnosti, pri drugih pa se bolj abstraktno pogovarjamo o možnih rešitvah in konceptih. Vsekakor je želja delavnice, da mentorji ne učimo, ampak samo podpiramo samoizobraževanje.

Podobno tudi pri Rails Girls in Django Girls ne pričakujemo, da bodo udeleženke odnesle ogromno novega znanja in končale kot specializantke računalništva, ampak jim samo pomagamo zgraditi temelje, na katerih lahko nato same doma ali pa na drugih tečajih gradijo svojo specializacijo. A to ne pomeni, da je mentorstvo zato lažje. Izziv pri starejši populaciji je pogosto ravno razbijanje mitov in prepričanj, ki so se jih priučili v preteklosti. Prvi je sigurno ta, da računalnik ni ena ogromna črna luknja, zapečatena z magijo in zaščitena z visokonapetostnimi pastmi, ki bi udeleženko lahko pri učenju poškodovali. Drugi je ta, da napake niso nič slabega in nevarnega, ampak del procesa, ki mogoče največ prispeva k učenju. Tretji pa je, da učenje s poskušanjem (trial and error) samo pripomore k hitrejšemu spoznavanju z neko novo računalniško tehnologijo.

Pri Rails Girls in Django Girls ima en mentor največ tri udeleženke pod okriljem, idealno pa dve. Tako lahko vsaki brez da bi druge morale predolgo čakati, posebej odgovarjamo na vprašanja. Pri Django Girls sem delal samo z dvema udeleženkama, s katerimi smo se predhodno spoznali preko e-mail naslovov. Pred pričetkom smo se malo pogovarjali o pričakovanjih in željah, tako da sem lahko program vsaj nekoliko temu tudi prilagodil. Pri Rails Girls pa si udeleženke izbereš na samem dogodku in ker je mogoče razporeditev zato nekoliko bolj kaotična, sem v bistvu skupaj še z enim mentorjem pomagal petim udeleženkam. Osebno je bilo zame to bolj stresno in se nisem nobeni mogel bolje posvetiti, nisem pa prepričan, če so to udeleženke tudi opazile, saj sem ves čas krožil od ene k drugi in če ni nobena imela vprašanja, sem se k naključno izbrani tudi usedel in jo povprašal o napredku. Je pa to zahtevalo čisto drugo vrsto zbranosti in je bilo po svoje bolj naporno.

Ključno se mi zdi prepoznati, kdaj udeležencem kakšna stvar ni jasna in si tega ne upajo priznati. Zato se prvo uro vedno trudim, da ta strah pri vseh razbijem. Vsekakor se mi zdi zanimivo, da se pojavlja ne glede na to, kako radoveden je posamezen udeleženec in kako zelo si želi čim več odnesti od delavnice. Verjetno je to stvar naše kulture.

Zgodbe o uspehu?

Vsekakor. Predvsem verjamem, da jih bo veliko. Še posebej glede na interes mladine in udeleženk, ki sem jih do zdaj uspel spoznati. Sem pa na Rails Girls med predavanjem zasledil, da je eni udeleženki že uspel preboj. Po delavnici se je udeležila Rails Girls Summer Of Code, kjer je sodelovala na plačani praksi 3 mesece, nato so jo vzeli na prasko v nekem drugem podjetju, za tem pa je dobila zaposlitev na vrhunskem svetovnem podjetju.

In to je vse brezplačno?

Za enkrat je in upam, da bo tako tudi ostalo. Če ne bo, bom verjetno prekinil sodelovanje, saj se mi zdi, da je že dovolj plačljivih tečajev, ki si jih le redki lahko privoščijo. Vsako od skupin sponzorirajo različna podjetja, od ameriškega GitHub-a pa do slovenskega Simobila ali Mimovrste. Dokler bodo vsaj nekatera podjetja še naprej razumela, da je v odličen kader potrebno vlagati še pred zaposlitvijo, se bo mogoče razvoj na področju IT-ja tudi v Sloveniji premikal v pravo smer.

Sorodne objave

  • Ubuntu 13.10Danes sem svoji boljši polovici na prenosnik namestil novi Ubuntu 13.10. Pred tem je striktno uporabljala Windows 7, ki se je uspel spremeniti v neobvladljivo in počasno pošast v manj kot […]
  • Predavanje Richarda StallmanaV Moderni galeriji so danes gostili Richarda Stallmana, aktivista za odprto kodo (oz. kot nas je danes popravil, svobodno kodo) in avtorja GNU projekta, ki je razvil prvi brezplačen UNIX-u […]
  • Prosojnice iz predstavitve v RogLab-uPrilagam prosojnice iz predstavitve v RogLabu, ki je potekala 26. aprila 2013. Upam, da ste uživali, jaz sem […]

Dodaj odgovor

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja