Студенти й викладач Beetroot Academy розповідають, як влаштований інтерактивний курс Рython і де після навчання стануть у пригоді знання.
Нікого не здивую тим, що для мене англійська — друга базова мова. Так і Python має стати у моєму резюме наступною мовою програмування після C#. На ньому кодять у Google, NASA й Instagram. Тепер і я, у своїй однушці на Позняках, сиджу на дивані й намагаюсь створити чат-бота за всіма канонами пайтона. Але давайте по черзі.
Минулого року я закінчила курс C# — загорілася робити мобільні додатки на IOS та Android. Знайшла двох американських замовників і працювала собі спокійно півроку, поки у них не закінчився бюджет. Довелося швидко думати: що ще такого вивчити, щоб не прогоріти? Мені було важливо знайти практичний курс з програмування. Хотілося вчитися й одночасно кодити в реальних проєктах. Так я обрала Python.
Мова лаконічна, прискорює тривалість розробки й за синтаксисом нагадує англійську. Поки у C# створиш проєкт, напишеш пару класів, у Python — метод написала у notepad++, запустила з командного рядка, і все запрацювало. У Python немає складних символів, прихованих змінних, заголовків і зайвого коду. Копіюючи структуру англомовних речень, за бажанням можна засвоїти базові поняття.
Пам'ятайте мій крах із попередньою роботою? Коли замовники затихли, а в Beetroot Academy я тільки проходила співбесіду, подалася в контент-аналітики. Хто б міг подумати, що Python тут стане у пригоді. Моя основна робота відбувається в Excel. Python дав більше інструментів для редагування тексту і структурування великих масивів інформації.
Ми навчаємося у месенджері Discord. Спілкуємося всією групою в основному каналі та у віртуальних аудиторіях по 3–4 людини. Матеріали постійно під рукою. Викладач завжди щедрий на корисні посилання.
Сергій Довгополюк, викладач курсу навчання Python у Beetroot Academy Vinnytsia: «Я обрав тактику — менше пояснювати і давати більше практики. Показую студенту на прикладі його коду, що десь є помилка, і даю 3–4 джерела в інтернеті з відповіддю. Насправді вона може бути лише в одному посиланні. Я спеціально так роблю, щоб студент сам переглядав, аналізував і розумів, що йому потрібно».
На другому уроці ми вже виконували завдання середини модуля. У LMS-системі (програмі для дистанційного навчання, — ред.) хороші вступні відеолекції. Однак по ходу курсу не вистачає більш складних задач. Лектор розбавляє програму своїми завданнями. Так ми бачимо, як теорія працює у реальних проектах.
Одного разу застопорилися на класах і роботі з файлами. Викладач раз за разом давав схожі завдання, щоб усі нарешті розібралися. Одне з таких — створити й протестувати застосунок для флористів. У результаті впоралися та обігнали програму на декілька уроків.
Сергій Довгополюк: «Коли вивчали декоратори — шаблони, котрі змінюють частину структури коду — я дав студентам власні завдання. Вони створювали й наповнювали CSV-файли, хоча за програмою їм це ще рано знати. На курсі немає посиленої роботи з математичними модулями, але своїх студентів я і в цьому натренував. Працюючи у сфері Data Science, я бачу, що пайтоністи потребують поглиблених знань в окремих темах».
У Python код перевіряю лінійно і виправляю помилки у процесі написання. У більшості мов програмування код збирається докупи і намагається запуститися. Якщо виникне помилка, не спрацює вся програма. Поспішаючи, можеш не переглянути окремий шматок коду, і на перший погляд усе буде нормально. Але варто користувачеві натиснути на злощасну частину коду, важлива функція заглючить. В інших мовах код не запустився б.
Ольга Прокопчук, Educational Manager у Beetroot Academy: «На одному із занять спостерігала класний метод: викладач кодить і навмисно припускається помилки, щоб у кінці програма не спрацювала. Студенти повинні розібратися, що пішло не так. Тут вмикається критичне мислення. Наш мозок звикає до певного темпу роботи, йому стає комфортно, і у певний момент він розслабляється. Студентів треба тримати у тонусі, і такі завдання в цьому допомагають».
Сергій Довгополюк: «Для пояснення Python на прикладах, долучаю спеціалістів із галузі. Нещодавно до нас підключався програміст із EPAM Systems. Розповідав про необхідність тестування. Студенти активно брали участь в обговоренні, наприкінці онлайн-дзвінка розпитували нас із гостем і просили частіше запрошувати фахівців».
Створити бекенд сайту на Python можна за допомогою безлічі фреймворків. Найпопулярніші — Django і Flask, які ми розбираємо на курсі. Однак для повноцінного графічного оформлення знадобиться HTML/CSS.
Заморочуватися над сайтом не хочу, тому для фінального проєкту обрала Telegram-бот. Ідея така: користувач запитує про якесь поняття або подію, а бот відповідає зведеною інформацією з «Вікіпедії» з посиланням на джерело. Не потрібно довго гуглити, все коротко і по суті. Планую зробити програму українською та англійською мовами.
Python застосовують у специфічній роботі з текстовими й цифровими матеріалами, машинному навчанні, Data Science, DevOps і системному адмініструванні. Тому тепер без роботи не залишуся.
Дякуємо студенткам Олені Рольській та Ользі Бойчук, студентам Олександру Бутенко і Сергію Шостаку, а також викладачеві курсу Python Сергію Довгополюку та Educational Manager Ользі Прокопчук за допомогу у підготовці матеріалу.