Si i mësoj fëmijët Pytone

Si i mësoj fëmijët Pytone

Puna ime është e lidhur me të dhënat dhe programimin në R, por në këtë artikull dua të flas për pasionin tim, i cili madje sjell njëfarë të ardhure. Më ka interesuar gjithmonë të tregoj dhe shpjegoj diçka për miqtë, shokët e klasës dhe studentët e mi. Gjithashtu, më ka qenë gjithmonë e lehtë të gjendem me fëmijët, nuk e di pse. Në përgjithësi, mendoj se edukimi dhe mësimi i fëmijëve është një nga aktivitetet më të rëndësishme, dhe gruaja ime është pedagoge. Pra, rreth një vit më parë, publikova një njoftim në një grup lokal në Facebook, formova një grup dhe fillova të mësoj Scratch dhe Python një herë në javë. Tani kam pesë grupe, një klasë në shtëpi dhe mësime individuale. Si arrita deri këtu dhe si i mësoj fëmijët, do ta tregoj në këtë artikull.

Unë jetoj në Kanada, në qytetin Calgary, provinca Alberta, kështu që disa momente do të lidhen me karakteristikat lokale.

Ambienti

Prania e njĂ« vendi pĂ«r mĂ«sime ka qenĂ« problemi kryesor qĂ« nga fillimi. Kam provuar tĂ« gjej zyra dhe klasa me qira pĂ«r orĂ«, por pa shumĂ« sukses. Universiteti ynĂ« dhe SAIT — njĂ« analog lokal i MIT — japin klasa me kompjuterĂ« dhe pa. Çmimet aty ishin disi tĂ« larta, dhe pĂ«rfundimisht rezultoi se universiteti nuk pranon tĂ« mitur, ndĂ«rsa SAIT e jep vetĂ«m pĂ«r studentĂ«t e saj. Pra, kjo mundĂ«si ra. EkzistojnĂ« shumĂ« qendra zyrash qĂ« japin dhoma pĂ«r mbledhje dhe zyra pĂ«r orĂ«, ka kompani tĂ« tĂ«ra qĂ« ofrojnĂ« shumĂ« mundĂ«si nga klasa tĂ« plota deri nĂ« dhoma pĂ«r katĂ«r persona. Kisha shpresa, pasi Alberta Ă«shtĂ« njĂ« provincĂ« naftĂ«mbajtur, ne kemi njĂ« krizĂ« tĂ« vazhdueshme qĂ« nga viti 2014, dhe shumĂ« hapĂ«sira biznesi janĂ« bosh. Ndoshta mĂ« kot shpresoja, çmimet ishin aq tĂ« larta sa qĂ« nĂ« fillim nuk i besova. PronarĂ«t e zyrave e preferojnĂ« tĂ« qĂ«ndrojnĂ« me zyra bosh dhe tĂ« paguajnĂ« shpenzimet, sesa tĂ« praktikojnĂ« çmime tĂ« ulta.

NĂ« atĂ« moment mĂ« erdhi nĂ« mendje se paguaj tatime rregullisht, dhe ndoshta ka diçka nĂ« atĂ« qĂ« na jep shteti ynĂ« i dashur, mĂ« saktĂ«sisht — qyteti Calgary. Doli se kishte shumĂ« gjĂ«ra. Qyteti ka arena pĂ«r hokej dhe aktivitete tĂ« tjera akrobatike, dhe nĂ« kĂ«to arena ka dhoma ku luftĂ«tarĂ«t e ashpĂ«r tĂ« akullit diskutojnĂ« strategjitĂ« e betejave tĂ« ardhshme. NĂ« pĂ«rmbledhje, pĂ«r çdo arenĂ« ka disa dhoma me tavolina, karrige, njĂ« tabelĂ« tĂ« bardhĂ« dhe madje njĂ« lavaman me njĂ« kandil. Çmimi Ă«shtĂ« krejtĂ«sisht i arsyeshĂ«m — 25 dollarĂ« kanadezĂ« pĂ«r orĂ«. Fillimisht vendosa tĂ« zhvilloj mĂ«sime pĂ«r njĂ« orĂ« e gjysmĂ«, prandaj caktova çmimin pĂ«r mĂ«sim nĂ« $35 pĂ«r person nĂ« njĂ« grup prej pesĂ« personash, pĂ«r tĂ« kompensuar qiradhĂ«nien, por edhe pĂ«r tĂ« fituar diçka pĂ«r vete. NĂ« pĂ«rgjithĂ«si, mĂ« pĂ«lqente tĂ« punoja nĂ« arena, kjo zgjidhte njĂ« nga problemet — shumica e rusishtfolĂ«sve jetojnĂ« nĂ« jug, ndĂ«rsa unĂ« jetoj nĂ« veriun e qytetit, kĂ«shtu qĂ« zgjodha arenĂ«n diku nĂ« mes. Por kishte edhe pakĂ«naqĂ«si. Burokracia kanadeze Ă«shtĂ« e mirĂ« dhe miqĂ«sore, por, si ta them mĂ« butĂ«, ndonjĂ«herĂ« Ă«shtĂ« pak e ngadalshme. Nuk ka probleme kur je mĂ«suar me ritmin dhe planifikon nĂ« avancĂ«, por ndonjĂ«herĂ« ndodhin situata tĂ« pakĂ«ndshme. PĂ«r shembull, nĂ« faqen e qytetit mund tĂ« zgjedhĂ«sh me lehtĂ«si kohĂ«n dhe vendin, tĂ« rezervosh njĂ« dhomĂ«, por nuk mund tĂ« paguash, nĂ« asnjĂ« mĂ«nyrĂ«. Ata vetĂ« telefonojnĂ« dhe pranojnĂ« pagesat me kartĂ«. Mund tĂ« shkosh nĂ« zyrĂ« dhe tĂ« paguash nĂ« cash. Ishte njĂ« moment mjaft komik, por jo shumĂ« i kĂ«ndshĂ«m, kur prisja telefonin e tyre pĂ«r tĂ« paguar pĂ«r mĂ«simin e dytĂ«, por nuk prisja dhe u vonova pĂ«r pesĂ«mbĂ«dhjetĂ« minuta nĂ« zyrĂ« nĂ« ditĂ«n e fundit. Duhej tĂ« shkoja me guxim tek rojet dhe tĂ« gĂ«njeja se dhoma Ă«shtĂ« rezervuar. Ne, kanadezĂ«t, e besojmĂ« fjalĂ«n, mĂ« lejuan pa asnjĂ« kontroll, por nuk do ta bĂ«nja kĂ«tĂ« nĂ«se njerĂ«zit nuk ishin nisur pĂ«r mĂ«sim.

Kështu e kalova dimrin dhe pranverën, por më pas ndodhën disa ndryshime që u bënë pika e fundit. Së pari, zyra u mbyll për vizitorët dhe ofruan të pranojnë pagesa për telefon atje afër. Pashë më shumë se gjysmë ore në kalim, përpara se të arrija të telefonoja. Së dyti, nëse më parë një zonjushë e ëmbël pranonte pagesat për një orë e gjysmë, tani në telefon më u përgjigj një vajzë dhe tha se pagesa është vetëm për një orë. Në atë moment kam pasur grup që ka pasur tri dhe dy persona, dhe 12.5 dollarë extra ishin saktësisht ato që më duheshin. Natyrisht, unë kam pasion, por nëse gruaja më hedh në rrugë, askush nuk do të mësojë më.

Dhe vendosa të shkoj në bibliotekë. Bibliotekat ofrojnë dhoma të bukura krejtësisht falas, por ka një ''po'' - nuk lejohet të kryhen aktivitete komerciale. Edhe organizatat bamirëse nuk kanë të drejtë të mbledhin para aty. Më thanë se kjo nuk kontrollohet shumë, mjafton të mos marrësh para për hyrjen, por unë nuk e pëlqej të shkel rregullat. Një problem tjetër është se dhomat shpesh janë të zëna dhe është e vështirë të organizosh mësime sipas një orari të caktuar në një vend. Kam mësuar në biblioteka gjatë verës dhe fillimit të dimrit, dhe pata nevojë të zgjidhja ato disa ku kishte vend, në fund të fundit kam ndërruar pesë ose gjashtë biblioteka. Pastaj fillova të rezervoj vend një muaj e gjysmë përpara, dhe këtë e kisha arrijtur vetëm në një bibliotekë të vogël, te tjerat nuk kishin vend në kohën e nevojshme. Atëherë vendosa të krijoj një klasë kompjuterike në shtëpi. Vura një tabelë, bleva një tavolinë të dytë dhe disa monitore të vjetër nga njoftimet. Për punën, kompania më bleu një laptop të ri dhe të fuqishëm, sepse analiza në kompjuterin tim zgjaste pothuajse 24 orë. Pra, pata një kompjuter të ri të vjetër, një kompjuter të vjetër, një laptop që e shkatërroi fëmija dhe një netbook të lashtë, të cilin e shkatërrova unë vetë. I lidhja të gjithë me monitoret dhe vendosa Linux Mint në të gjitha, përveç netbookut, të cilin e pajisa me një distro shumë të lehtë, duket se ishte Puppy. Kam edhe një laptop të vjetër të ri, blerë për $200, dhe e lidh me televizorin. Po ashtu, është e rëndësishme që pronari ynë së fundmi na ndëroi dritaret, dhe në dhomë tani kemi këllëka të reja të bardha në vend të atyre të shëmtuara. Dhomat e pritjes, kuzhina dhe dhoma e dytë gjithashtu janë të rezervuara për kopshtin e fëmijëve, kështu që e gjithë kati rezultoi të jetë krejtësisht pedagogjik. Tani që kemi një vend të mirë, le të kalojmë në mësim.

Scratch

UnĂ« filloj tĂ« jap bazat e programimit me gjuhĂ«n Scratch. ËshtĂ« njĂ« gjuhĂ« qĂ« pĂ«rdor blloqe tĂ« gatshme, shpikur nĂ« MIT. Shumica e fĂ«mijĂ«ve e kanĂ« parĂ« Scratch nĂ« shkollĂ«, kĂ«shtu qĂ« e zotĂ«rojnĂ« mjaft shpejt. EkzistojnĂ« programe dhe plane mĂ«simorĂ« tĂ« gatshme, por ato nuk mĂ« pĂ«lqejnĂ« fare. Disa janĂ« tĂ« çuditshme - pĂ«r shembull, krijo historinĂ« tĂ«nde. E gjithĂ« programi pĂ«rbĂ«het nga blloqe tĂ« panumĂ«rta say '' for 2 seconds. ËshtĂ« e qartĂ« qĂ« Ă«shtĂ« menduar nga njerĂ«z shumĂ« krijues, por me njĂ« qasje tĂ« tillĂ« mund tĂ« mĂ«sosh tĂ« shkruash kodin klasik indian spaghetti. UnĂ« nga fillimi flas pĂ«r parimet si D.R.Y. TĂ« tjerĂ« koleksione detyrash janĂ« mjaft tĂ« mira, por fĂ«mijĂ«t shpejt e kuptojnĂ« thelbin dhe fillojnĂ« t'i kryejnĂ« si me armĂ« automatikĂ«. Si pasojĂ«, nĂ« njĂ« orĂ« bĂ«jnĂ« atĂ« qĂ« duhet ta bĂ«nin pĂ«r pesĂ«. Dhe pĂ«r tĂ« gjetur dhe zgjedhur detyra, mĂ« duhet shumĂ« kohĂ« personale. NĂ« pĂ«rgjithĂ«si, Scratch mĂ« shumĂ« i ngjan njĂ« IDE, ku thjesht duhet tĂ« mbash mend ku tĂ« klikosh dhe ku tĂ« kĂ«rkosh. Sa herĂ« qĂ« nxĂ«nĂ«sit e zotĂ«rojnĂ« mĂ« shumĂ«, pĂ«rpiqem t'i kaloj nĂ« Python. Kam madje njĂ« vajzĂ« shtatĂ«vjeçare qĂ« shkruan programe tĂ« thjeshta nĂ« Python. U jap dobi Scratch-it - aty ka disa nocione themelore qĂ« pĂ«rvetĂ«sohen nĂ« njĂ« formĂ« loje. PikĂ«risht kjo Ă«shtĂ« mjaft e vĂ«shtirĂ« pĂ«r tĂ« gjithĂ« pa pĂ«rjashtim, pĂ«r tĂ« kuptuar idenĂ« e variablit. NĂ« fillim, unĂ« kalova shpejt kĂ«tĂ« temĂ« dhe kalova mĂ« tej, derisa e kuptova qĂ« ata nuk dinin çfarĂ« tĂ« bĂ«nin me tĂ«. Tani i kushtoj shumĂ« kohĂ« variablave dhe vazhdimisht kthehem te ata. SidoqoftĂ«, duhet tĂ« bĂ«j njĂ« punĂ« tĂ« mĂ«rzitshme. NĂ« ekran, unĂ« ndryshoj variabla tĂ« ndryshĂ«m dhe i bĂ«j ata tĂ« flasin pĂ«r vlerĂ«n e tyre. Po ashtu, nĂ« Scratch ka struktura kontrolli dhe verifikime vlerash, siç Ă«shtĂ« while, pĂ«r ose nĂ«se nĂ« Python. Ato janĂ« mjaft tĂ« lehta, vetĂ«m me ciklet e thelluara ka probleme. UnĂ« pĂ«rpiqem tĂ« jap disa detyra me cikĂ«l tĂ« thelluar, dhe veprimi i tij tĂ« jetĂ« i dukshĂ«m. Pas kĂ«saj kaloj te funksionet. Edhe pĂ«r tĂ« rriturit koncepti i funksionit Ă«shtĂ« i paqartĂ«, dhe pĂ«r fĂ«mijĂ«t - akoma mĂ« tepĂ«r. UnĂ« flas gjatĂ« pĂ«r se çfarĂ« Ă«shtĂ« njĂ« funksion nĂ« pĂ«rgjithĂ«si, tregoj pĂ«r fabrikĂ«n qĂ« merr objektet dhe nxjerr mallra, pĂ«r kuzhinierin qĂ« bĂ«n ushqim nga produkte tĂ« papĂ«rpunuara. Pastaj krijojmĂ« programin "bĂ«j sanduiç" me produktet, dhe pastaj e bĂ«jmĂ« atĂ« funksion, pĂ«r tĂ« cilin produktet kalojnĂ« si parametra. Me mĂ«simin e funksioneve pĂ«rfundoj me Scratch.

Python

Me Python Ă«shtĂ« mĂ« e lehtĂ«. Ka njĂ« libĂ«r tĂ« mirĂ« "Python for Kids", me tĂ« cilin unĂ« mĂ«soj. Aty Ă«shtĂ« gjithçka standarde - vargjet, rendi i operacioneve, print(), input() dhe tĂ« tjera. E shkruar nĂ« njĂ« gjuhĂ« tĂ« thjeshtĂ«, me humor, fĂ«mijĂ«ve u pĂ«lqen. Ka njĂ« mangĂ«si tĂ« zakonshme qĂ« i ndodh shumĂ« librave rreth programimit. Siç thotĂ« njĂ« shaka e njohur — si tĂ« tĂ«rheqĂ«sh njĂ« sova. Ovali — rrethi — sova. Nga konceptet e thjeshta kalojmĂ« papritur nĂ« koncepte mjaft komplekse. Mua mĂ« merret disa seansa pĂ«r tĂ« kuptuar se si objekti lidhet me metodĂ«n pĂ«rmes pikĂ«s. NĂ« anĂ«n tjetĂ«r, nuk po nxitim, e pĂ«rsĂ«ris gjithçka nĂ« njĂ« mĂ«nyrĂ« tĂ« ndryshme derisa tĂ« krijohet njĂ« ide. Filloj me variablat dhe pĂ«rsĂ«ri i studioj ata, tashmĂ« nĂ« Python. Variablat janĂ« njĂ«lloj njĂ« mallkim.

Studenti i zgjuar, i cili disa muaj mĂ« parĂ« shkulte variablat me lehtĂ«si, tani shikon si dele te porta tĂ« reja dhe nuk mund tĂ« bashkojĂ« x me y, tĂ« cilat janĂ« qartĂ« shkruar nĂ« bordin e sipĂ«rm. E pĂ«rsĂ«risim! ÇfarĂ« ka njĂ« variabĂ«l? Emri dhe vlera! ÇfarĂ« do tĂ« thotĂ« shenja e barazimit? Caktim! Si do ta kontrollojmĂ« barazimin? Me dy shenja barazimi! Dhe kĂ«shtu e pĂ«rsĂ«risim pĂ«rsĂ«ri e pĂ«rsĂ«ri, deri nĂ« ndriçimin e plotĂ«. MĂ« pas kalojmĂ« te funksionet, aty zgjat mĂ« sĂ« shumti shpjegimi rreth argumenteve. Argumentet e emĂ«ruara, sipas pozita, sipas paracaktimit dhe kĂ«shtu me radhĂ«. Nuk kemi arritur ende nĂ« klasat. PĂ«rveç Python-it nga libri, ne studiojmĂ« algoritme popullore, pĂ«r kĂ«tĂ« do flasim mĂ« poshtĂ«.

Në thelb, mësimi

PĂ«rveç kĂ«saj, ligjĂ«rata ime Ă«shtĂ« organizuar nĂ« kĂ«tĂ« mĂ«nyrĂ« — gjysmĂ« ore unĂ« jep teori, kontrolloj njohuritĂ«, forcoj ato qĂ« janĂ« mĂ«suar. NjĂ« orĂ« - laboratore. Shpesh e humbas fokusin dhe flas pĂ«r njĂ« orĂ«, kĂ«shtu qĂ« mbetet gjysmĂ« ore pĂ«r praktikĂ«. Kur mĂ«sova Python-in, kalova kursin Algoritmet dhe Strukturat e tĂ« DhĂ«nave Hirjanov nga MFTI. MĂ« pĂ«lqeu shumĂ« mĂ«nyra e tij e paraqitjes dhe struktura e leksioneve. Ideja e tij Ă«shtĂ« se kornizat, sintaksa, bibliotekat — bĂ«hen tĂ« pĂ«rmbushura. Arkitektura, puna nĂ« grup, sistemet e kontrollit tĂ« versioneve — Ă«shtĂ« ende herĂ«t. NĂ« fund, mbeten algoritmet dhe strukturat e tĂ« dhĂ«nave, tĂ« cilat janĂ« tĂ« njohura prej shumĂ« kohĂ«sh dhe do tĂ« jenĂ« gjithmonĂ« nĂ« njĂ« formĂ« tĂ« ngjashme. VetĂ« unĂ« e kam mbajtur vetĂ«m integer-in nga Pascal-i nga universiteti. MeqenĂ«se studentĂ«t e mi janĂ« kryesisht tĂ« rinj, nga shtatĂ« deri nĂ« pesĂ«mbĂ«dhjetĂ« vjeç, mendoj se pĂ«r tĂ« ardhmen e tyre Ă«shtĂ« mĂ« e rĂ«ndĂ«sishme tĂ« vendosim themele, sesa tĂ« shkruajmĂ« njĂ« platformat tĂ« shpejtĂ« nĂ« Python. Edhe pse, ata e dĂ«shirojnĂ« mĂ« shumĂ« platformĂ«n, dhe unĂ« e kuptoj. Algoritmet qĂ« u jap janĂ« tĂ« thjeshta — flluskĂ«, kĂ«rkimi binar nĂ« njĂ« listĂ« tĂ« organizuar, nota polake e kundĂ«rt me ndihmĂ«n e njĂ« staku, por çdo njĂ« prej tyre e shqyrtojmĂ« shumĂ« detajisht. Doli qĂ« fĂ«mijĂ«t modernĂ« nuk dinĂ« nĂ« parim se si funksionon njĂ« kompjuter, edhe kĂ«tĂ« e shpjegoj. UnĂ« pĂ«rpiqem nĂ« çdo ligjĂ«ratĂ« tĂ« lidh disa koncepte sĂ« bashku. PĂ«r shembull, kompjuteri — kujtesĂ«/proces — kujtesa nga qelizat (i jap tĂ« mbajĂ« njĂ« pllakĂ« kujtese, tĂ« guess, sa qeliza ka kĂ«tu) — çdo qelizĂ« si njĂ« llambĂ« — ka dy gjendje — true/false — and/or — binar/dekadal — 8bit = 1byte — byte = 256 variante — tipi logjik i tĂ« dhĂ«nave nĂ« njĂ« bit — numrat e tĂ«rĂ« nĂ« njĂ« byte — float nĂ« dy byte — string nĂ« njĂ« byte — numri mĂ« i madh nĂ« 64 bite — lista dhe tuple nga tipet e mĂ«parshme. UnĂ« sqaroj se nĂ« njĂ« kompjuter real, gjithçka Ă«shtĂ« pak ndryshe dhe sasia e kujtesĂ«s pĂ«r kĂ«to tipe tĂ« dhĂ«nash Ă«shtĂ« e ndryshme, por e rĂ«ndĂ«sishme Ă«shtĂ« se ne vetĂ« gjatĂ« procesit krijojmĂ« tipe tĂ« dhĂ«nash mĂ« komplekse nga mĂ« tĂ« thjeshtĂ«. Tipet e tĂ« dhĂ«nave janĂ«, ndoshta, mĂ« tĂ« vĂ«shtirat pĂ«r t'u mbajtur mend. Prandaj, çdo mĂ«sim e filloj me njĂ« ngrohje tĂ« shpejtĂ« — njĂ« nxĂ«nĂ«s thotĂ« njĂ« tip tĂ« tĂ« dhĂ«nave, tjetri sjell dy shembuj, dhe kĂ«shtu rreth. Si rezultat, arrita qĂ« edhe fĂ«mijĂ«t mĂ« tĂ« vegjĂ«l tĂ« bĂ«rtasin energjikisht — float! boolean! shtatĂ«, pesĂ«! pizza, makinĂ«! GjatĂ« ligjĂ«ratĂ«s vazhdoj tĂ« tĂ«rheq njĂ«rin e pastaj tjetrin, ndryshe ata fillojnĂ« shpejt tĂ« gĂ«rmojnĂ« nĂ« hundĂ« dhe tĂ« shikojnĂ« nĂ« tavan. Po ashtu, duhet tĂ« kontrolloj pĂ«r nivelet e njohurive tĂ« secilit.

Nxënësit e mi nuk ndalen së më befasuari as me budallallëkun e tyre, as me inteligjencën e papritur. Me inteligjencën, për fat të keq, më shpesh.

DĂ«shirova tĂ« shkruaj mĂ« shumĂ«, por doli njĂ« shkrim i gjatĂ«. Do tĂ« jem me kĂ«naqĂ«si pĂ«r çdo pyetje. Çdo kritikĂ« e mirĂ«pritet, vetĂ«m kĂ«rkesa — tĂ« jemi mĂ« tĂ« durueshĂ«m ndaj njĂ«ri-tjetrit nĂ« komentet. Ky Ă«shtĂ« njĂ« artikull i mirĂ«.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster