Як я вучу дзяцей Пітон

Як я вучу дзяцей Пітон

Мая асноўная праца звязана з дадзенымі і праграмаваннем на R, але ў гэтым артыкуле я хачу расказаць пра сваё захапленне, якое нават прыносіць нейкі даход. Мне заўсёды было цікава расказваць і тлумачыць нешта сябрам, аднакласнікам і аднакурснікам. Яшчэ мне заўсёды проста было знаходзіць агульную мову з дзецьмі, не ведаю чаму. Наогул, я лічу, што выхаванне і навучанне дзяцей гэта адно з найважнейшых заняткаў з усіх, ды і жонка ў мяне педагог. Увогуле, прыкладна год таму я даў аб'яву ў мясцовай групе на фэйсбуку, набраў групу і стаў выкладаць скратч і пітон раз на тыдзень. Цяпер у мяне пяць груп, свой клас у доме і індывідуальныя заняткі. Як я дайшоў да жыцця такі і як менавіта я вучу дзяцей, я раскажу ў гэтым артыкуле.

Я жыву ў Канадзе, горадзе Калгары, правінцыя Альберта, так што некаторыя моманты будуць злучаны з мясцовай спецыфікай.

памяшканне

Наяўнасць месца для заняткаў была з самага пачатку асноўнай праблемай. Я спрабаваў шукаць офісы і класы ў арэнду па гадзінах, але не вельмі паспяхова. Наш універсітэт і SAIT – мясцовы аналаг MIT – здаюць класы з кампутарамі і без. Кошты апынуліся тамака не вельмі гуманныя, а ў выніку высветлілася, што ўнівер не пускае непаўналетніх, а SAIT наогул здае толькі сваім студэнтам. Так што гэты варыянт адпаў. Ёсць шмат офісных цэнтраў, якія здаюць пакоі для нарад і офісы па гадзінах, ёсць цэлыя кампаніі, якія прапануюць кучу варыянтаў ад паўнавартаснага класа да пакойчыка на чатыры чалавекі. У мяне былі надзеі, бо Альберта нафтавая правінцыя, у нас з 2014 года вялацякучы крызіс, і многія бізнес-плошчы пустуюць. Дарма я спадзяваўся, кошты аказаліся настолькі конскімі, што я нават спачатку не паверыў. Уладальнікам прасцей сядзець на пустых офісах і плаціць выдаткі, чым дэмпінгаваць.

У гэты момант я ўспомніў, што спраўна плачу падаткі, і ці няма чаго там у нашай дарагой дзяржавы, дакладней - у горада Калгары. Аказалася, што вельмі нават ёсць. У горада ёсць арэны для гульні ў хакей і іншых фігурных катанняў, а ў гэтых арэнах ёсць пакоі, дзе суровыя лядовыя ваяры абмяркоўваюць стратэгіі будучых бітваў. Карацей, пры кожнай арэне ёсць пара пакояў са сталамі, крэсламі, белай дошкай і нават мыйкай з імбрычкам. Кошт цалкам боскі - 25 канадскіх тугрыкаў за гадзіну. Я першапачаткова вырашыў рабіць заняткі па паўтары гадзіны, таму прызначыў кошт за занятак $35 з носа ў групе на пяць чалавек, каб кампенсаваць арэнду, ну і сабе нешта ў кішэню пакласці. У цэлым, мне падабалася займацца ў арэнах, гэта вырашала адну з праблем - большасць рускамоўных жывуць на поўдні, а я жыву на поўначы горада, таму я абраў арэну прыкладна пасярэдзіне. Але былі і нязручнасці. Канадская бюракратыя добрая і прыязная, але, як бы мякчэй сказаць, бывае некалькі непаваротлівай. Няма праблем, калі абвыкаеш да рытму і плануеш загадзя, але часам узнікаюць непрыемныя моманты. Напрыклад, на сайце горада можна зручна абраць час і месца, зарэзерваваць пакой, але заплаціць нельга, ніяк. Яны самі тэлефануюць па тэлефоне і прымаюць аплату карткай. Можна паехаць у офіс і заплаціць гатоўкай. Быў пацешны, але не вельмі прыемны момант, калі я чакаў іх званка, каб заплаціць за другі занятак, не дачакаўся, а ў офіс у апошні дзень спазніўся на пятнаццаць хвілін. Прыйшлося з нахабнай пысай падыходзіць да аховы і хлусіць, што пакой забраніраваны. Мы, канадцы, верым на слова, мяне спакойна пусцілі і не сталі нічога правяраць, але я б не стаў так рабіць, калі б людзі ўжо не ехалі на занятак.

