Si t'ua mësoj Python fëmijëve?

Si t'ua mësoj Python fëmijëve?

Puna ime kryesore lidhet me të dhënat dhe programimin në R, por në këtë artikull dua të flas për hobin tim, i cili madje sjell disa të ardhura. Gjithmonë kam qenë i interesuar t'u tregoj dhe t'u shpjegoj diçka miqve, shokëve të klasës dhe shokëve të klasës. Gjithashtu ishte gjithmonë e lehtë për mua të gjeja një gjuhë të përbashkët me fëmijët, nuk e di pse. Në përgjithësi, mendoj se rritja dhe edukimi i fëmijëve është një nga aktivitetet më të rëndësishme nga të gjitha, dhe gruaja ime është mësuese. Kështu, rreth një vit më parë, u reklamova në një grup lokal në Facebook, mora një grup dhe fillova të mësoja gërvishtjen dhe python një herë në javë. Tani kam pesë grupe, klasën time në shtëpi dhe mësime individuale. Si erdha në një jetë të tillë dhe saktësisht se si i mësoj fëmijët, do ta tregoj në këtë artikull.

Unë jetoj në Kanada, Calgary, Alberta, kështu që disa pika do të lidhen me specifikat lokale.

Dhoma

Të kesh një vend për të praktikuar ishte një problem i madh që në fillim. U përpoqa të kërkoja zyra dhe klasa për të marrë me qira me orë, por jo shumë me sukses. Universiteti ynë dhe SAIT - ekuivalenti lokal i MIT - marrin mësime me dhe pa kompjuter. Çmimet atje rezultuan jo shumë humane, por në fund rezultoi se universiteti nuk i lejon të miturit të hyjnë dhe SAIT përgjithësisht jep me qira vetëm për studentët e tij. Kështu që ky opsion u hoq. Ka shumë qendra zyrash që marrin me qira dhoma takimesh dhe zyra për orë, ka kompani të tëra që ofrojnë një mori opsionesh nga një klasë e plotë në një dhomë për katër persona. Kisha shpresa, duke qenë se Alberta është një provincë nafte, ne kemi pasur një krizë të nivelit të ulët që nga viti 2014 dhe shumë zona biznesi janë bosh. Më kot shpresoja, çmimet dolën aq të larta sa as që e besova në fillim. Është më e lehtë për pronarët të ulen në zyra bosh dhe të paguajnë shpenzimet sesa të hedhin.

Në atë moment m'u kujtua që paguaj rregullisht taksat dhe nëse shteti ynë i dashur, ose më mirë, qyteti i Calgary-t, ka ndonjë gjë atje. Doli se ka vërtet. Qyteti ka arena për të luajtur hokej dhe patinazhe të tjera artistike, dhe në këto arena ka dhoma ku luftëtarët e ashpër të akullit diskutojnë strategjitë për betejat e ardhshme. Me pak fjalë, çdo arenë ka disa dhoma me tavolina, karrige, një tabelë të bardhë dhe madje edhe një lavaman me një kazan. Çmimi është mjaft hyjnor - 25 tugrikë kanadezë në orë. Fillimisht vendosa të bëj mësime për një orë e gjysmë, kështu që vendosa çmimin për një klasë prej 35 dollarë për hundë në një grup prej pesë personash për të kompensuar qiranë, mirë, për të vënë diçka në xhep. Në përgjithësi, më pëlqeu të stërvitja në arena, zgjidhi një nga problemet - shumica e folësve rusë jetojnë në jug, dhe unë jetoj në veri të qytetit, kështu që zgjodha arenën afërsisht në mes. Por ka pasur edhe shqetësime. Burokracia kanadeze është e mirë dhe miqësore, por, për ta thënë butë, mund të jetë paksa e ngadaltë. Nuk ka probleme kur mësoheni me ritmin dhe planifikoni përpara, por ndonjëherë ka momente të pakëndshme. Për shembull, në faqen e internetit të qytetit, ju mund të zgjidhni me lehtësi kohën dhe vendin, të rezervoni një dhomë, por nuk mund të paguani në asnjë mënyrë. Ata bëjnë telefonata dhe pranojnë pagesa me kartë. Mund të shkoni në zyrë dhe të paguani me para në dorë. Ishte një moment qesharak por jo shumë i këndshëm kur prisja thirrjen e tyre për të paguar mësimin e dytë, nuk prita dhe ditën e fundit u vonova në zyrë pesëmbëdhjetë minuta. Më duhej t'u afrohesha rojeve me një surrat të paturpshëm dhe të gënjeja se dhoma ishte e rezervuar. Ne kanadezët e mbajmë fjalën tonë, ata më lanë me qetësi dhe nuk kontrolluan asgjë, por unë nuk do ta bëja këtë nëse njerëzit nuk do të ishin tashmë në rrugën e tyre për në klasë.

Kështu bëra dimrin dhe pranverën dhe më pas pati ndryshime që u bënë pika e fundit. Së pari, zyra u mbyll për vizitorët dhe iu ofrua të pranonte pagesa me telefon afër qoshe. U ula në korridor për të paktën gjysmë ore para se të kaloja. Së dyti, nëse më parë tezja ime e dashur ma merrte pagesën për një orë e gjysmë, tani një vajzë e mori telefonin dhe tha se pagesa ishte vetëm për një orë. Në atë kohë, unë kisha një grup prej tre, pastaj dy personash dhe 12.5 dollarë shtesë nuk ishin aspak të tepërta. Sigurisht që jam ideologjik, por nëse gruaja ime më nxjerr në rrugë, atëherë nuk do të ketë kush të mësojë. Unë isha ende i papunë atëherë.

Dhe vendosa të shkoj në bibliotekë. Bibliotekat japin me qira dhoma të bukura falas, por ka një gjë - nuk mund të kryeni aktivitete tregtare. As organizatat bamirëse nuk lejohen të mbledhin para atje. Më thanë që kjo nuk kontrollohet veçanërisht, gjëja kryesore nuk është të marrësh para në hyrje pikërisht atje, por vërtet nuk më pëlqen të thyej rregullat. Një problem tjetër është se dhomat janë shpesh të zëna dhe është e vështirë të planifikohen mësimet në të njëjtën kohë në një vend. Mësoja në biblioteka në verë dhe në fillim të dimrit, më duhej të zgjidhja ato ku kishte vend, si rezultat ndërrova pesë ose gjashtë biblioteka. Pastaj fillova të rezervoja një vend dy muaj përpara, dhe më pas, doli të bëhej vetëm në një bibliotekë të vogël, në pjesën tjetër nuk kishte rregullisht vende në kohën e duhur. Dhe pastaj vendosa të bëj një klasë kompjuteri në shtëpi. E mbylla tabelën, bleva një tavolinë të dytë dhe disa monitorë të vjetër në reklamë. Në punë, kompania më bleu një laptop të ri të fuqishëm, sepse në kompjuterin tim analiza zgjati gati 24 orë. Në total, kisha një kompjuter të ri të vjetër, një kompjuter të vjetër të vjetër, një laptop me ekranin e vogël të shtypur dhe një netbook të lashtë në të cilin e shtypa vetë ekranin. I lidha të gjitha me monitorë dhe instalova Linux mint gjithandej, përveç netbook-it, në të cilin instalova një shpërndarje shumë të lehtë, duket pappy. Kam dhe nje laptop te ri te vjeter te blere 200$, e lidha me televizorin. Më e rëndësishmja, hosti ynë kohët e fundit ndryshoi dritaret për ne dhe dhoma tani ka korniza të reja të bardha në vend të mjerimin e tmerrshëm të shembur. Bashkëshortja ruan dhomën e ndenjes, kuzhinën dhe dhomën e dytë të gjumit si kopsht, ndaj i gjithë kati doli të ishte thjesht pedagogjik. Pra, tani gjithçka është në rregull me dhomën, le të shkojmë drejtpërdrejt në mësimdhënie.

Gërvishtje

Filloj të jap bazat e programimit me gjuhën Scratch. Kjo është një gjuhë që përdor blloqe të gatshme, të shpikur në atë kohë në MIT. Shumica e fëmijëve tashmë kanë parë gërvishtje në shkollë, kështu që ata mësohen shpejt me të. Ka programe dhe plane mësimore të gatshme, por nuk më pëlqejnë fare. Disa të çuditshme - krijoni historinë tuaj, për shembull. I gjithë programi përbëhet nga blloqe të panumërta say '<...>' for 2 seconds. Mund të shihet se është shpikur nga individë shumë krijues, por me këtë qasje, ju mund të mësoni se si të shkruani një kod klasik spageti indian. Që në fillim, unë flas për parime si DRY. Koleksionet e tjera të detyrave janë mjaft të mira, por fëmijët shpejt arrijnë te pika dhe fillojnë t'i bëjnë ato si një mitraloz. Si rezultat, në një mësim ata bëjnë atë që duhet të kishin bërë në pesë. Dhe kërkon shumë kohë personale për të kërkuar dhe zgjedhur detyrat. Në përgjithësi, gërvishtja nuk është më shumë si një gjuhë, por një IDE, ku thjesht duhet të mbani mend se ku të klikoni dhe ku të kërkoni diçka. Sapo nxënësit të zotërohen pak a shumë, përpiqem t'i përkthej në python. Madje kam një vajzë shtatëvjeçare që shkruan programe të thjeshta në python. Ajo që unë e shoh si përfitimin e gërvishtjes është se ai ka koncepte të tilla themelore që mësohen në një mënyrë lozonjare. Për disa arsye është shumë e vështirë për të gjithë pa përjashtim të kuptojnë idenë e një ndryshoreje. Në fillim, e kalova shpejt këtë temë dhe vazhdova derisa mësova se ata nuk dinin fare se çfarë të bënin me të. Tani u kushtoj shumë kohë variablave dhe vazhdimisht u kthehem atyre. Duhet të bësh swotting budallaqe. Ndryshoj variabla të ndryshëm në ekran dhe i bëj të thonë vlerën e tyre. Scratch ka gjithashtu struktura kontrolli dhe kontrolle vlerash, si p.sh while, for ose if në python. Ato jepen mjaft lehtë, vetëm se ka probleme me sythe të mbivendosur. Përpiqem të jap disa detyra me një lak të mbivendosur dhe në mënyrë që veprimi i tij të jetë vizual. Pas kësaj, kaloj te funksionet. Edhe për të rriturit, koncepti i funksionit nuk është i dukshëm, dhe aq më tepër për fëmijët. Prej kohësh po kryqëzoj se çfarë është funksioni në përgjithësi, duke folur për një fabrikë që merr objekte si input, por jep mallra, për një kuzhinier që bën ushqim nga produkte të papërpunuara. Pastaj bëjmë një program për të "bërë një sanduiç" me produkte dhe më pas bëjmë një funksion prej tij, të cilit produktet i kalohen si parametra. Në studimin e funksioneve, e përfundoj me gërvishtje.

piton

Është më e lehtë me python. Ekziston një libër i mirë i quajtur Python for Kids, dhe unë e përdor atë për të mësuar. Gjithçka është standarde atje - linjat, rendi i operacioneve, print(), input() etj. E shkruar me gjuhë të lehtë, me humor, e pëlqejnë fëmijët. Ka një të metë të përbashkët për shumë libra programimi. Si në një shaka të njohur - si të vizatoni një buf. Oval - rreth - buf. Nga konceptet e thjeshta kalim shumë i papritur në koncepte mjaft komplekse. Më duhen disa seanca për të bashkangjitur një objekt në metodën e pikave. Nga ana tjetër, nuk nxitoj, e përsëris të njëjtën gjë në mënyra të ndryshme derisa të shfaqet të paktën një lloj fotografie. Unë filloj me variabla dhe i godas përsëri, këtë herë në python. Variablat janë një mallkim.

Një student mendjemprehtë, i cili nja dy muaj më parë klikoi me shkathtësi variablat në gërvishtje, duket si një dash në një portë të re dhe nuk mund të shtojë X me Y, të cilat janë shkruar qartë në tabelë në rreshtin e mësipërm. E përsërisim! Çfarë ka një variabël? Emri dhe kuptimi! Çfarë do të thotë shenja e barabartë? Detyrë! Si ta kontrollojmë barazinë? Shenjë e dyfishtë e barabartë! Dhe kështu ne përsërisim përsëri dhe përsëri, deri në ndriçimin e plotë. Më pas kalojmë te funksionet, ku shpjegimi rreth argumenteve zgjat më shumë. Argumente të emërtuara, sipas pozicionit, sipas parazgjedhjes, etj. Nuk kemi arritur ende në klasë. Përveç python, ne studiojmë algoritme të njohura nga libri, më shumë për këtë më vonë.

