«Я просто роблю те, що мені подобається». Як 18-річний студент навчає дітей програмуванню та видає підручники з Python
Євгену Козолупу лише 18 років, а він вже викладає програмування в київському ліцеї, видає власні підручники з навчання Python та працює над розробкою онлайн-курсів. Спеціально для DOU Євген розповів про те, чому юний вік — не перешкода програмуванню, реалізації амбітних цілей та веденню всеукраїнського проекту з навчання програмуванню.
Разом з учнями Сумської ССШ #17
Як і чому захопився програмуванням
В 11 років у мене з’явився перший комп’ютер, і я почав з найпростішого — створював картинки, презентації та візуалізації. Хоча це все було доволі примітивно, мою зацікавленість помітили в школі й запропонували піти на курси програмування. Я був у п’ятому класі, і це здавалось мені чудовою пригодою. Проте надовго з навчанням не склалося: викладачу було нецікаво нас вчити. Спочатку він пропускав уроки, а потім просто повідомив, що занять більше не буде. Хоч мені і подобалось вивчати С++, я кинув.
Я продовжив займатися адміністраторськими функціями: допомагав учителям робити презентації, налаштовувати комп’ютерну техніку. По суті, працював системним адміністратором у своїй школі. Програмування знов мене затягнуло в дев’ятому класі. Тоді брат порадив переключитися на вивчення сучасних мов програмування. Я вирішив вивчати Python на платформі Prometheus. Чесно кажучи, навчатися на Prometheus було непросто: в курсі викладали за старою версією Python 2.7, коли вже був доступний Python 3.0. Та і формат подання інформації викладачів з КПІ також ускладнював процес навчання. Тож я підійшов до питання більш ґрунтовно: вивчав теми спочатку за курсом Prometheus, а потім шукав додаткову інформацію на профільних сайтах — читав статті та дивився відео на YouTube. Таким чином, десь за рік я опанував Python, паралельно створюючи власні конспекти.
Написання підручника з вивчення Python
Згодом хобі набрало несподіваних обертів. Коли я переходив до десятого класу, а моя сестра — до восьмого, я зацікавився підручником з інформатики, який їй щойно видали. За новою програмою в школі якраз починали вивчення мов програмування — було цікаво, що запропонують. Той підручник став великим розчаруванням. В книжках заклали Objective Pascal — стареньку мову програмування, яка майже ніде не використовується. Так, вивчити її в шкільному віці можна. Але як ці знання використати в житті? Коротше, я був проти марного витрачання часу і вирішив обговорити своє невдоволення з викладачами. Я запропонував вчити щось сучасніше — той же Python. Адже ця мова також проста у вивченні, але має беззаперечний «плюс» — її можна використати в майбутньому. Викладачі насторожено поставилися до цієї ідеї: ми довго сперечалися. Останнім їхнім аргументом була відсутність підручників з викладання Python. Тоді я спіймав їх на слові: домовились, що як я складу підручник з власних конспектів, вони за ним викладатимуть.
Після тієї розмови я почав створювати перший посібник для восьмого класу. Спочатку мав багато сумнівів, та врешті-решт я наважився. Мені ці матеріали допомогли опанувати Python: іншим також можуть стати у пригоді. Починав я сам, та коли мої конспекти почали використовувати для викладання, на допомогу прийшла моя вчителька з інформатики. Власне, вона вичитувала і редагувала майбутній посібник. Впевненості в тому, що цей підручник використовуватимуть чи що я маю достатньо знань, — не було взагалі. Я робив це лише тому, що хотів створити якісь матеріали з вивчення Python для дітей. Сам посібник — не втілення моїх знань: навпаки, він створювався, коли я сам вивчав Python. Та це і було його «родзинкою»: це — книжка, написана з точки зору учня, як йому простіше та зручніше засвоювати інформацію. Наразі я знаю набагато більше: сподіваюся, що зовсім скоро «доросту» до професійних навчальних праць з програмування.
Про нюанси видання власної книжки
Спочатку я хотів видати посібник «офіційно» — через видавництво. Та вирішив, що це може потребувати купи часу: затвердження та друк забирають місяці, а то і роки. Ми живемо в ХХІ столітті, тож чому б не спростити? Так я вийшов на спеціальний інтернет-ресурс видавництва «Основи» — «Сам собі видавець». Там можна завантажити власні матеріали, а від проданих книжок ви отримаєте невеликий відсоток як автор.
Цей шлях також мав певні нюанси: потрібна була серйозна комунікаційна кампанія та розповсюдження інформації. Я додався у Facebook-групи для викладачів інформатики, там просував свій посібник. Писав, хто я, чому створив книжку, давав посилання, розповідав про вартість. Потім заснував проект «Програмування в школі», який спочатку був комунікаційним майданчиком для просування підручників та методик викладання Python в школах. Згодом у межах проекту я почав проводити вебінари.
Наразі я вже видав три посібники. Всі вони коштували недорого — від 35 до 50 грн. Відповідно, від кожної проданої одиниці я отримував ще менше грошей. Та для мене цей проект — не про прибуток: я хочу, аби кожен посібник допоміг якомога більшій кількості учнів опанувати мови програмування. Нехай його придбають 500 осіб, але вчитися за ним буде тисяча чи більше. Те, що підручник не безкоштовний, а чогось вартує, важливо в якості мотивуючого фактора: люди читатимуть те, що придбають. Втім, я нікого не обмежував у використанні електронних копій: вчителі можуть розповсюджувати їх в класі, аби учні самі працювали з підручником. Я не вважаю це чимось поганим — навпаки, підтримую. Мені безмежно приємно розуміти, що один викладач може навчити понад 30 учнів за моїми посібниками.
Загалом, до різних куточків України я надіслав 800 комплектів електронних книжок для
Для людей, які придбали посібники, я інколи створюю опитувальники щодо якості матеріалу та зручності викладення. Здебільшого отримую позитивні відгуки: це дуже приємно. Звісно, є і ті, хто не хоче використовувати посібники безпосередньо у роботі з дітьми. Деяким вчителям зручніше брати посібники за основу власних конспектів, за якими вони викладатимуть матеріал. Хоча основний сенс цих підручників — вони прості та зрозумілі дітям, адже написані учнем школи.
Проблеми в навчанні мовам програмування
Я б виділив наступні проблеми, які стосуються навчання не лише у школі, а й у ВНЗ.
Замкнене коло застарілої інформації. Особливо коментувати не треба: Міністерство спочатку затверджує посібник, потім його друкують, лише тоді закуповують, після чого він потрапляє до рук учнів. Тобто мова йде про роки. А світ змінюється блискавично, тож коли ці «нові» підручники опиняться у студентів, вони знов будуть застарілими.
Брак кваліфікованих викладачів. Осіб, які мають власні проекти або можуть прикладно пояснювати кейси — одиниці. І це проблема, бо більшість викладачів у ВНЗ знають теорію, але на практиці не вміють її застосувати. Як наслідок — що? Учнів «морять» контрольними-самостійними (часто — на паперових носіях). А їм потрібні не сухі знання, а практика: лише за допомогою практики можна надійно опанувати програмування.
Допотопна техніка. Мало навіть відомих державних ВНЗ можуть похизуватися сучасною технікою. Здебільшого це такі старі машини, на яких навряд чи щось може працювати. Складно кодити на Python чи С++ на комп’ютері, якому вже 20 років, і він працює лише 15 хвилин.
Невдалі методики викладання. Багато вчителів інформатики не знають, як правильно викладати мови програмування чи інформатику. І справа навіть не у відсутності навичок програмування. Навчальна система стара, теми уроків розставлені у неправильній послідовності. Так, вчителі можуть поміняти уроки місцями, та треба не просто розірвати існуючу послідовність. Необхідно саме переформатувати курс, аби студент вчився простіше та ефективніше. А для цього треба бути класним програмістом. Бо щоб навести правильні приклади чи кейси для закріплення матеріалу, треба мати власний досвід. Варто прикладно показати, що за свої знання можна отримати гроші. Інакше навчання виглядає як суха теорія, яку незрозуміло як застосувати.
Хибне розуміння того, що потрібно учням. Бути крутими викладачами — це не просто пробубоніти тему уроку, а справді зацікавити своїх учнів, аби вони загорілись і захотіли програмувати. Бо програмування потребує величезної самостійної роботи. І якщо ти не розв’яжеш по 50 завдань з кожної теми — ти не навчишся. Аби досягти такої системності, треба бути зацікавленим, виховувати силу волі. Тож, аби допомогти учневі на цьому непростому шляху, потрібна сильна мотивація з боку вчителя.
Школа від МАН «Агенти змін», Київ
Про викладання в ліцеї та школі
Зараз мені 18 років, я навчаюсь на другому курсі НПУ Драгоманова на викладача інформатики. Паралельно веду проект «Програмування в школі» та вже викладаю. У
З початку цього року я також викладаю інформатику для
Порівняно з ліцеєм, до рідної школи було простіше влаштуватися: про мої здібності, досягнення та видані підручники там давно в курсі. До того ж, у Сумах не вистачає вчителів інформатики, тож оскільки я не лише гарно знаю Python, а й маю викладацький досвід, мене влаштували на неповну ставку. Неповну, бо я ще студент, і маю навчатися в університеті: з середи по п’ятницю я постійно в Києві — відвідую пари та викладаю в ліцеї. Мені до вподоби динамічне життя, але не знаю, наскільки мене вистачить: я вже зрозумів, що сном жертвувати не можна.
В ідеалі, я хочу покращити всю систему освіти. Та зміни починаються «тут і зараз», тож поки що я роблю максимум там, де я є — як викладач. Намагаюсь змінювати систему оцінювання, вигадувати цікаві формати уроків, застосовувати інноваційні підходи у викладанні. До прикладу, на уроках комп’ютерної графіки ми вирішили повторити експеримент Олександра Грехова — «Квантовий стрибок Шевченка»: створимо векторні зображення інших відомих осіб. На уроках комп’ютерної презентації робитимемо виступи у форматі TED. Цього року також вивчатимемо програмування за іншими моїми новими напрацюваннями.
Мені справді подобається спілкуватися з учнями, шукати до них підходи. До того ж, я чудово усвідомлюю роль викладача у процесі вивчення мов програмування. Для мене важливі не «знання заради знань», а навички, які можна потім використовувати в реальному житті. Це також працює і в зворотному напрямку: коли я викладаю, то отримую напрацювання для нових книжок.
Про виклики
Одне з найбільш складних завдань — виступати на освітніх форумах чи інших масштабних тематичних подіях. Уявіть:
Також було непросто зі сприйняттям мене як викладача. Спочатку, у власній школі, до мене ставилися як до учня. Та після першого візиту завуча на мій урок вчителі все ж почали сприймати мене як колегу. Я дуже люблю свою школу та колектив: вони мені значно допомагають. Той факт, що я зараз викладаю у школі, де навчався сам, полегшує занурення у процес. Мені допомогли адаптуватися до структури уроків, заповнення документації та інших нюансів.
Та якщо чесно, починати працювати в школі було складно. І справа не лише в бюрократії: вона є, але все не так погано, як ми вважаємо. Я звик вести свої заняття у форматі гуртків, курсів чи онлайн-занять. І це кардинально відрізняється від того, як прийнято проводити уроки в звичайній школі. Там ти маєш 45 хвилин, власний конспект, структуру уроку і мусиш наперед передбачати більшість кроків. Направду, складно провести цікавий та продуктивний урок, коли ти знаєш, що необхідно дотримуватися структури, і треба: перевірити домашку, акцентувати увагу на найважливішому, дати нову домашку, зробити практичну роботу, заповнити журнал, відмітити відсутніх. Планування та створення документів, календарних планів та звітів, заповнення журналів — все це дуже виснажує. Так, зараз є певні зміни, які полегшують життя викладача. Наприклад, вже немає чіткої програми, розписаної за пунктами — переліку тем, порядку їхнього засвоєння з чітким списком завдань. Натомість визначені компетенції та навички, які дитина має опанувати в ході навчання. Це додає свободи, але і відповідальності: вчитель самостійно вирішує, як структурувати навчальний процес за черговістю тем, власноруч обирає практичні завдання тощо.
В ході навчання я намагаюсь якомога більше обходити бюрократичну систему. Для мене це і є найбільшим викликом: діяти в межах правил, відповідно до Закону про середню освіту, але водночас бути новатором і орієнтуватися на учнів. Бо головне завдання — в цих межах знайти індивідуальний підхід до кожного класу. І, повірте, вони за рівнем підготовки значно відрізняються. Наприклад, є класи з розвиненим критичним мисленням: їм достатньо лише дати завдання, вони самі його розв’яжуть, ви обговорите результат — і після цього вони опанують інформацію. Є класи слабші, де ми не можемо зробити векторну графіку, адже треба більшу увагу приділити теорії. Та моє головне завдання — аби наприкінці заняття чи курсу діти з обох класів вміли користуватися певними сервісами за визначеними принципами роботи. Щоб вони засвоїли необхідні компетенції, в своєму темпі і масштабі. Готувати конспекти під кожен рівень групи учнів — складно. Наприклад, в мене таких класів — шість, на кожен конспект треба мінімум дві години. А є вчителі, у яких груп значно більше: весь вільний час витрачається на підготовку до уроків. Тож я інколи хитрую: розробляю більш прості планові конспекти, а потім, залежно від умінь групи, адаптую їх до ситуації. Це також непросто, але я викручуюсь.
На заняттях в ліцеї «Лідер», 2018 рік
Про кар’єрні плани та навчання
Зараз я доробляю вже четвертий посібник — завершальний з циклу «Основи програмування» для шкільного курсу. Свої підручники я використовую у викладацькій практиці, втім, є і зворотній процес: під час викладання я також допрацьовую власні книжки, редагуючи їх під потреби учнів. Це створює додаткову цінність підручникам. Від початку «родзинка» була в тому, що їх писав учень для учнів. Тепер той самий учень подорослішав, набрався досвіду, і з огляду на викладацьку практику покращує ці підручники. Тобто тепер я дивлюсь на створення посібників не лише знизу вгору, але і безпосередньо згори — з позиції вчителя. Я вважаю, це додає їм цінності: потенційно ці книжки можуть стати одним з найбільш цікавих та корисних видань з навчання програмуванню.
Також ми з однодумцями створюємо освітню громадську організацію «Смарагдові» у Сумах. Ми прагнемо впроваджувати освітні ініціативи для всебічного розвитку дітей. Зокрема, маємо уявлення про ідеального, всебічно розвиненого українця — смарагдового. Саме цей колір ідеальний з точки зору психології. Таку людину ми виховуватимемо через різні освітні програми та підходи: лекції, тренінги, школи, заходи, табори та інші формати в нашому місті. У місті ще немає ГО зі схожими цілями. Також формат громадської організації допоможе нам партнеритися з іншими громадськими об’єднаннями в Сумах та Україні.
З найближчих планів — створити онлайн-курс, де б викладали різні фахівці з Сум та навіть самі учні. Це буде курс з програмування мовою Python для дітей. Хочемо, аби на умовах партнерської угоди курс могли використовувати для викладання в школах по всій Україні. З особливостей: не бажаємо, аби він прив’язувався лише до мови програмування, тож додамо цікаві пояснення складних речей — тих чи інших алгоритмів, структур даних. Це буде зроблено цікаво, просто та зрозуміло, аби діти змогли опанувати інформацію. Моя ідея — робити це в Google Classroom чи подібних сервісах, бо вони дозволяють залучити вчителів безпосередньо до розробки курсів, в який закладені мої авторські матеріали. Тобто колеги можуть отримати дублікат курсу, але викладачами будуть саме вони: інтегруватимуть мої відео та конспекти в свої уроки, але бали виставлятимуть за власною системою. На мою думку, такий підхід більш зрозумілий та зручний.
Саме тому я не орієнтуюся на відомі навчальні платформи онлайн-освіти, такі як EdEra та Prometheus. Я їх дуже поважаю, та їх складно застосовувати для навчання в школі. Кожному учню треба залогінитися в систему, використовувати систему оцінювання платформи, отримати їхній сертифікат для підтвердження своїх знань. Для персонального навчання це — крутий підхід. Та для школи я хочу більшої гнучкості. Можливо, в майбутньому зможемо розробити власну систему зі схожими принципами під власні цілі — певну альтернативу Moodle.
Щодо саморозвитку — працюю над тим, аби стати досвідченим програмістом та бути прикладом своїм учням. Зараз фокусуюся на вивченні С та С++, а також більш складних темах та алгоритмах Python. Цього року планую відправити декількох учнів з нашої школи на олімпіаду з інформатики — будемо рухатися і надалі в цьому напрямку.
Мені здається, мої різні компетенції складаються у якийсь пазл: від продажів, коли я поширював інфо про підручник, до технічної частини — вміння програмувати, початку викладацької кар’єри. Це все може скластися у цікаву картину в майбутньому. Якщо чесно, я ще не знаю, чим займатимусь. Я просто роблю те, що мені подобається: зараз мені подобається програмувати, викладати та проводити лекції — я це і роблю. І взагалі, вважаю це гарною стратегією — робити те, що подобається. Адже навички та досвід накопичуються, головне — не проґавити шанс все це застосувати.