Працуючы ў аб’яднаннях па інтарэсах па праграмаванні, педагог імкнецца знайсці аптымальны тэмп развіцця вучняў. Калі марудзіць з пераходам на больш складаныя ўзроўні, школьніку стане нецікава. Калі пераходзіць занадта хутка, ён згубіць матывацыю праз цяжкасці.
Пры гэтым трэба падабраць такія платформы і мовы праграмавання, каб яны адпавядалі інтарэсам групы і давалі магчымасць ствараць цікавыя праекты. Абапіраючыся на свой вопыт, мы сабралі найбольш папулярныя мовы праграмавання і склалі ў ланцужок, згодна з узростам, калі матываваным вучням варта іх прапанаваць. Атрымаўся своеасаблівы маршрутны ліст. Спадзяёмся, ён дапаможа вам выбраць напрамкі развіцця для вашых выхаванцаў.
Ці сутыкаліся вы на ўроках інфарматыкі з негатыўнай рэакцыяй школьнікаў на мову праграмавання Pascal? Адны лічаць яе састарэлай і нецікавай, другія — надзвычай складанай і незразумелай, трэція не разумеюць, што карыснага можна стварыць з дапамогай кода ў Pascal.
З-за такой рэакцыі набіраюць папулярнасць больш простыя візуальны асяроддзі праграмавання (накшталт папулярнага сёння Scratch). Тут існуе іншая небяспека: калі дзіця занадта доўга карыстаецца такім асяроддзем, яно прывыкае і неахвотна пераходзіць да больш складаных інструментаў. Маўляў, навошта, калі я ўжо праграмую?
Назіраючы за гэтым, мы прааналізавалі сваю практыку: акрамя школьных урокаў, мы праводзім дадатковыя заняткі па праграмаванні ва ўстановах адукацыі, дзе працуем, і ў прыватных цэнтрах. Для аб’яднанняў па інтарэсах асабліва важна, каб дзеці былі зацікаўлены — інакш яны проста не прыйдуць на наступныя заняткі. З іншага боку, нам, педагогам, важна даваць сапраўдныя веды і развіваць здольнасці.
Каб знаходзіць мяжу паміж забаўляльнасцю і карысцю для адукацыі, мы склалі своеасаблівую карту моў праграмавання. Зыходзячы са свайго вопыту работы з вучнямі 2—10 класа, мы сабралі візуальныя і скрыптавыя мовы праграмавання і размеркавалі іх згодна з узростам вучняў, для якіх яны падыходзяць.
Мы раім карыстацца гэтай распрацоўкай на любых дадатковых занятках. Можна выбраць некалькі найбольш зручных і цікавых для вас моў рознага ўзроўню складанасці і паступова прапаноўваць вучням пераходзіць ад адной да наступнай. Вельмі важна правільна арганізаваць пераход да складанай мовы: прапанаваць простыя задачы, даваць падказкі, а калі гэта “дарослая” праграма — уключыць рэжым Turtle (ад англ. — чарапаха; рэжым для навічкоў, які спрашчае карыстанне праграмай і паказвае дадатковыя падказкі і тлумачэнні). Важна адсочваць, як школьнікі рэагуюць на новую мову: калі задача падаецца занадта складанай, дзеці і падлеткі губляюць цікавасць. Тады можна вярнуцца да мінулага інструмента ці паспрабаваць іншы.
У выніку атрымаецца своесаблівы ланцужок ад дашкольніка да праграміста ўзроўню Junior: ад праграмавання без камп’ютара дзіця пераходзіць спачатку да візуальных моў праграмавання, а пасля — да скрыптавых.
Праграмаванне без камп’ютара. Ідэя такіх заняткаў у тым, каб навучыць дзяцей асновам алгарытмаў, базавым правілам і тэрмінам праграмавання. На такіх занятках праз гульню, звычайна нават не асэнсоўваючы працэс навучання, дашкольнікі фарміруюць свае першыя ўяўленні пра код. Напрыклад, патлумачыць дзіцяці тэрмін “інтэграцыя” вельмі складана, але прайграць саму інтэграцыю проста. У выніку дзіця, можа, і не сфармулюе дакладнае азначэнне гэтага слова, але будзе разумець яго, калі, напрыклад, сустрэнецца з гэтай з’явай у Scratch.
Здаецца, што праграмаванне без камп’ютара — гэта проста: патрэбны толькі папера і аловак. Але самае складанае для настаўніка ў такіх занятках — распрацаваць пад свае мэты гульні, эстафеты, заданні. Мы раім пашукаць матэрыялы на гэтую тэму ў інтэрнэце: такія заняткі набіраюць папулярнасць, таму калегі выкладваюць шмат сваіх распрацовак. Асабліва прадукцыйным будзе пошук на англамоўных рэсурсах.
Kodu Game Lab — з 1 класа. Пра сэрвіс ведаюць мала, але гэта вельмі зручны сродак для навучання дзяцей, якія яшчэ не ўмеюць чытаць. У Kodu Game Lab школьнікі па малюнках складаюць простыя гульні, быццам бы будуючы блок-схему з адказаў на пэўныя пытанні (хто, што робіць, як).
Сэрвіс падабаецца і старэйшым дзецям, бо дазваляе працаваць з аб’ектамі ў 3D. Нават падлеткаў захапляе магчымасць будаваць шматмерныя лакацыі і сачыць за персанажам з розных пунктаў гледжання, а таксама гуляць у гульні, створаныя ў Kodu Game Lab, на кансолі Xbox.
Scratch — з 2 класа. Дазваляе ствараць першыя праграмы ўсім, хто толькі навучыўся чытаць. Важна не затрымлівацца на гэтым асяроддзі праграмавання і пераходзіць на скрыптавыя мовы ў 4—5 класе. Інакш у дзяцей з’яўляецца пачуццё, што яны ўмеюць праграмаваць, хаця работу з алгарытмамі ў Scratch нельга назваць праграмаваннем. Нават стваральнік Scratch Мітчэл Рэзнік падчас візіту ў Мінск падкрэсліваў, што гэты сэрвіс — толькі для малодшых школьнікаў.
Выключэнне: Scratch можна прапанаваць у сярэдняй школе, каб хутка патлумачыць непадрыхтаваным вучням асновы алгарытмаў і перайсці да больш сур’ёзных праграм.
Lua — з 3 класа. Гэта ўжо сінтаксічная мова. Яна дазваляе паступова перайсці ад візуальнага да скрыптавага асяроддзя, бо інтэгравана са Scratch.
Яшчэ адна перавага Lua — з яго дапамогай можна ствараць віртуальны свет у Minecraft, папулярнай у сённяшніх школьнікаў гульні. Па нашых назіраннях, вучні гатовы актыўна працаваць над любой, нават самай сумнай ці складанай тэмай, калі ўпакаваць яе ў гэтую гульню. У Minecraft можна праграмаваць гульнявыя ўзроўні, праходзячы якія вучань адказвае на пытанні, што ў выглядзе шыльдачак пакідае на карце педагог.
Яшчэ адно нечаканае адкрыццё — Lua матывуе вывучаць англійскую мову і ўважліва ставіцца да сінтаксісу кода: у ім заўважны ўсе памылкі і недахопы, і праграма не выконваецца, пакуль яны не выпраўлены.
Нарэшце, Lua — гэта першая ў нашым спісе мова праграмавання, якая можа спатрэбіцца ў рабоце праграміста. Мы сочым за вакансіямі і бачым, што час ад часу ІТ-кампаніі шукаюць спецыялістаў па гэтай мове.
Stencyl — з 4—5 класа. Канструктар гульняў. З аднаго боку, ён падобны да Scratch, бо алгарытм таксама складаецца з асобных блокаў. А з іншага — намнога больш складаны, блізкі да “дарослай” платформы Unity. На Stencyl зручна вывучаць фізіку аб’ектаў: працаваць з каардынатамі, вагой, гравітацыяй. Падчас заняткаў зручна рабіць акцэнт на графіцы, дэталёвай прамалёўцы элементаў.
Значны плюс для настаўніка — на сайце канструктара размешчана шмат гатовых распрацовак урока. Актыўная супольнасць настаўнікаў на форуме Stencyl пастаянна дзеліцца новымі заданнямі, якія можна выкарыстоўваць на занятках.
Small Basic — з 5 класа (пасля Scratch). Скрыптавая мова праграмавання, створаная як альтэрнатыва Scratch. У інтэрфейсе Small Basic зручна вывучаць сінтаксіс моў праграмавання, бо ён падтрымлівае рускую мову.
Small Basic часта выкарыстоўваюць для праграмавання робатаў з набораў Lego EV3. У інтэрнэце шмат рускамоўных распрацовак для заняткаў па робататэхніцы з выкарыстаннем Small Basic.
Python — з 5 класа. Яшчэ адна мова праграмавання, на якую можна перайсці пасля Scratch. Яна даецца лёгка дзякуючы простаму сінтаксісу. Каб праводзіць заняткі ў даступнай форме, мы раім пачаць з малюнкаў у рэжыме Turtle ці зноў звязаць праграмаванне з гульнёй Minecraft (падключыць яго да Python складаней, але вынік таго варты!).
У якасці матэрыялу для заняткаў можна выкарыстоўваць відэа з YouTube-каналаў, дзе педагогі тлумачаць, як адны і тыя ж каманды складаюцца ў Scratch і пішуцца на Python.
App Inventor — з 6 класа. Асяроддзе візуальнай распрацоўкі, якое выкарыстоўваюць для стварэння дадаткаў для мабільных тэлефонаў. Гэта прататып Android Studio (прафесійнага асяроддзя праграмавання, у якім ствараюць дадаткі для тэлефонаў з АС Android), таму школьнікі могуць распрацоўваць дызайн дадаткаў, прапісваць кампаненты, а пасля праграмаваць яго паводзіны.
Семантыка App Inventor значна больш складаная, але дзеці ахвотна яго вывучаюць, бо ў выніку атрымліваюцца сапраўдныя дадаткі, якія можна паказаць сябрам і бацькам на сваім тэлефоне. А, па нашых назіраннях, у сярэдняй школе вучні гэтак жа моцна захапляюцца ўсім, што звязана з тэлефонамі, як малодшыя школьнікі гульнёй Minecraft.
App Inventor можа стаць першай мовай праграмавання. Напрыклад, мы прапанавалі гэтую мову непадрыхтаванаму вучню, і ўжо праз гадзіну ён змог напісаць і запусціць прымітыўны графічны рэдактар.
HTML/CSS — з 6 класа (для падрыхтаваных вучняў). Вядуцца спрэчкі, ці можна называць HTML/CSS мовамі праграмавання, але тое, што яны запатрабаваны і вывучаць іх карысна, бясспрэчна. Матываваныя школьнікі могуць пачаць распрацоўку сайтаў з 6 класа. Калі ж дзеці яшчэ не валодаюць асновамі праграмавання, лепш пачынаць пазней.
Каб хутка ацэньваць і абмяркоўваць вынікі работы кожнага, мы выкарыстоўваем віртуальныя класы Repl.it. Тут педагог можа аб’яднаць вучняў у адзін клас, даваць заданні ў анлайне і адразу бачыць код і гатовы сайт, створаны кожным удзельнікам заняткаў.
JavaScript — з 7 класа. Адрозніваецца ад Python больш складаным сінтаксісам з вялікай колькасцю службовых сімвалаў, таму падчас першага знаёмства патрэбна асобна засяродзіць на іх увагу.
У нас быў вопыт заняткаў са змешанай групай з вучняў 6—7 класаў, якія першыя паўгода з нуля вывучалі AppInventar, а пасля перайшлі на JavaScript. Першы час мы прапанавалі толькі простыя заданні: стваралі прымітыўныя гульні, вучыліся працаваць з масівамі. У выніку выхаванцы даволі хутка атрымалі базавыя навыкі і сталі развівацца самастойна.
С# — з 7 класа. У асноўным у школьным узросце выкарыстоўваюць С# для таго, каб працаваць у Unity і ствараць прылады і гульні ў другім і трэцім вымярэннях.
Unity дазваляе раскрыцца творчым здольнасцям вучняў: тут цікава маляваць графічныя элементы гульні. Іншыя любяць займацца дызайнам механікі і настройваць паводзіны персанажаў, рухомых элементаў гульні. Дзякуючы С# і Unity, можна пераспрабаваць вялікую колькасць ІТ-прафесій, каб зразумець, у якім напрамку развівацца.
Java — з 8 класа (пасля вывучэння AррInventor ці скрыптавых моў). Адна з самых запатрабаваных моў праграмавання, якая актыўна выкарыстоўваецца для распрацоўкі дадаткаў для Android. Дапамагае глыбока зразумець праграмаванне, бо тут рэалізаваны прынцыпы аб’ектна арыентаванага праграмавання, арганізавана работа з памяццю і можна папрактыкавацца ў функцыянальным праграмаванні. Java дае добрую базу для далейшага самаўдасканалення і вывучэння новых інструментаў.
Настасся ВАЗЮЛЯ,
настаўніца інфарматыкі сярэдняй школы № 84 Мінска;
Аксана БУКІНА,
педагог дадатковай адукацыі гімназіі Дзяржынска.
Фота Мар’і ЯНКОВІЧ.