Në fakt, trajnimi

Mësimi im është rregulluar kështu - për gjysmë ore jap një teori, kontrolloj njohuritë, konsolidoj atë që kam mësuar. Ora - laboratorë. Shpesh marr me vete dhe transmetoj deri në një orë, pastaj mbetet gjysmë ore për praktikë, përkatësisht. Kur po mësoja python, rishikova kursin Algoritmet dhe strukturat e të dhënave Khiryanova nga MIPT. Më pëlqeu shumë prezantimi i tij dhe struktura e leksioneve. Ideja e tij është që kornizat, sintaksa, bibliotekat bëhen të vjetruara. Arkitektura, puna ekipore, sistemet e kontrollit të versioneve - është shumë herët. Si rezultat, ka algoritme dhe struktura të dhënash që njihen prej kohësh dhe do të jenë gjithmonë në një formë të ngjashme. Unë vetë mbaj mend vetëm numra të plotë nga instituti Pascal. Meqenëse studentët e mi janë kryesisht të rinj, nga shtatë deri në pesëmbëdhjetë vjeç, besoj se është më e rëndësishme për të ardhmen e tyre të vendosin themelet sesa të shkruajnë shpejt një platformer në python. Edhe pse, ata duan një platformer më shumë, dhe unë i kuptoj ata. Unë u jap atyre algoritme të thjeshta - një flluskë, një kërkim binar në një listë të renditur, shënime të kundërta polake duke përdorur një pirg, por ne analizojmë secilën prej tyre me detaje të shkëlqyera. Doli që fëmijët modernë nuk e dinë në parim se si funksionon një kompjuter, ju them gjithashtu. Përpiqem të lidh disa koncepte së bashku në çdo leksion. Për shembull, një kompjuter - memorie / procesor - memorie nga qelizat (më lejoni të mbaj një pllakë memorie, me mend sa qeliza janë këtu) - secila qelizë është si një llambë - ka dy gjendje - e vërtetë / e rreme - dhe / ose - binare / dhjetore - 8 bit = 1 bajt - bajt = 256 opsione - Lloji i të dhënave Boolean për bit - Numra të plotë për bajt - float në dy bajt string në një bajt - numri më i madh në 64 bit - një listë dhe një tufë nga llojet e mëparshme. Unë bëj një rezervë që në një kompjuter të vërtetë gjithçka është disi e ndryshme dhe një sasi e ndryshme memorie për këto lloje të të dhënave, por gjëja kryesore është që ne vetë krijojmë lloje të dhënash më komplekse nga ato më të thjeshta në proces. Llojet e të dhënave janë ndoshta gjëja më e vështirë për t'u mbajtur mend. Prandaj, unë e filloj çdo mësim me një ngrohje të shpejtë - një student emërton llojin e të dhënave, tjetri jep dy shembuj dhe kështu me radhë në një rreth. Si rezultat, arrita që edhe fëmijët më të vegjël të bërtasin me gëzim - notoni! logjike! shtatë, pesë! pica, makinë! Gjatë leksionit, unë tërheq vazhdimisht njërën ose tjetrën, përndryshe ata shpejt fillojnë të marrin hundët dhe të shikojnë në tavan. Po, dhe niveli i njohurive të secilit duhet të kontrollohet ndërmjet herë.

Nxënësit e mi nuk pushojnë së më mahnituri me marrëzinë dhe zgjuarsinë e tyre të papritur. Zgjuarsia, për fat, më shpesh.

Doja të shkruaja më shumë, por edhe kështu fleta doli. Unë do t'i përgjigjem të gjitha pyetjeve me kënaqësi. Unë mirëpres çdo kritikë në çdo mënyrë të mundshme, vetëm një kërkesë - të jemi më tolerantë ndaj njëri-tjetrit në komente. Ky është një artikull i mirë.

Burimi: www.habr.com

Shto një koment