Так я займаўся зіму і вясну, а потым адбыліся змены, якія сталі апошняй кропляй. Па-першае, офіс закрылі для наведвальнікаў і прапанавалі прымаць аплату па тэлефоне за вуглом. Я прасядзеў не менш як паўгадзіны на праходзе, перш чым дазваніўся. Па-другое, калі раней мілая цётачка брала ў мяне аплату за паўтары гадзіны, то зараз трубку ўзяла нейкая дзеўка і заявіла, што аплата толькі па гадзіне. У мяне на той момант гурт быў то тры, то два чалавекі, і лішнія $12.5 былі зусім не лішнімі. Я, вядома, ідэйны, але калі жонка мяне выгоніць на вуліцу, то выкладаць будзе няма каму. Я тады яшчэ быў без працы.

І я вырашыў пайсці ў бібліятэку. Бібліятэкі здаюць выдатныя пакоі цалкам бясплатна, але там ёсць адно але - нельга весці камерцыйную дзейнасць. Нават дабрачынныя арганізацыі не маюць права збіраць тамака грошы. Мне казалі, што гэта асабліва не кантралюецца, галоўнае проста там не браць грошы на ўваходзе, але я вельмі не люблю парушаць правілы. Яшчэ адна праблема - пакоі часта занятыя і складана праводзіць заняткі па раскладзе ў адзін час у адным месцы. Я выкладаў у бібліятэках лета і пачатак зімы, даводзілася выбіраць тыя, дзе ёсць месца, у выніку я змяніў пяць-шэсць бібліятэк. Потым пачаў браніраваць месца за два месяцы, і тое, атрымалася так зрабіць толькі ў адной маленькай бібліятэчцы, у астатніх рэгулярна не было месцаў на патрэбны час. І тады я вырашыў зрабіць кампутарны клас дома. Павесіў дошку, купіў па аб'яве другі стол і пару старых манітораў. Па працы мне фірма купіла новы магутны наўтбук, таму што на маім кампутары аналіз займаў амаль 24 гадзіны. Разам у мяне быў новы стары кампутар, стары стары кампутар, лаптоп, у якога мой дробны раздушыў экран і старажытны нетбук, на якім экран раздушыў я сам. Я іх усё падключыў да манітораў і паставіў усюды лінукс мінт, акрамя нетбука, на які паставіў зусім лёгкі дыстрыбутыў, здаецца, татцы. У мяне яшчэ ёсць стары новы лаптоп, набыты за $200, я яго падлучыў да тэлевізара. Яшчэ, што немалаважна, наш гаспадар нядаўна памяняў нам акенцы, і ў пакоі зараз замест жудаснага разваленага ўбоства новыя белыя рамы. Гасціную, кухню і другую спальню жонка трымае пад дзіцячы садок, таму ўвесь паверх атрымаўся чыста педагагічны. Такім чынам, зараз з памяшканнем усё добра, пяройдзем непасрэдна да выкладання.

Скратч

