Курс починається з HTML - мови розмітки веб-сторінок. Студенти вивчають базову структуру документа, теги та атрибути. Вони вчаться створювати текстові блоки, додавати посилання та зображення. Далі йде робота з табличною та блоковою версткою, формами та семантикою. Особлива увага приділяється створенню доступних веб-сторінок та роботі з респонсивними зображеннями.
Другий модуль присвячений каскадним таблицям стилів. Студенти освоюють способи підключення CSS до HTML, одиниці виміру та селектори. Вони вивчають властивості та значення CSS, принципи пріоритету правил. Практична частина включає роботу з відступами, кольорами, фоновими зображеннями та позиціонуванням елементів. Модуль завершується вивченням адаптивного веб-дизайну та CSS Box Model.
Цей блок поєднує два напрямки. Спочатку студенти ознайомляться з API тестуванням та інструментами розробника в Chrome. Паралельно вони вивчають основи Python - синтаксис мови, змінні, оператори, умовні вирази та цикли. Особлива увага приділяється функції print(), форматуванню рядків та роботі зі структурами даних.
Модуль охоплює повний цикл роботи з реляційними базами даних. Студи починають з основ SQL та керування користувачами в MySQL. Далі йде вивчення DDL-запитів CREATE, ALTER, DROP та робота з підзапитами. Практична частина включає основні операції вибірки, роботу з агрегатними функціями, групування даних та об'єднання таблиць за допомогою різних типів JOIN.
Цей розділ розкриває внутрішню архітектуру Python. Студенти вивчають протоколи, віртуальну машину, управління пам'яттю та GIL. Значна увага приділяється об'єктно-орієнтованому програмуванню та його реалізації в Python. Модуль також охоплює принципи тестування - від дизайну тестів до піраміди тестування, а також основи мережевої взаємодії та роботи з базами даних.
Студи вчаться створювати динамічні веб-додатки за допомогою Django. Вони освоюють ORM для роботи з базами даних, створення views та forms. Особлива увага приділяється побудові REST API та оптимізації продуктивності веб-додатків. Кожен студент навчиться створювати повноцінні веб-сервіси з нуля.
Завершальний модуль присвячений роботі з високими навантаженнями. Студенти вивчають паралельне програмування - потоки та процеси, розширення на C та FFI. Вони освоюють асинхронне програмування з asyncio, включаючи event loop та async/await. Модуль також охоплює профілювання коду, порівняння Python 2 та 3, та ознайомлення з мовою Go для розуміння альтернативних підходів.
Після завершення курсу ви зможете створювати GUI додатки, писати асинхронний код та парсити веб-сторінки. Ви навчитеся розробляти Django веб-сервіси різного рівня складності, створювати RESTful API та працювати з ORM. Додатково ви освоїте роботу з відкладеними завданнями через Celery.
Заняття проходять у Zoom двічі на тиждень по 2,5 години. Кожне заняття записується для повторення. Викладачі - практики з реальним досвідом у веб-розробці.