Досвід проведення безкоштовного онлайн курсу в розпал блекауту
Разом з минулим роком завершився безкоштовний online-курс «Flutter для початківців», про початок якого ми оголошували саме тут, на DOU.
Я хочу поділитись з вами своїм досвідом ведення цього курсу з 10 лекцій, за 2 місяці якого було розглянуто 326 заявок на вступ до навчальної групи, перевірено 198 тестових завдань, 178 домашніх робіт та видано 14 сертифікатів.
Презентації та відеозаписи лекцій доступні за посиланням:
Формат і тривалість навчання
На початку літа мені в голову прийшла ідея зробити цикл статей або серію освітніх вебінарів українською мовою по Flutter для початківців. Платформи, яка б задовільняла мої вимоги щодо публікації циклу статей, я не знайшов. Тому вирішив зупинитись на форматі вебінарів. Для запуску рекламної кампанії про курс вибрали початок осені, коли у людей більш навчальний настрій, аніж влітку. Отже, датою старту вибрали 20 жовтня, затвердили формат — 10 лекцій по одній годині щочетверга о 19:30.
Чому саме така кількість лекцій та час? Спочатку я думав зробити лекції по 2 години з перервою, щоб можна було більше часу присвятити обговоренню ДЗ, але порадившись з колегами вирішив, що більше ніж годину буде важко утримати фокус уваги студентів. Стосовно кількості в 10 лекцій, або 2,5 місяці — тут потрібно було витримати баланс між тим, щоб курс був достатньо коротким і не виснажував ні викладача, ні студентів та одночасно достатньою мірою інформативним — щоб розглянути всі основні аспекти розробки мобільних застосунків на Flutter.
Які були мої очікування від проведення курсу? Перед собою я ставив такі цілі:
- Підвищити свою значимість/самоцінність.
- Систематизувати наявні знання Flutter та набути нових, відповідаючи на запитання і готуючись до лекцій.
- Додати трішки контенту українськомовному IT-ком’юніті.
Забігаючи наперед, скажу, що вважаю виконаними 2 із 3 цілей, проте також відкрив для себе деякі інші приємні побічні ефекти.
Організація курсу
Допомагати з проведенням курсу взяла на себе сміливість Анна Волинець — івент-менеджерка компанії Реактор. Вона переклала на себе всю роботу, пов’язану з маркетингом, дизайном, відбором учасників курсу, комунікаціями, організацією відеоконференцій, модерацією запитань та телеграм-каналу і найголовніше — контролем дотримання дедлайнів та якості матеріалів до лекцій.
Перше питання, яке потрібно було розвʼязати — як організувати прийом, перевірку та фідбек по домашнім завданням, а також публікацію матеріалів та відеозаписів. Було розглянуто декілька варіантів LMS (Learning management system) і врешті-решт обрано платформу AcademyOcean і групу в телеграмі для швидкого зв’язку, можливості ставити запитання та нетворкінгу між студентами.
Одним з головних запитань, яким цікавилися студенти було: «Для чого ви проводите безкоштовний курс?» Курс не передбачав працевлаштування до компанії, що породило багато конспірологічних теорій. Мої улюблені це те, що мета курсу — протестувати платформу AcademyOcean або розкрутити акаунт автора на Leetcode.
Я очікував, що на курс запишеться
Щоб відсіяти тих, кому курс зовсім не потрібен і хто вирішив записатися лише тому, що він безкоштовний, ми попросли учасників пройти невеличке тестове: зробити будь-який застосунок на Flutter, завантажити його на гітхаб та надіслати нам посилання.
Саме DOU став основним каналом залучення людей: 78% прийшли до нас завдяки цьому розміщенню. 5759 переглядів цього івенту було власне на сайті, +18,4 тисячі на каналі для junior-спеціалістів від цього ж ресурсу. Також ми розмістили івенти у Facebook та Linkedin, на останньому додатково зробили розсилку в особисті повідомлення.
На першу онлайн-лекцію прийшло 140 слухачів та було близько 280 переглядів запису лекції на YouTube. Загалом перші кілька лекцій пройшли без значних перешкод: одного разу посеред лекції зникло світло, але заряджений ноутбук та мобільний інтернет врятували ситуацію. Проте потім стався блекаут і почалися регулярні відключення світла та зв’язку, що сильно вдарило по відвідуваності курсу та здачі ДЗ.
Проведення курсу під час блекауту
З точки зору викладача блекаут несе в собі 3 проблеми при підготовці лекцій та перевірці домашніх завдань: відсутність електрики, зв’язку та тепла.
Першу проблему вдалося вирішити відносно просто: кілька акумуляторних світильників та ноутбук, який заряджається від USB Type-C. Ідеальним вибором є макбуки з чіпом M1 — Air вистачає на 6 годин роботи, а Pro-версії на 12 годин. Тобто майже 2 робочих дні!
Відсутність зв’язку спершу стала проблемою, адже разом зі зникненням світла зникає і мобільний інтернет, але на щастя до нас в офіс завезли старлінк та генератор.
Найбільш болючою проблемою стала відсутність тепла — опалення в офісі на електриці, тому після зникнення світла вже впродовж години температура в приміщенні опускалася до 12 градусів. Остаточно ця проблема так і не була вирішена: доводилося тепло вдягатися, запасатися гарячим чаєм у термосі та лавіювати між навколишніми кафешками, в яких час від часу було світло.
Домашні завдання
Сильно вдарив блекаут і по студентах: згідно з опитуванням, більш як 70% студентів не мали змоги відвідати лекції онлайн та взагалі виконувати домашні завдання, адже світло та звʼязок часто зникали більше ніж на 3 дні.
На 10 лекцій курсу припало 5 домашніх завдань, що мали зростаючий рівень складності та потребували від студентів значної самостійної роботи. Перше домашнє завдання виконали 72 студенти, наступні відповідно 40, 33, 23 та 15. Якщо поглянути на динаміку відвідування лекцій, то 140 глядачів на першій і 86 на другій змінилися 21 слухачем на десятій.
Домашні завдання були поділені на 2 рівні складності — прості та ті, які потребують значної самостійної роботи від студента. Я намагався робити їх максимально близькими до реальності у всіх сенсах. Наприклад:
Blackout tracker
Зробити застосунок, який раз на годину зберігає наступну інформацію:
— поточна дата та час;
— відсоток зарядки;
— чи заряджається девайс зараз;
— чи підключений до Wi-Fi;
— чи є інтернет.
Інформація повинна зберігатись до persistent store (база даних, sharedpreferences, etc.).
Застосунок повинен мати UI що дозволяє переглянути цю інформацію в зручному вигляді.
Додатково, якщо є інтернет, застосунок має зберігати цю інформацію онлайн (dropbox, firebase, google drive, etc.).
Щоб зберігати інформацію раз на годину, можна використовувати workmanager.
Щоб перевірити, чи є інтернет, можна надіслати запит на будь-який відомий публічний ресурс (google, facebook, etc.).
Дизайн та технології студенти вибирали на власний розсуд. Кілька прикладів виконаних робіт:
В останному завданні, що було найскладнішим з усіх, нашим студентам потрібно було створити застосунок, який дозволяє створювати та передивлятись компанії та вакансії від них. Для цього було створено невеличкий сервер, щоб студенти могли попрактикуватися з REST API:
Сертифікат про завершення курсу отримали лише ті, хто виконав усі 5 домашніх завдань. Це була доволі складна задача: дедлайн на кожне завдання був приблизно за тиждень, і студенти писали, що їм доводилося працювати над завданням до 2 години ночі, доки є світло, щоб встигнути до дедлайну.
Сертифікат отримали 14 людей, тобто приблизно кожен десятий від тих, хто починав, що, я вважаю дуже непоганим результатом для безкоштовного онлайн-курсу в умовах блекауту.
У кінці навчання ми провели опитування серед студентів. Його пройшли 15 людей. Середні бали по враженнях за курс: 9,3 бала за організацію, 9,2 бала за якість викладання.
Відгуки про курс
«Найбільше сподобалось те, що курс читає людина, яка в цій області працює, а не якийсь абстрактний теоретик з університету, для мене, як зовсім не знайомого з flutter (але працював з іншими аналогами типу react, kotlin), цей курс був корисним, я познайомився з новою мовою програмування».
«Курс допоміг пришвидшити процес навчання, не зволікати, почати працювати з кодом, а не тільки перечитувати мануали та переглядати ролики, навчив активно юзати stack overflow, щоб розуміти, де мої помилки. Деякі сходинки курсу були досить важкими, довелось оперативно розбиратися з технологіями, якими не володів, такими як BloC, RESTful api. Зараз вже працюю на своїм пет-додатком, далі буду запускати в роботу більш складний проєкт. Хочу подякувати, що в такий неадекватний час з усіма блекаутами і нервами Ви знайшли можливість та час, здійснити заплановане до кінця!!!»
«Курс дуже сподобався. За невелику кількість годин подано багато тем, про які не згадують в інших джерелах. Тому він допомагає отримати нові знання, структурувати та розкласти по полицях здобуті раніше і є своєрідним планом дій для подальшого поглибленого вивчення Flutter. Сподобалась легка подача матеріалу українською мовою. З допомогою домашніх завдань я набув нових практичних навичок та потренувався робити застосунки з чітким дедлайном. Дуже дякую менторам Андрію та Анні за приділений час та організацію гарного курсу!»
Висновки
- Лише
10-30% відсотків студентів доходять до кінця курсу, і це нормально. Більшість учасників у процесі розуміють, що це не те, на що вони очікували, втрачають мотивацію або виявляються не готові витрачати час на самостійну роботу, окрім перегляду лекцій. - Тривалість курсу у
2-2,5 місяці є оптимальною, бо довший курс починає виснажувати і перетворюється з рушія на тягар. Після 5 тижня я вже трішки втомився і став приділяти курсу менше уваги, ніж планував на початку. - Для того щоб підготувати матеріал для одногодинної лекції, потрібно приблизно 6 годин, що значно перевищує час, на який я розраховував, коли планував курс. І це без урахування перевірки домашніх завдань.
- Стосовно моїх очікувань — в цілому вони виправдалися: я зробив вклад в українськомовне IT-ком’юніті та задовольнив свою жагу створити щось суспільно корисне. Нових знань що стосуються саме Flutter я отримав не дуже багато, адже я розповідав здебільшого базові речі та ті, на яких я добре розуміюся, не було особливо часу вивчати щось зовсім нове. Проте виявився один неочікуваний позитивний момент: під час роботи над курсом я значно краще став розбиратися в робочому проєкті та навіть виправив у ньому деякі баги, адже при підготовці до курсу я брав за основу деякі фрагменти коду з робочого проєкту, які в тому числі створювали інші розробники.
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів