Како да ги научам децата Python?

Како да ги научам децата Python?

Мојата главна работа е поврзана со податоци и програмирање во R, но во оваа статија сакам да зборувам за моето хоби, кое дури и носи одреден приход. Отсекогаш сум бил заинтересиран да им кажувам и објаснувам работи на пријателите, соучениците и соучениците. Исто така, секогаш ми беше лесно да најдам заеднички јазик со децата, не знам зошто. Генерално, верувам дека воспитувањето и подучувањето на децата е една од најважните активности од сите, а мојата сопруга е учителка. Така, пред околу една година, се огласив во локална група на Фејсбук, формирав група и почнав да предавам Скреч и Пајтон еднаш неделно. Сега имам пет групи, свој клас дома и индивидуални часови. Како дојдов да живеам на овој начин и точно како ги учам децата, ќе ви кажам во оваа статија.

Живеам во Калгари, Алберта, Канада, така што некои работи ќе бидат локални специфики.

Соба

Достапноста на просторот за вежбање беше голема грижа од самиот почеток. Се обидов да барам канцеларии и училници за изнајмување по час, но немав многу успех. Нашиот универзитет и SAIT, локалниот еквивалент на MIT, нудат часови со и без компјутери. Цените таму се покажаа не многу хумани и на крајот испадна дека универзитетот не дозволува малолетници, а САИТ генерално им издава само кирија на сопствените студенти. Значи, оваа опција беше елиминирана. Има многу канцелариски центри кои изнајмуваат сали за состаноци и канцеларии по час, има цели компании кои нудат куп опции од полна училница до соба за четири лица. Имав надежи, бидејќи Алберта е нафтена провинција, ние сме во слаба криза од 2014 година, а многу деловни простори се празни. Не требаше да се надевам дека цените се покажаа толку неверојатни што на почетокот не ни поверував. На сопствениците им е полесно да седат во празни канцеларии и да плаќаат трошоци отколку да фрлаат ѓубре.

Во тој момент се сетив дека редовно плаќам даноци и дали нашата драга држава, поточно градот Калгари, има нешто таму. Се покажа дека навистина постои. Градот има арени за хокеј и други игри за уметничко лизгање, а во овие арени има простории во кои цврстите ледени воини разговараат за стратегиите за идните битки. Накратко, секоја арена има неколку соби со маси, столици, бела табла, па дури и мијалник со котел. Цената е сосема божествена - 25 канадски тугрици на час. Првично решив да правам часови по час и половина, па ја поставив цената за лекција на 35 долари по час во група од пет лица, за да ја надоместам киријата и да ставам нешто во мојот џеб. Во принцип, ми се допадна да вежбам во арените, тоа реши еден од проблемите - повеќето луѓе што зборуваат руски живеат на југ, а јас живеам на север од градот, па избрав арена приближно во средината. Но, имаше и непријатности. Канадската бирократија е добра и пријателска, но, благо кажано, може да биде донекаде несмасна. Нема проблеми кога однапред се навикнувате на ритамот и планирате, но понекогаш се појавуваат непријатни моменти. На пример, на веб-страницата на градот можете лесно да изберете време и место и да резервирате соба, но не можете да платите на кој било начин. Сами ги прават телефонските повици и прифаќаат плаќања со картички. Можете да отидете во канцеларија и да платите во готово. Имаше смешен, но не многу пријатен момент кога го чекав нивниот повик да платам за втората лекција, тој не дојде, а последниот ден задоцнив петнаесет минути во канцеларијата. Морав да му пријдам на обезбедувањето со дрско лице и да лажам дека собата е резервирана. Ние, Канаѓаните, го прифаќаме зборот за тоа, тие ме пуштија мирно и не проверуваа ништо, но јас не би го направил тоа доколку луѓето веќе не беа на пат кон часот.

Така работев низ зимата и пролетта, а потоа се случија промени кои беа последната капка. Прво, канцеларијата беше затворена за посетители и тие понудија да прифатат плаќања по телефон зад аголот. Седев на патеката најмалку половина час пред да поминам. Второ, ако порано ми земала тетка ми за саат ипол, сега некоја девојка се јавила на телефон и вели дека плаќањето е само за еден час. Во тоа време, мојата група беше или три или две лица, а дополнителните 12.5 долари воопшто не беа излишни. Се разбира, јас сум идеолошки, но ако жена ми ме исфрли на улица, тогаш нема да има кој да предава. Тогаш сè уште бев невработен.

И решив да одам во библиотека. Библиотеките издаваат прекрасни соби потполно бесплатно, но има еден улов - не можете да вршите комерцијални активности. Дури ни добротворните организации не смеат да собираат пари таму. Ми рекоа дека ова не е особено контролирано, главната работа е да не земам пари на влезот, но навистина не ми се допаѓа да ги кршам правилата. Друг проблем е што собите често се зафатени и тешко е да се одржуваат закажани часови на едно место на едно место. Предавав во библиотеки во текот на летото и почетокот на зимата, морав да ги изберам оние со простор и на крајот сменив пет-шест библиотеки. Потоа почнав да резервирам место два месеци однапред, па дури и тогаш успеав да го направам тоа само во една мала библиотека, а останатите редовно немаа места за потребното време. И тогаш решив да направам час по компјутер дома. Ја закачив таблата, купив втора маса и неколку стари монитори од оглас. На работа, компанијата ми купи нов моќен лаптоп бидејќи анализата на мојот компјутер траеше скоро 24 часа. Така, имав нов стар компјутер, стар стар компјутер, лаптоп на кој моето малечко го скрши екранот и антички нетбук на кој јас самиот го скршив екранот. Ги поврзав сите со мониторите и инсталирав Linux Mint насекаде, освен нетбукот, на кој инсталирав многу лесен комплет за дистрибуција, изгледа, Pappy. Сè уште имам стар нов лаптоп, купен за 200 долари, го приклучив на телевизорот. Исто така, она што е важно, нашиот сопственик неодамна ни ги смени прозорците, а сега наместо страшната, распаѓачка беда во собата, има нови бели рамки. Жена ми ги чува дневната, кујната и втората спална соба за градинка, така што целиот кат испадна чисто педагошки. Значи, сега се е во ред со просториите, да преминеме на наставата.

Чешање

Почнувам да ги предавам основите на програмирањето користејќи го јазикот Scratch. Ова е јазик кој користи готови блокови, измислени едно време во MIT. Повеќето деца веќе го виделе Скреч на училиште, па затоа го земаат прилично брзо. Има готови програми и планови за часови, но воопшто не ми се допаѓаат. Некои се чудни - создадете своја сопствена приказна, на пример. Целата програма се состои од безброј блокови say '<...>' for 2 seconds. Се гледа дека е измислен од многу креативни поединци, но со овој пристап можете да научите како да пишувате класичен индиски код за шпагети. Од самиот почеток, зборувам за принципи како СУВО. Другите збирки задачи се доста добри, но децата брзо ја сфаќаат суштината и почнуваат да ги прават како митралез. Како резултат на тоа, тие во една лекција го прават она што требаше да го направат во пет. А пребарувањето и избирањето задачи одзема многу лично време. Во принцип, Scratch повеќе потсетува не на јазик, туку на IDE, каде што само треба да запомните каде да кликнете и каде да барате што. Штом студентите се повеќе или помалку удобно, се обидувам да ги префрлам на Python. Дури и моето седумгодишно девојче пишува едноставни програми во Пајтон. Она што го гледам како придобивка од Скреч е тоа што содржи основни концепти кои се учат на разигран начин. Поради некоја причина, многу е тешко за сите, без исклучок, да ја разберат идејата за променлива. Отпрвин брзо ја прегледав темата и продолжив додека не се соочив со фактот дека тие дури и не знаеја што да прават во врска со тоа. Сега трошам многу време на променливи и постојано се враќам на нив. Мораш да направиш глупаво чекање. Менувам различни променливи на екранот и ги терам да ги кажат своите вредности. Скреч има и контролни структури и проверки на вредности, како на пр while, for или if во питон. Тие се прилично лесни, но има проблеми со вгнездени јамки. Се обидувам да дадам неколку задачи со вгнездена јамка и неговото дејство да биде јасно. После тоа преминувам на функции. Дури и за возрасните, концептот на функција не е очигледен, а уште повеќе за децата. Продолжувам долго време за тоа што е општо функција, зборувам за фабрика која прима артикли како влез и издава стока, за готвач кој прави храна од сурови состојки. Потоа правиме програма „направи сендвич“ со производи, а потоа од неа правиме функција на која производите се пренесуваат како параметри. Ги завршувам функциите за учење со Scratch.

Пајтон

Со питон сè е поедноставно. Има добра книга Пајтон за деца, од која учам. Таму сè е стандардно - линии, редослед на операции, print(), input() итн. Напишано на лесен јазик, со хумор, им се допаѓа на децата. Има вообичаен недостаток на многу книги за програмирање. Како во познатата шега - како да нацртате був. Овална - круг - був. Преминот од едноставни концепти кон прилично сложени концепти е премногу нагло. Ми требаат неколку сесии за да го прикачам објектот на методот со точки. Од друга страна, не брзам, го повторувам истото на различни начини додека барем не се собере некоја слика. Почнувам со променливи и повторно ги зачукувам, овој пат во Пајтон. Променливите се вид на проклетство.

Паметен студент, кој пред неколку месеци вешто кликна на променливите на Skratch, изгледа како овен на новата порта и не може да го додаде X со Y, што е јасно напишано на таблата една линија погоре. Повторуваме! Што има променливата? Име и значење! Што значи знакот за еднаквост? Задача! Како да ја провериме еднаквоста? Знак за двојно еднаквост! И ова го повторуваме повторно и повторно до целосно просветлување. Потоа преминуваме на функции, каде што објаснувањето за аргументите трае најдолго. Именувани аргументи, по позиција, стандардно, и така натаму. Сè уште не сме стигнале на часови во ниту една група. Покрај Python, проучуваме популарни алгоритми од книгата, повеќе за тоа подоцна.

Всушност, обука

Мојата лекција е структурирана вака: давам теорија половина час, го тестирам знаењето и го консолидирам наученото. Време е за лаборатории. Често се занесувам и зборувам и до еден час, потоа останува половина час за вежбање. Кога учев питон, го гледав курсот Алгоритми и структури на податоци Хирјанова од МИПТ. Многу ми се допадна неговата презентација и структурата на неговите предавања. Неговата идеја е следна: рамки, синтакса, библиотеки застаруваат. Архитектура, тимска работа, системи за контрола на верзии - сè уште е рано. Како резултат на тоа, остануваат алгоритми и структури на податоци кои се познати долго време и секогаш ќе бидат во слична форма. Јас самиот се сеќавам само на цели броеви од институтот паскал. Бидејќи моите студенти се претежно млади, од седум до петнаесет години, верувам дека за нивната иднина е поважно да ги постават темелите отколку брзо да напишат игра на платформа во Python. Иако, тие повеќе сакаат платформер и јас ги разбирам. Им давам едноставни алгоритми - балон, бинарно пребарување во сортирана листа, обратна полска нотација со помош на стек, но ние го анализираме секој детално. Се испостави дека современите деца во принцип не знаат како работи компјутерот, исто така ќе ви кажам. Се обидувам да врзам неколку концепти заедно на секое предавање. На пример, компјутер - меморија/процент - меморија составена од ќелии (ќе ти дозволам да го држиш меморискиот чип, погоди колку ќелии има) - секоја ќелија е како сијалица - има две состојби - точно/неточно - и/или - бинарни/децимални - 8 бити = 1 бајт - бајт = 256 опции - логички тип на податоци на еден бит - цели броеви на еден бајт - float на два бајта - string на еден бајт - најголем број на 64 бита - листа и торка од претходните типови. Јас правам резервација дека во вистински компјутер сè е малку поинаку и количината на меморија за овие типови на податоци е различна, но главната работа е што ние самите во процесот создаваме посложени типови на податоци од поедноставни. Типовите на податоци се можеби најтешкото нешто за паметење. Затоа секој час го започнувам со брзо загревање - еден ученик го именува типот на податоци, следниот дава два примери и така натаму во круг. Како резултат на тоа, постигнав дека и најмалите деца весело викаат - лебди! бул! седум, пет! пица, кола! За време на предавање постојано го влечам прво едното или другото, инаку брзо почнуваат да го берат носот и да гледаат во таванот. И нивото на знаење на сите треба да се проверува одвреме-навреме.

Моите студенти не престануваат да ме восхитуваат, и со нивната глупост и со неочекуваната интелигенција. За среќа, почесто со интелигенција.

Сакав да напишам повеќе, но испадна дека е само лист. Со задоволство ќе одговорам на сите прашања. Ја поздравувам секоја критика на секој можен начин, само ве замолувам да бидете потолерантни еден кон друг во коментарите. Ова е добра статија.

Извор: www.habr.com

Додадете коментар