Nola irakasten diedan haurrei Python

Nola irakasten diedan haurrei Python

Nire lan nagusia datuekin eta programazioarekin lotuta dago R, baina artikulu honetan nire zaletasunaz hitz egin nahi dut, diru sarrera batzuk ere ekartzen dituena. Betidanik gustatu izan zait lagunei, ikaskideei eta ikaskideei gauzak kontatu eta azaltzea. Gainera, beti izan zait erraza umeekin hizkuntza komun bat aurkitzea, ez dakit zergatik. Oro har, uste dut haurrak haztea eta irakastea dela jarduera garrantzitsuenetako bat, eta nire emaztea irakaslea da. Beraz, duela urtebete inguru, bertako Facebook talde batean iragarkiak egin, talde bat sortu eta astean behin Scratch eta Python irakasten hasi nintzen. Orain bost talde ditut, nire klasea etxean eta bakarkako klaseak. Nola iritsi nintzen horrela bizitzera eta zehazki nola irakasten diedan haurrei, artikulu honetan kontatuko dizuet.

Calgary-n bizi naiz, Alberta-n, Kanadan, beraz, gauza batzuk tokiko berezitasunak izango dira.

Gela

Praktikatzeko espazioa egotea kezka nagusia izan zen hasieratik. Orduka alokairuan bulegoak eta ikasgelak bilatzen saiatu nintzen, baina ez nuen arrakasta handirik izan. Gure unibertsitateak eta SAITek, MIT-ren tokiko baliokideak, klaseak eskaintzen dituzte ordenagailuekin eta gabe. Hango prezioak ez ziren oso gizatiarrak izan, eta azkenean unibertsitateak ez dituela adingabeak onartzen, eta SAITek, oro har, bere ikasleei soilik alokatzen die. Beraz, aukera hori kendu egin zen. Asko dira bilera-aretoak eta bulegoak orduka alokatzen dituzten bulego zentroak, badira enpresa osoak aukera mordoa eskaintzen dutenak, ikasgela osotik hasi eta lau lagunentzako gelaraino. Itxaropena nuen, Alberta petrolio-probintzia denez, 2014tik krisi geldoan gaude, eta negozio gune asko hutsik daude. Ez nuen espero behar; prezioak hain izugarriak izan ziren, ez nituen hasieran sinetsi ere egin. Errazagoa da jabeentzat bulego hutsetan eseri eta kostuak ordaintzea botatzea baino.

Momentu hartan, gogoratu nintzen aldian-aldian ordaintzen ditudala zergak, eta gure estatu maiteak, edo hobeto esanda, Calgary hiriak zerbait ote duen han. Agertu zen benetan badagoela. Hiriak hockey eta patinaje artistikoko beste kirol batzuk egiteko aretoak ditu, eta areto horietan izotz gerlari malkartsuek etorkizuneko guduetarako estrategiak eztabaidatzen dituzten gelak daude. Laburbilduz, areto bakoitzak pare bat gela ditu mahaiak, aulkiak, arbel zuria eta baita harraska batekin ere. Prezioa nahiko jainkotiarra da - Kanadako 25 tugrik orduko. Hasieran ordu eta erdiko klaseak egitea erabaki nuen, eta, beraz, bost laguneko talde batean klase bakoitzeko 35 dolarreko prezioa ezarri nuen, alokairua konpentsatzeko eta poltsikoan zerbait sartzeko. Oro har, aretoetan lan egitea gustatu zitzaidan, arazoetako bat konpondu zuen - errusieraz hitz egiten duten jende gehienak hegoaldean bizi dira eta ni hiriaren iparraldean bizi naiz, beraz, gutxi gorabehera erdialdean dagoen arena aukeratu nuen. Baina eragozpenak ere egon ziren. Kanadako burokrazia ona eta atsegina da, baina, nolabait esateko, baldarra izan daiteke. Erritmora ohitu eta aldez aurretik planifikatzen zarenean ez dago arazorik, baina batzuetan momentu desatseginak sortzen dira. Esaterako, udalaren webgunean ordua eta tokia eroso hauta ditzakezu eta gela bat erreserbatu, baina ezin duzu ordaindu, inola ere. Beraiek egiten dituzte telefono deiak eta txartelaren ordainketak onartzen dituzte. Bulegora joan eta eskudirutan ordaindu dezakezu. Une dibertigarria baina ez oso atsegina izan zen bigarren ikasgaia ordaintzeko haien deiaren zain nengoela, ez zen etorri, eta azken egunean hamabost minutu atzeratu nintzen bulegora. Aurpegi lotsagabe batekin hurbildu behar izan nuen segurtasunari eta gela beteta zegoela esanez. Kanadakook nire hitza hartzen dugu; lasai utzi ninduten eta ez zuten ezer egiaztatu, baina ez nuke hori egingo jendea klasera bidean ez balego.

