Випуск курсу «Програмування на PHP»

Випуск другого набору курсу програмування на PHP для початківців


Усім привіт, з вами Дмитро Карпович і сьогодні ми будемо робити огляд на курс з програмування на PHP, що я викладав протягом минулих чотирьох місяців.

Ідеї про те, щоб зайнятися менторством, з’являлися у мене вже давно, але, напевно, завдяки ліні, ніяких фактичних кроків до їх здійснення я не робив. Може все це так і залишилося б в ідеях, якби минулої осені до мене не звернулись дівчата з Avivi Academy та не запропонували прочитати курс.

Спочатку я був трохи спантеличений пропозицією. Я? Читати курс? Та ні.

Але трохи подумавши, я все ж погодився. За основу навчального плану я використав курс розроблений Романом Слободенюком, що на той момент вже читав аналогічний курс в Академії. Але я вирішив трішки змінити підхід і більше сконцентруватися на практичній стороні навчання, тому більшість часу протягом лекцій студенти розглядали зразки коду, що одразу на їх очах виконувався і показував результат. На мою думку, такий підхід зменшує своєрідний «страх» до написання коду і дає можливість студентам під час лекції запустити приклад власноруч і одразу розібратися з практичними нюансами та проблемами. Оглядаючись назад, мушу зазначити, що такий підхід є не найефективнішим для усіх людей. Частина студентів, все ж, висловлювала бажання бачити більше теорії.

Почали ми навчання з групою у складі дев’яти людей. Перш за все, ми розібралися з робочим оточенням, щоб студенти вже після першого заняття могли запускати свої скрипти і якнайшвидше освоювати практичну частину ремесла. Під кінець успішно проведеної першої лекції, на комп’ютерах студентів миготіли вже давно стандартні для індустрії слова «Hello world». Хоча студенти ще не до кінця розуміли, що це і навіщо, але я бачив інтерес і захоплення в їх очах. На наступних заняттях ми розібрали основи синтаксису і основної поняття пов’язані з веб-розробкою загалом.

Після ґрунтовного засвоєння основ ми перебралися до роботи з клієнтом та сторонніми ресурсами. На цьому етапі студенти вже побачили, що їх скрипти виконують якусь реальну роботу. Замість абстрактних площ трикутників, чи рівнянь, їхні веб-сторінки вже могли зберігати та виводити інформацію. Все, що робили студенти, хоча і віддалено, але вже нагадувало реальні веб-сайти.

Наступним рубежем було освоєння об’єктно-орієнтованої парадигми програмування.

Мушу визнати, що цей етап вдавався не усім студентам одразу. Перш за все, для успішного проходження цієї частини навчання необхідно було розвивати навички абстрактного мислення.

Цей етап мав і для мене свої труднощі, адже концепції, що необхідно було пояснити, були вже не такими простими, як змінна, чи умовний оператор. Мова вже йшла про комплексні поняття, які необхідно було розібрати, детально декілька разів підбираючи різні приклади для кращого розуміння студентами.

Паралельно з розглядом принципів ООП ми не могли не згадати про composer — де-факто стандарт для екосистеми у світі php-розробки. Крім цього ми розглянули систему контролю версій git, що теж вважається must have в сучасній розробці. Студенти завели профілі на github та створили свої перші репозиторії. Сподіваюсь, що хтось із них продовжить свою активність там після навчання та стане ще одним учасником світової open source спільноти.

У моїх планах було познайомити студентів з одним із популярних веб-фреймворків та розібрати концепцію автоматизованого тестування, але я настільки захопився поясненням матеріалу, що не зміг вмістити увесь необхідний багаж знань у цих чотири місяці. Тому тестування у даному курсі розглядалось дуже поверхнево. Однак, сподіваюсь я зацікавив студентів цим напрямком і в майбутньому вони зможуть без проблем освоїти його самостійно.

Завершальним пунктом у навчальному плані був огляд веб-фреймворку Laravel.

З вибором фреймворку в мене виникли певні сумніви, я розглядав декілька варіантів. Серед них були і Symfony (який я все ж показав студентам, але лише в рамках короткого огляду) і Yii, що був прямим конкурентом Laravel. Але все ж я схилив свій вибір в бік Laravel, хоча розумію, що ця тема доволі «холіварна», і кожен з цих двох фреймворків чудово б підійшов як перший веб-фреймворк для студентів.

Після ознайомлення з основами Laravel студенти почали свою роботу над курсовими проектами. Вони були приємно здивовані зручністю і швидкістю розробки на основі фреймворку, оскільки багато речей, які вони раніше змушені були реалізовувати самостійно і вручну, тут були вже зроблені для них. Мені здається, в цей момент студенти дійсно відчули усю силу програмної інженерії :)

Як би це не було сумно, але до кінця навчання дісталися не всі. Цей факт, звісно, не міг мене не розчарувати. Але я сподіваюсь, що кожен студент почерпнув щось для себе з наших лекцій. Вважаю, що цінним уроком є навіть розуміння того, що ІТ-індустрія — це не так вже й просто, як здається на перший погляд.

А завершити мою розповідь хочу цитатою Сенеки: «Скільки б ти не жив, усе життя слід навчатися». Тому маю надію на те, що я показав студентам напрямок, в якому їм треба рухатися, щоб стати хорошими спеціалістами та спорядив їх у цей шлях необхідним багажем знань.

Дякую кожному, хто відвідував мої лекції та Avivi Academy за надану можливість реалізувати себе в новому амплуа. До нових зустрічей!


Як Нас Знайти

Контакти

м. Хмельницький

вул. Подільська, 109

Пiдписатись на Оновлення