Unsaon nako pagtudlo ang Python sa mga bata?

Unsaon nako pagtudlo ang Python sa mga bata?

Ang akong nag-unang trabaho may kalabutan sa data ug programming sa R, apan niining artikuloha gusto kong maghisgot bahin sa akong kalingawan, nga nagdala pa gani ug pipila ka kita. Kanunay kong interesado sa pagsulti ug pagpatin-aw sa mga butang ngadto sa mga higala, klasmeyt ug kaubang estudyante. Kanunay usab nga sayon ​​alang kanako ang pagpangita sa usa ka komon nga pinulongan sa mga bata, wala ko kabalo ngano. Sa kinatibuk-an, nagtuo ko nga ang pagpadako ug pagtudlo sa mga bata maoy usa sa labing importante nga mga kalihokan sa tanan, ug ang akong asawa usa ka magtutudlo. Mao nga, mga usa ka tuig na ang milabay, nag-anunsyo ako sa usa ka lokal nga grupo sa Facebook, nagtukod usa ka grupo ug nagsugod sa pagtudlo sa Scratch ug Python kausa sa usa ka semana. Karon aduna na koy lima ka grupo, akong kaugalingong klase sa balay ug tagsa-tagsa nga mga leksyon. Giunsa nako pagkinabuhi niining paagiha ug kung giunsa nako pagtudlo ang mga bata, isulti ko kanimo sa kini nga artikulo.

Nagpuyo ko sa Calgary, Alberta, Canada, mao nga ang pipila ka mga butang mahimong lokal nga mga detalye.

Ang lawak

Ang pagkaanaa sa lugar aron magpraktis usa ka dakong kabalaka gikan sa sinugdanan. Gisulayan nako ang pagpangita sa mga opisina ug mga lawak-klasehanan nga abangan matag oras, apan wala kaayo magmalampuson. Ang among unibersidad ug SAIT, ang lokal nga katumbas sa MIT, nagtanyag og mga klase nga adunay ug walay kompyuter. Ang mga presyo didto nahimo nga dili kaayo tawhanon, ug sa katapusan nahimo nga ang unibersidad wala magtugot sa mga menor de edad, ug ang SAIT sa kasagaran nag-abang lamang sa kaugalingon nga mga estudyante. Busa, kini nga opsyon giwagtang. Adunay daghang mga sentro sa opisina nga nag-abang sa mga meeting room ug opisina sa oras, adunay tibuuk nga mga kompanya nga nagtanyag daghang mga kapilian gikan sa usa ka tibuuk nga lawak-klasehanan hangtod sa usa ka kwarto alang sa upat ka mga tawo. Naglaum ko, tungod kay ang Alberta usa ka probinsya sa lana, naa kami sa usa ka hinay nga krisis sukad sa 2014, ug daghang mga lugar sa negosyo ang wala’y sulod. Dili unta ko maglaum; ang mga presyo nahimo nga hilabihan ka makalilisang nga wala ako motuo kanila sa sinugdanan. Mas sayon ​​alang sa mga tag-iya ang paglingkod sa walay sulod nga mga opisina ug pagbayad sa gasto kay sa paglabay.

Nianang higayona, nahinumdom ko nga kanunay kong nagbayad sa akong buhis, ug kon ang atong mahal nga estado, o hinoon, ang siyudad sa Calgary, adunay bisan unsa didto. Naa gyud diay. Ang siyudad adunay mga arena alang sa hockey ug uban pang mga figure skating nga mga dula, ug niini nga mga arena adunay mga lawak diin ang mga mabangis nga ice warriors naghisgot sa mga estratehiya alang sa umaabot nga mga gubat. Sa laktud, ang matag arena adunay usa ka magtiayon nga mga lawak nga adunay mga lamesa, lingkuranan, usa ka white board ug bisan usa ka lababo nga adunay usa ka takure. Ang presyo medyo balaan - 25 Canadian tugriks kada oras. Sa sinugdan nakahukom ko nga magklase sulod sa usa ka oras ug tunga, mao nga akong gitakda ang presyo sa usa ka leksyon nga $35 kada klase sa grupo nga lima ka tawo, aron mabayran ang abang, ug ibutang sa akong bulsa. Sa kinatibuk-an, ganahan ko nga mag-ehersisyo sa mga arena, nasulbad niini ang usa sa mga problema - kadaghanan sa mga tawo nga nagsultig Ruso nagpuyo sa habagatan, ug nagpuyo ko sa amihanan sa siyudad, mao nga mipili ko og arena nga hapit sa tunga. Apan dihay mga kahasol usab. Ang burukrasya sa Canada maayo ug mahigalaon, apan, sa malumo nga pagkasulti, mahimong medyo clumsy. Wala’y mga problema kung naanad ka sa ritmo ug plano nga daan, apan usahay ang dili maayo nga mga higayon moabut. Pananglitan, sa website sa siyudad dali ka makapili og oras ug lugar ug magpareserba og kwarto, apan dili ka makabayad, sa bisan unsang paagi. Sila mismo ang motawag sa telepono ug modawat sa mga bayad sa card. Mahimo kang moadto sa opisina ug mobayad sa kwarta. Adunay usa ka kataw-anan apan dili kaayo makapahimuot nga higayon sa diha nga ako naghulat sa ilang tawag sa pagbayad alang sa ikaduhang leksyon, kini wala moabut, ug sa katapusang adlaw ako naulahi ug kinse minutos sa opisina. Kinahanglan kong moduol sa sekyu nga adunay bastos nga nawong ug mamakak nga ang kwarto gi-book. Kami nga mga taga-Canada midawat sa akong pulong alang niini; gipasulod nila ako nga kalmado ug wala magsusi bisan unsa, apan dili nako kana buhaton kung ang mga tawo wala pa moadto sa klase.

Ingon niini ang akong pagtrabaho sa tingtugnaw ug tingpamulak, ug dayon ang mga pagbag-o nahitabo nga mao ang katapusan nga uhot. Una, sirado ang opisina sa mga bisita ug mitanyag sila nga modawat ug bayad pinaagi sa telepono sa palibot. Naglingkod ko sa aisle labing menos tunga sa oras sa wala pa ako makaagi. Ikaduha, kung kaniadto ang akong minahal nga iyaan mikuha ug bayad gikan kanako sulod sa usa ka oras ug tunga, karon adunay babaye nga mitubag sa telepono ug miingon nga ang bayad usa ra ka oras. Niadtong panahona, ang akong grupo maoy tulo o duha ka tawo, ug ang sobra nga $12.5 dili gayod sobra. Siyempre, ideolohikal ako, apan kung ilabay ako sa akong asawa sa karsada, wala’y usa nga magtudlo. Wala pa koy trabaho niadto.

Ug nakahukom ko nga moadto sa library. Ang mga librarya nag-abang sa nindot nga mga lawak nga hingpit nga walay bayad, apan adunay usa ka catch - dili ka makahimo sa komersyal nga mga kalihokan. Bisan ang mga charity bawal mangolekta ug kwarta didto. Gisultihan ako nga dili kini labi nga kontrolado, ang panguna nga butang mao ang dili pagkuha salapi sa entrada, apan dili gyud ko ganahan nga maglapas sa mga lagda. Ang laing problema mao nga ang mga lawak kanunay nga giokupahan ug lisud ang pagpahigayon sa gikatakda nga mga klase sa usa ka higayon sa usa ka dapit. Nagtudlo ako sa mga librarya sa panahon sa ting-init ug sayo nga tingtugnaw, kinahanglan nakong pilion kadtong adunay luna, ug sa katapusan akong giusab ang lima o unom ka mga librarya. Dayon nagsugod ako sa pag-book sa usa ka lugar duha ka bulan nga abante, ug bisan pa niana, nakahimo ra ako sa pagbuhat niini sa usa ka gamay nga librarya; ang uban kanunay nga walay mga lugar alang sa gikinahanglan nga oras. Ug unya nakahukom ko nga maghimo ug klase sa kompyuter sa balay. Gibitay nako ang board, mipalit og ikaduhang lamesa ug duha ka daan nga monitor gikan sa ad. Sa trabahoan, gipalitan ko sa kompanya ug bag-ong kusgan nga laptop tungod kay ang pagtuki sa akong kompyuter hapit 24 oras. Busa, duna koy bag-o nga karaan nga kompyuter, usa ka karaan nga computer, usa ka laptop diin gidugmok sa akong gamay ang screen, ug usa ka karaan nga netbook diin ako mismo ang nagdugmok sa screen. Gikonektar ko silang tanan sa mga monitor ug gi-install ang Linux Mint bisan asa, gawas sa netbook, diin akong gibutang ang usa ka gaan kaayo nga distribution kit, ingon, Pappy. Naa pa koy daan nga bag-ong laptop, gipalit sa $200, gikonektar nako kini sa TV. Ang importante usab mao nga bag-o lang gibag-o sa among tag-iya ang among mga bintana, ug imbes nga ang makalilisang, nahugno nga kadaut sa kwarto, kami karon adunay bag-ong puti nga mga bayanan. Gitipigan sa akong asawa ang sala, kusina ug ikaduha nga kwarto alang sa usa ka kindergarten, mao nga ang tibuuk nga salog nahimo’g puro pedagogical. Busa, karon ang tanan maayo na sa lugar, magpadayon kita sa pagtudlo.

Gamot

Nagsugod ko sa pagtudlo sa mga sukaranan sa programming gamit ang Scratch nga pinulongan. Kini usa ka lengguwahe nga naggamit ug andam nga mga bloke, nga naimbento sa usa ka higayon sa MIT. Kadaghanan sa mga bata nakakita na sa Scratch sa eskwelahan, mao nga dali ra nila kining gikuha. Adunay andam nga mga programa ug mga plano sa leksyon, apan dili ko ganahan niini. Ang uban katingad-an - paghimo sa imong kaugalingon nga istorya, pananglitan. Ang tibuok nga programa naglangkob sa dili maihap nga mga bloke say '<...>' for 2 seconds. Makit-an nga kini giimbento sa labi ka mamugnaon nga mga indibidwal, apan sa kini nga pamaagi mahimo nimong itudlo kung giunsa pagsulat ang klasiko nga code sa spaghetti sa India. Gikan sa sinugdanan, naghisgot ko mahitungod sa mga prinsipyo sama sa DRY. Ang ubang mga koleksyon sa mga buluhaton maayo kaayo, apan ang mga bata dali nga nakasabot sa diwa ug nagsugod sa pagbuhat niini sama sa usa ka machine gun. Isip resulta, ilang gibuhat sa usa ka leksyon ang angay unta nilang buhaton sa lima. Ug ang pagpangita ug pagpili sa mga buluhaton nagkinahanglag daghang personal nga oras. Sa kinatibuk-an, ang Scratch mas makapahinumdom dili sa usa ka pinulongan, apan sa usa ka IDE, diin kinahanglan nimo nga hinumdoman kung asa mag-klik ug asa mangita kung unsa. Sa diha nga ang mga estudyante mas komportable o dili kaayo komportable, gisulayan nako nga ibalhin sila sa Python. Bisan ang akong siyete anyos nga batang babaye nagsulat ug yano nga mga programa sa Python. Ang akong nakita nga kaayohan sa Scratch mao nga kini adunay sukaranan nga mga konsepto nga nakat-unan sa usa ka dula nga paagi. Sa pila ka rason, lisud kaayo alang sa tanan, nga walay eksepsiyon, nga masabtan ang ideya sa usa ka variable. Sa sinugdan dali kong gisusi kini nga hilisgutan ug nagpadayon hangtod nga naatubang nako ang kamatuoran nga wala sila nahibal-an kung unsa ang buhaton bahin niini. Karon naggugol ako og daghang oras sa mga variable ug kanunay nga mobalik sa kanila. Kinahanglan nimo nga buhaton ang usa ka binuang nga pagmartilyo. Gibag-o nako ang lainlaing mga variable sa screen ug gipasulti nila ang ilang mga kantidad. Ang scratch usab adunay kontrol nga mga istruktura ug mga pagsusi sa bili, sama sa while, for o if sa python. Sayon ra sila, apan adunay mga problema sa mga nested loop. Gisulayan nako ang paghatag daghang mga buluhaton nga adunay usa ka nested loop, ug aron ang aksyon niini klaro. Pagkahuman niana, nagpadayon ako sa mga function. Bisan alang sa mga hamtong, ang konsepto sa function dili klaro, ug labi pa alang sa mga bata. Nagpadayon ako sa dugay nga panahon kung unsa ang usa ka function sa kinatibuk-an, naghisgot ako bahin sa usa ka pabrika nga nakadawat mga butang ingon input ug nag-isyu sa mga butang, bahin sa usa ka kusinero nga naghimo sa pagkaon gikan sa hilaw nga sangkap. Dayon naghimo kami og "paghimo og sandwich" nga programa nga adunay mga produkto, ug dayon naghimo kami og usa ka function gikan niini, diin ang mga produkto gipasa isip mga parameter. Gihuman nako ang pagkat-on gamit ang Scratch.

Python

Sa python ang tanan mas simple. Adunay usa ka maayo nga libro nga Python alang sa mga Bata, nga gikan sa akong gitudloan. Ang tanan standard didto - mga linya, han-ay sa mga operasyon, print(), input() ug uban pa. Gisulat sa sayon ​​nga pinulongan, uban sa humor, ang mga bata ganahan niini. Kini adunay usa ka sayup nga kasagaran sa daghang mga libro sa programming. Sama sa bantog nga komedya - unsaon pagdrowing og usa ka bukaw. Oval - lingin - bukaw. Ang pagbalhin gikan sa yano nga mga konsepto ngadto sa labi ka komplikado nga mga konsepto kalit kaayo. Nagkinahanglan ako og daghang mga sesyon aron ilakip ang butang sa pamaagi sa tuldok. Sa laing bahin, wala ako nagdali, gisubli nako ang parehas nga butang sa lainlaing mga paagi hangtod nga adunay pipila nga mga litrato nga nagkahiusa. Nagsugod ko sa mga variable ug gimartilyo kini pag-usab, niining higayona sa Python. Ang mga variable usa ka matang sa usa ka tunglo.

Ang usa ka maalamon nga estudyante, nga duha ka bulan ang milabay abtik nga nag-klik sa mga variable sa Skratch, morag usa ka laking karnero sa bag-ong ganghaan ug dili makadugang sa X sa Y, nga klaro nga gisulat sa pisara sa usa ka linya sa ibabaw. Atong balikon! Unsa ang naa sa usa ka variable? Ngalan ug kahulogan! Unsay buot ipasabot sa equal sign? Assignment! Unsaon nato pagsusi ang pagkaparehas? Doble nga katumbas nga timaan! Ug ato kining balik-balikon hangtod sa hingpit nga kalamdagan. Dayon kita mopadayon ngadto sa mga gimbuhaton, diin ang pagpatin-aw mahitungod sa mga argumento nagkinahanglan sa labing taas nga panahon. Ginganlan nga mga argumento, sa posisyon, sa default, ug uban pa. Wala pa mi nakaabot ug klase sa bisag unsang grupo. Dugang pa sa Python, nagtuon kami sa mga sikat nga algorithm gikan sa libro, labi pa sa ulahi.

Actually, training nga

Ang akong leksyon gihan-ay sama niini: Naghatag ko og teorya sulod sa tunga sa oras, sulayan ang kahibalo, ug gikonsolida ang nakat-unan. Panahon na alang sa labs. Kanunay kong madala ug makig-istorya hangtod sa usa ka oras, unya adunay tunga sa oras nga nahabilin alang sa praktis. Sa dihang nagkat-on ko sa python, nagtan-aw ko sa kurso Algorithm ug Data Structures Khiryanov gikan sa MIPT. Ganahan kaayo ko sa iyang presentasyon ug sa istruktura sa iyang mga lecture. Ang iyang ideya mao kini: ang mga gambalay, syntax, mga librarya nahimong dili na magamit. Arkitektura, teamwork, version control system - sayo pa. Ingon usa ka sangputanan, ang mga algorithm ug istruktura sa datos nagpabilin nga nahibal-an sa dugay nga panahon ug kanunay nga parehas nga porma. Ako sa akong kaugalingon nahinumdom lamang sa mga integer gikan sa institute pascal. Tungod kay ang akong mga estudyante kasagaran mga batan-on, gikan sa pito ngadto sa kinse ka tuig ang panuigon, ako nagtuo nga kini mao ang mas importante alang sa ilang kaugmaon sa pagbutang sa mga pundasyon kay sa dali nga pagsulat sa usa ka plataporma dula sa Python. Bisan pa, gusto nila ang usa ka platformer labi pa, ug nasabtan nako sila. Gihatagan nako sila og yano nga mga algorithm - usa ka bula, binary nga pagpangita sa usa ka gihan-ay nga lista, balihon ang Polish nga notasyon gamit ang usa ka stack, apan among gisusi ang matag usa sa daghang detalye. Nahibal-an nga ang modernong mga bata wala mahibal-an sa prinsipyo kung giunsa ang pagtrabaho sa usa ka kompyuter, isulti ko usab kanimo. Gisulayan nako nga ihigot ang daghang mga konsepto sa matag lecture. Pananglitan, usa ka kompyuter - memorya/porsiyento - memorya nga gilangkuban sa mga selula (pahupot ko nimo ang memory chip, tag-ana kung pila ang mga cell) - ang matag cell sama sa bombilya - adunay duha ka estado - tinuod/sayup - ug/o - binary/decimal - 8bit = 1 byte - byte = 256 options - logical data type sa usa ka bit - integers sa usa ka byte - float sa duha ka byte - string sa usa ka byte - ang pinakadako nga numero sa 64 bits - usa ka lista ug usa ka tuple gikan sa miaging mga tipo. Naghimo ako usa ka reserbasyon nga sa usa ka tinuud nga kompyuter ang tanan medyo lahi ug ang kantidad sa panumduman alang sa kini nga mga tipo sa datos lahi, apan ang panguna nga butang mao nga kami mismo sa proseso naghimo og mas komplikado nga mga tipo sa datos gikan sa mas simple. Ang mga tipo sa datos mao tingali ang labing lisud nga butang nga hinumdoman. Mao nga gisugdan nako ang matag leksyon sa usa ka dali nga pagpainit - ang usa ka estudyante nagngalan sa tipo sa datos, ang sunod naghatag duha ka pananglitan, ug uban pa sa usa ka lingin. Ingon usa ka sangputanan, nakab-ot nako nga bisan ang kamanghuran nga mga bata malipayong nagsinggit - float! boolean! pito, lima! pizza, sakyanan! Atol sa usa ka lektyur, kanunay kong gibira una ang usa o ang lain, kung dili sila dali nga magsugod sa pagpunit sa ilang mga ilong ug pagtan-aw sa kisame. Ug ang lebel sa kahibalo sa matag usa kinahanglan nga susihon matag karon ug unya.

Ang akong mga estudyante dili mohunong sa pagtingala kanako, sa ilang kabuang ug wala damha nga salabutan. Maayo na lang, mas kanunay nga adunay salabutan.

Gusto kong mosulat og dugang, apan kini usa ra ka panid. Malipay ko nga tubagon ang tanan nga pangutana. Gidawat nako ang bisan unsang pagsaway sa tanan nga posible nga paagi, gihangyo ko lang nga mahimong mas tolerant sa usag usa sa mga komento. Kini usa ka maayong artikulo.

Source: www.habr.com

Idugang sa usa ka comment