Honela aritu nintzen neguan eta udaberrian zehar, eta gero aldaketak gertatu ziren azken lastoa izan zirenak. Lehenik eta behin, bulegoa itxita zegoen bisitariei eta izkinan telefonoz ordainketak onartzea eskaini zuten. Pasabidean eseri nintzen gutxienez ordu erdi pasa baino lehen. Bigarrenik, lehenago nire izeba maiteak ordu eta erdiko ordainketa hartzen bazuen, orain neska batek telefonoa erantzun eta ordainketa ordubetekoa zela esan zuen. Garai hartan, nire taldea hiru edo bi pertsona zen, eta $ 12.5 gehigarria ez zen batere soberan zegoen. Noski, ideologikoa naiz, baina nire emazteak kalera botatzen banau, orduan ez da inor irakasteko. Orduan oraindik langabezian nengoen.

Eta liburutegira joatea erabaki nuen. Liburutegiek gela zoragarriak alokatzen dituzte guztiz doan, baina bada harrapaketa bat: ezin duzu merkataritza-jarduerarik egin. Ongintzazko erakundeek ere ez dute dirua biltzeko baimenik bertan. Hau ez dagoela bereziki kontrolatuta esan zidaten, nagusia sarreran dirua ez hartzea da, baina ez zait gustatzen arauak haustea. Beste arazo bat da gelak askotan okupatuta daudela eta zaila dela programatutako klaseak aldi berean leku batean egitea. Liburutegietan irakasten nuen udan eta negu hasieran, lekua zutenak aukeratu behar izan nituen, eta azkenean bospasei liburutegi aldatu nituen. Orduan, bi hilabete lehenago lekua erreserbatzen hasi nintzen, eta orduan ere, liburutegi txiki batean bakarrik lortu nuen hori; gainerakoek aldizka ez zuten lekurik behar den denborarako. Eta orduan ordenagailu klase bat etxean egitea erabaki nuen. Arbela eskegi, bigarren mahai bat eta pare bat monitore zahar erosi nituen iragarkitik. Lanean, enpresak ordenagailu eramangarri indartsu berri bat erosi zidan, nire ordenagailuan azterketak ia 24 ordu behar zituelako. Beraz, ordenagailu zahar berri bat nuen, ordenagailu zahar zahar bat, ordenagailu eramangarri bat zeinean nire txikiak pantaila birrintzen zuen, eta netbook zahar bat, zeinean neuk pantaila birrintzen nuen. Guztiak monitoreetara konektatu eta Linux Mint instalatu nuen nonahi, netbookean izan ezik, zeinetan oso arina banaketa kit bat instalatu nuen, antza, Pappy. Oraindik daukat ordenagailu eramangarri berri zahar bat, 200 dolarren truke erosia, telebistara konektatu nuen. Garrantzitsua da, halaber, gure jabeak duela gutxi gure leihoak aldatu dituela, eta gelako hondamen izugarriaren ordez, orain marko zuri berriak ditugu. Nire emazteak egongela, sukaldea eta bigarren logela gordetzen ditu haurtzaindegi baterako, beraz, solairu osoa pedagogiko hutsa izan zen. Beraz, orain dena ondo dago lokalarekin, pasa gaitezen irakaskuntzara.

Urratu

Scratch lengoaia erabiliz programazioaren oinarriak irakasten hasi naiz. Hau prest egindako blokeak erabiltzen dituen hizkuntza da, garai batean MIT-en asmatua. Haur gehienek dagoeneko ikusi dute Scratch eskolan, beraz, nahiko azkar jasotzen dute. Badaude prest egindako programak eta ikasgai planak, baina ez zaizkit batere gustatzen. Batzuk arraroak dira - sortu zure istorioa, adibidez. Programa osoa bloke ugariz osatuta dago say '<...>' for 2 seconds. Ikusten denez, oso sortzaileek asmatu zuten, baina ikuspegi honekin Indiako spaghetti kode klasikoa nola idazten irakatsi dezakezu. Hasiera-hasieratik, DRY bezalako printzipioei buruz hitz egiten dut. Beste zereginen bilduma nahiko onak dira, baina haurrek azkar jabetzen dute funtsa eta metrailadore bat bezala egiten hasten dira. Ondorioz, ikasgai batean egiten dute bostetan egin behar zutena. Eta zereginak bilatzeko eta hautatzeak denbora pertsonal handia eskatzen du. Oro har, Scratch-ek ez du hizkuntza bat gogorarazten, IDE bat baizik, non egin klik non egin eta zer bilatu behar den gogoratu behar duzun. Ikasleak gehiago edo gutxiago eroso dauden bezain laster, Pythonera eramaten saiatzen naiz. Nire zazpi urteko neskatoak ere programa sinpleak idazten ditu Python-en. Scratch-en onura ikusten dudana da modu ludiko batean ikasten diren oinarrizko kontzeptuak dituela. Zerbaitegatik, oso zaila da guztiontzat, salbuespenik gabe, aldagai baten ideia ulertzea. Hasieran azkar errepasatu nuen gaia eta aurrera jarraitu nuen, haiek zer egin ere ez zekitela aurrean izan arte. Orain denbora asko ematen dut aldagaietan eta etengabe itzultzen naiz. Mailu ergel batzuk egin behar dituzu. Pantailan aldagai desberdinak aldatzen ditut eta haien balioak hitz egiten dizkiet. Scratch-ek kontrol-egiturak eta balio-egiaztapenak ere baditu, esaterako while, for edo if pitoian. Nahiko errazak dira, baina habiaraturiko begiztekin arazoak daude. Hainbat ataza ematen saiatzen naiz habiaratutako begizta batekin, eta horrela bere ekintza argia izan dadin. Horren ostean funtzioetara pasatzen naiz. Helduentzat ere, funtzio kontzeptua ez da agerikoa, eta are gehiago haurrentzat. Funtzio bat orokorrean zer den denbora luzez hitz egiten dut, sarrera gisa elementuak jaso eta salgaiak igortzen dituen lantegi bati buruz hitz egiten dut, lehengaiekin janaria egiten duen sukaldari bati buruz. Ondoren, produktuekin "ogitarteko bat egin" programa bat egiten dugu, eta ondoren funtzio bat egiten dugu, produktuak parametro gisa pasatzen diren. Ikasteko funtzioak Scratch-ekin amaitzen ditut.

python

Python-ekin dena errazagoa da. Haurrentzako Python liburu on bat dago, eta horixe da irakasten dudana. Han dena estandarra da: lerroak, eragiketen ordena, print(), input() etab. Hizkuntza errazean idatzia, umorez, umeei gustatzen zaie. Programazio liburu askotan akats bat du. Txantxa ospetsuan bezala - hontza nola marraztu. Obala - zirkulua - hontza. Kontzeptu sinpleetatik kontzeptu konplexu samarrerako trantsizioa bortitza da. Hainbat saio behar ditut objektua dot metodoari eransteko. Bestalde, ez dut presarik, gauza bera errepikatzen dut modu ezberdinetan, argazkiren bat behintzat bat egin arte. Aldagaiekin hasten naiz eta berriro mailukatzen ditut, oraingoan Python-en. Aldagaiak madarikazio moduko bat dira.

Ikasle adimentsu batek, duela hilabete pare bat Skratch-en aldagaiak trebetasunez klikatu zituena, ahari baten itxura du ate berrian eta ezin du X-a gehitu Y-arekin, arbelean argi eta garbi idatzita dagoen lerro batean goian. Errepikatzen dugu! Zer dauka aldagai batek? Izena eta esanahia! Zer esan nahi du berdin zeinuak? Zeregin! Nola egiaztatzen dugu berdintasuna? Bikoitza berdinaren zeinua! Eta hau behin eta berriro errepikatzen dugu argitasun osoa arte. Ondoren, funtzioetara pasako gara, non argumentuei buruzko azalpenak luzeena hartzen duen. Izendatutako argumentuak, posizioaren arabera, lehenespenez, eta abar. Oraindik ez gara inongo taldetako klaseetara iritsi. Pythonez gain, liburuko algoritmo ezagunak aztertzen ditugu, geroago gehiago.

Egia esan, entrenamendua

Nire ikasgaia honela dago egituratuta: ordu erdiz teoria ematen dut, ezagutzak probatzen ditut eta ikasitakoa finkatzen dut. Laborategien garaia da. Askotan ibiltzen naiz eta ordubetez hitz egiten dut, gero ordu erdi geratzen da entrenatzeko. Python ikasten ari nintzela, ikastaroa ikusi nuen Algoritmoak eta Datuen Egiturak MIPTeko Khiryanov. Asko gustatu zait bere aurkezpena eta bere hitzaldien egitura. Bere ideia hau da: markoak, sintaxia, liburutegiak zaharkituta geratzen ari dira. Arkitektura, talde lana, bertsioak kontrolatzeko sistemak - oraindik goiz da. Ondorioz, aspalditik ezagutzen ziren eta beti antzeko forman egongo diren algoritmoak eta datu-egiturak geratzen dira. Ni neu institutuko pascal osoak baino ez ditut gogoratzen. Nire ikasleak gehienbat gazteak direnez, zazpi eta hamabost urte bitartekoak, uste dut garrantzitsuagoa dela euren etorkizunerako oinarriak jartzea Python-en plataforma-joko bat azkar idaztea baino. Hala ere, plataformako jokalari bat gehiago nahi dute, eta ulertzen ditut. Algoritmo sinpleak ematen dizkiet: burbuila, bilaketa bitarra zerrenda ordenatu batean, alderantzizko idazkera poloniarra pila bat erabiliz, baina bakoitza xehetasun handiz aztertzen dugu. Agertu zen ume modernoek printzipioz ez dakitela ordenagailu batek nola funtzionatzen duen, nik ere esango dizut. Hitzaldi bakoitzean hainbat kontzeptu lotzen saiatzen naiz. Adibidez, ordenagailu bat - memoria/ehunekoa - zelulez osatutako memoria (memoria txipa eusten utziko dizut, asmatu zenbat zelula dauden) - zelula bakoitza bonbilla bat bezalakoa da - bi egoera daude - egia/gezurra - eta/edo - bitarra/hamar - 8bit = 1 byte - byte = 256 aukera - datu-mota logikoa bit batean - osoak byte batean - float bi bytetan - string byte batean - 64 biteko zenbakirik handiena - aurreko moten zerrenda eta tupla bat. Erreserba bat egiten dut benetako ordenagailu batean dena zertxobait desberdina dela eta datu-mota horien memoria-kopurua ezberdina dela, baina gauza nagusia da prozesu horretan guk geuk sortzen ditugula datu-mota konplexuagoak sinpleagoetatik abiatuta. Datu motak dira agian gogoratzeko zailena. Horregatik, ikasgai bakoitza beroketa azkar batekin hasten dut -ikasle batek datu-mota izendatzen du, hurrengoak bi adibide jartzen ditu, eta abar zirkulu batean. Ondorioz, haur txikienek ere alai oihukatzea lortu nuen - flota! boolearra! zazpi, bost! pizza, autoa! Hitzaldi batean, etengabe tiratzen dut lehenengo bata edo bestea, bestela azkar hasten dira sudurra hartzen eta sabaiari begira. Eta guztion ezagutza maila egiaztatu behar da noizean behin.

Nire ikasleek ez diote inoiz txunditzeari uzten, bai beren ergelkeriarekin, bai ustekabeko adimenarekin. Zorionez, maizago adimenarekin.

Gehiago idatzi nahi nuen, baina orri bat besterik ez zen izan. Pozik erantzungo ditut galdera guztiak. Kritika oro onartzen dut modu guztietan, iruzkinetan elkar toleranteagoa izatea eskatzen dizuet. Artikulu ona da hau.

Iturria: www.habr.com

Gehitu iruzkin berria