Я пачынаю даваць асновы праграмавання з мовы скратч. Гэта мова, якая выкарыстоўвае гатовыя блокі, прыдуманы ў свой час у MIT. Большасць дзетак ужо бачыла скратч у школе, таму дастаткова хутка асвойваецца. Ёсць гатовыя праграмы і планы заняткаў, але мне яны зусім не падабаюцца. Адны дзіўныя - ствары сваю гісторыю, напрыклад. Уся праграма складаецца з незлічоных блокаў say '<...>' for 2 seconds. Відаць, што яе прыдумалі вельмі творчыя асобы, але з такім падыходам можна навучыць пісаць класічны індыйскі спагецці-код. Я ж з самага пачатку расказваю пра прынцыпы тыпу DRY Іншыя зборнікі заданняў цалкам добрыя, але дзеткі хутка ўнікаюць у сутнасць і пачынаюць рабіць іх як з кулямёта. У выніку за адзін урок робяць тое, што павінны былі за пяць. А на пошук і адбор заданняў ідзе шмат асабістага часу. Наогул, скратч больш нагадвае не мову, а IDE, дзе трэба проста запомніць, куды клікнуць і дзе што шукаць. Як толькі вучні больш-менш асвойваюцца, я стараюся перавесці іх на пітон. У мяне нават сямігадовая дзяўчынка на пітоне простыя праграмы піша. У чым я бачу карысць скратча - у ім такія ёсць асноўныя паняцці, якія засвойваюцца ў гульнявой форме. Чамусьці ўсім без выключэння вельмі цяжка зразумець ідэю зменнай. Я спачатку хутка прабягаў гэтую тэму і ішоў далей, пакуль не сутыкаўся з тым, што яны ўвогуле не ведаюць, што з гэтым рабіць. Цяпер я надаю пераменным шмат часу і пастаянна да іх вяртаюся. Даводзіцца займацца тупым долбежам. Я на экране мяняю розныя зменныя і прымушаю казаць іх значэнне. Таксама ў скратч ёсць кантрольныя структуры і праверкі значэнняў, тыпу while, for або if у пітоне. Яны даюцца дастаткова лёгка, толькі з укладзенымі цыкламі бываюць праблемы. Я імкнуся даваць некалькі задач з укладзеным цыклам, і каб дзеянне яго было навочна. Пасля гэтага я пераходжу да функцый. Нават для дарослых паняцце функцыі бывае невідавочнае, а для дзяцей - тым больш. Я доўга распінаюся, што такое функцыя ўвогуле, расказваю пра заводзік, які атрымлівае на ўваход прадметы, а выдае тавары, пра кухара, які з сырых прадуктаў робіць ежу. Потым мы робім праграму "зрабі сэндвіч" з прадуктамі, а потым робім з яе функцыю, якой прадукты перадаюцца як параметры. На вывучэнні функцый я сканчаю са скратчам.

пітон

З пітонам усё прасцей. Ёсць добрая кніжка Python for Kids, па ёй я і вучу. Там усё стандартна – радкі, парадак аперацый, print(), input() і г.д. Напісана лёгкай мовай, з гумарам, дзецям падабаецца. У яе ёсць недахоп, уласцівы шматлікім кнігам па праграмаванні. Як у вядомым жарце - як намаляваць саву. Авал - круг - сава. Ад простых паняццяў занадта рэзкі пераход да дастаткова складаных канцэпцый. У мяне на тое, што аб'ект змацоўваецца з метадам кропкай, ідзе некалькі заняткаў. З іншага боку, я не спяшаюся, паўтараю адно і тое ж на розны лад пакуль не складзецца хоць нейкая карціна. Я пачынаю са зменных і зноў долблю іх, ужо на пітоне. Пераменныя гэта нейкі праклён.

Кемлівы студэнт, які пару месяцаў таму спрытна пстрыкаў зменныя на карацей, глядзіць, як баран на новыя вароты і не можа скласці ікс з ігрэкам, якія радком вышэй відавочна на дошцы напісаны. Паўтараем! Што ёсць у зменнай? Імя і значэнне! Што значыць знак роўнасці? Прысваенне! А як мы праверым роўнасць? Падвойны знак роўнасці! І так паўтараем зноў і зноў, да поўнага прасвятлення. Потым пераходзім да функцый, там даўжэй за ўсё займае тлумачэнне пра аргументы. Найменныя аргументы, па пазіцыях, па змаўчанні і гэтак далей. Да класаў мы яшчэ ні ў адной групе не дайшлі. Акрамя пітона па кніжцы мы вывучаем папулярныя алгарытмы, пра гэта далей.

Уласна, навучанне

Урок у мяне ўладкованы так - паўгадзіны я даю тэорыю, правяраю веды, замацоўваю пройдзенае. Гадзіна - лабы. Часта я захапляюся і вяшчаю да гадзіны, тады на практыку застаецца паўгадзіны адпаведна. Калі я вучыў пітон, я прагледзеў курс Алгарытмы і Структуры Дадзеных Хір'янава з МФТІ. Мне вельмі спадабалася яго пераказ і структура лекцый. Яго ідэя такая - фрэймворкі, сінтаксіс, бібліятэкі - састарваюцца. Архітэктура, камандная праца, сістэмы кантролю версій - пакуль рана. У выніку застаюцца алгарытмы і структуры дадзеных, якія даўно вядомыя і будуць заўжды ў падобным выглядзе. Я сам з інстытуцкага паскаля толькі інтэжэры і памятаю. Так як у мяне вучні ў асноўным юныя, ад сямі да пятнаццаці гадоў, я лічу, што для іх будучыні важней закласці асновы, чым хутчэй напісаць платформер на пітоне. Хаця, ім больш хочацца платформер, і я іх разумею. Алгарытмы я ім даю простыя - бурбалка, бінарны пошук у сартаваным спісе, зваротная польская натацыя з дапамогай стэка, але мы кожны разбіраем вельмі падрабязна. Высветлілася, што сучасныя дзеці не ведаюць у прынцыпе як уладкованы кампутар, таксама расказваю. Я стараюся ў кожнай лекцыі звязаць некалькі паняццяў разам. Напрыклад, кампутар – памяць/прац – памяць з вочак (даю патрымаць плашчак памяці, адгадайце, колькі тут вочак) – кожнае вочка як лямпачка – ёсць два станы – true/false – and/or – бінарная/дзесятковая – 8біт = 1байт – байт = 256 варыянтаў - лагічны тып дадзеных на адным біце - цэлыя лікі на адным байте - float на двух байтах - string на адным байце - самы вялікі лік на 64 бітах - спіс і картэж з папярэдніх тыпаў. Я абумаўляюся, што ў рэальным кампутары ўсё некалькі інакш і іншая колькасць памяці для гэтых тыпаў дадзеных, але галоўнае, што мы самі падчас ствараем больш складаныя тыпы дадзеных з прасцейшых. Тыпы дадзеных гэта, мабыць, самае складанае, што трэба запомніць. Таму я кожны занятак пачынаю з хуткай размінкі - адзін вучань называе тып дадзеных, наступны прыводзіць два прыклады, і так па крузе. У выніку я дамогся таго, што нават самыя юныя дзеткі бадзёра крычаць - float! boolean! seven, five! pizza, car! Падчас лекцыі ўвесь час тузаю то аднаго, то іншага, інакш яны хутка пачынаюць калупаць у носе і глядзець у столь. Ды і ўзровень ведаў кожнага трэба правяраць паміж справай.

Мае вучні не перастаюць мяне здзіўляць як сваёй тупасцю, так і нечаканай кемлівасцю. Кемлівасцю, на шчасце, часцей.

Жадаў напісаць больш, але і так прасціна атрымалася. Адкажу з задавальненнем на ўсе пытанні. Любую крытыку ўсяляк вітаю, толькі просьба — быць больш памяркоўнай адзін да аднаго ў каментарах. Гэта добры артыкул.

Крыніца: habr.com

Дадаць каментар