| Найменування показників | Галузь знань, спеціальність, ступінь вищої освіти | Характеристика навчальної дисципліни |
|---|---|---|
| Денна форма навчання | ||
| Кількість кредитів - 4 |
Галузь: 12 Інформаційні технології Спеціальність або освітня програма: 122 Комп'ютерні науки |
Статус дисципліни нормативна |
| Залікових модулів - 2 | Рік підготовки | |
| Змістових модулів - 8 | 2 | |
| Загальна кількість годин - 120 | Семестр | |
| 1 | ||
| Лекції (год.) | ||
| 36 | ||
|
Тижневих годин для денної форми навчання: аудиторних: 2 семестр – 2 години |
Ступінь вищої освіти: бакалавр |
Практичні, семінарські (год.) |
| 36 | ||
| Лабораторні (год.) | ||
| — | ||
| Самостійна робота (год.) | ||
| 48 | ||
| Індивідуальне завдання (год.) | ||
| — | ||
| Вид контролю: | ||
| Екзамен |
Метою дисципліни є формування у студентів компетентностей, необхідних для розробки динамічних веб-додатків за допомогою мови програмування PHP. Вивчення курсу спрямоване на освоєння основ синтаксису PHP, принципів обробки даних, методів розробки безпечних веб-додатків, а також на знайомство з сучасними підходами до програмування, включаючи об’єктно-орієнтоване програмування (ООП) та використання фреймворків.
В рамках курсу студенти отримають практичні навички написання серверного коду, взаємодії з базами даних, обробки користувацьких запитів та сесій, а також роботи з файлами та безпекою веб-додатків. Курс забезпечить розуміння основних концепцій PHP та надасть фундамент для подальшого поглибленого вивчення сучасних технологій веб-розробки.
Програма навчальної дисципліни складається з 4 змістових модулів
Тема 1. Вступ до веброзробки та екосистеми PHP Огляд архітектури клієнт-сервер. Встановлення та налаштування локального сервера (XAMPP/MAMP) та базовий синтаксис PHP.
Тема 2. Змінні, типи даних та оператори Детальне вивчення динамічної типізації в PHP. Робота з числами, рядками (конкатенація, інтерполяція) та логічними операторами.
Тема 3. Керуючі конструкції: умови та цикли
Керування потоком програми. Використання if, else, switch, match та циклів for, while, do-while для обробки даних.
Тема 4. Функції в PHP: вдосконалення коду
Створення користувацьких функцій, передача аргументів (за значенням і посиланням), розгляд області видимості змінних (global).
Тема 5. Структури даних: Масиви Знайомство з індексованими, асоціативними та багатовимірними масивами. Огляд корисних вбудованих функцій для масивів (сортування, пошук).
Тема 6. Основи протоколу HTTP та обробка запитів
Як клієнт (браузер) спілкується з сервером. Суперглобальні масиви $_GET та $_POST і передача параметрів в URL.
Тема 7. Робота з HTML-формами Отримання даних з форм від користувача. Базова валідація на стороні сервера (перевірка на порожнечу, тип даних).
Тема 8. Завантаження та обробка файлів
Вивчення суперглобального масиву $_FILES. Процес завантаження зображень та документів на сервер, переміщення та перевірка розширень.
Тема 9. Збереження стану користувача. Cookies та Sessions
Проблема stateless протоколу HTTP. Робота з механізмами setcookie та $_SESSION для реалізації найпростішої авторизації (входу користувача).
Тема 10. Вступ до баз даних та PhpMyAdmin
Теоретичні основи таблиць, стовпців та зв’язків. Огляд базових команд SQL: SELECT, INSERT, UPDATE, DELETE.
Тема 11. Підключення бази даних у PHP (PDO)
Різниця між розширеннями mysqli та PDO. Налаштування з’єднання (Connection String) та обробка помилок try-catch.
Тема 12. Реалізація CRUD: Читання та Створення Як правильно формувати SQL-запити через PHP. Виведення списку записів з БД та процес додавання нового (створення ресурсу).
Тема 13. Реалізація CRUD: Оновлення та Видалення
Робота з ідентифікаторами (ID). Оновлення існуючих даних у формі та безпечне видалення записів з бази.
Тема 14. Безпека БД та підготовлені запити
Що таке SQL-ін’єкція та як хакери зламують сайти. Використання Prepared Statements (підготовлених виразів) у PDO.
Тема 15. Організація коду: поділ логіки та подання
Проблема змішування PHP з HTML. Основи патерну MVC (Model-View-Controller) та використання require/include для шаблонізації.
Тема 16. Вступ до Об’єктно-Орієнтованого програмування (ООП) Введення в об’єктно-орієнтоване програмування. Поняття класів, об’єктів, властивостей та методів (інкапсуляція).
Тема 17. Безпека веб-застосунків: Паролі та XSS
Функції password_hash() та password_verify(). Захист від міжсайтового скриптингу (XSS) за допомогою htmlspecialchars().
Тема 18. Тестування, дебагінг та розгортання Як шукати баги. Огляд популярних безкоштовних хостингів. Завантаження проєкту на реальний сервер.
| Назви змістових модулів і тем | Кількість годин всього |
У тому числі (годин) | ||||
|---|---|---|---|---|---|---|
| лк | пр | лаб | інд | с.р. | ||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| Заліковий модуль 1 | ||||||
| Змістовий модуль 1. Основи мови PHP та веброзробки | ||||||
| 1. Вступ до веброзробки та екосистеми PHP | 6 | 2 | 0 | 2 | — | 2 |
| 2. Змінні, типи даних та оператори | 6 | 2 | 0 | 2 | — | 2 |
| 3. Керуючі конструкції: умови та цикли | 8 | 2 | 0 | 2 | — | 4 |
| 4. Функції в PHP: вдосконалення коду | 6 | 2 | 0 | 2 | — | 2 |
| 5. Структури даних: Масиви | 6 | 2 | 0 | 2 | — | 2 |
| Разом за змістовий модуль 1 | 32 | 10 | 0 | 10 | — | 12 |
| Змістовий модуль 2. Взаємодія з клієнтом та збереження стану | ||||||
| 6. Основи протоколу HTTP та обробка запитів | 7 | 2 | 0 | 2 | — | 3 |
| 7. Робота з HTML-формами | 7 | 2 | 0 | 2 | — | 3 |
| 8. Завантаження та обробка файлів | 7 | 2 | 0 | 2 | — | 3 |
| 9. Збереження стану користувача. Cookies та Sessions | 7 | 2 | 0 | 2 | — | 3 |
| Разом за змістовий модуль 2 | 28 | 8 | 0 | 8 | — | 12 |
| Змістовий модуль 3. Основи роботи з базами даних (MySQL) | ||||||
| 10. Вступ до баз даних та PhpMyAdmin | 6 | 2 | 0 | 2 | — | 2 |
| 11. Підключення бази даних у PHP (PDO) | 6 | 2 | 0 | 2 | — | 2 |
| 12. Реалізація CRUD: Читання та Створення | 8 | 2 | 0 | 2 | — | 4 |
| 13. Реалізація CRUD: Оновлення та Видалення | 6 | 2 | 0 | 2 | — | 2 |
| 14. Безпека БД та підготовлені запити | 6 | 2 | 0 | 2 | — | 2 |
| Разом за змістовий модуль 3 | 32 | 10 | 0 | 10 | — | 12 |
| Змістовий модуль 4. Базова архітектура та випуск проєкту (MVP) | ||||||
| 15. Організація коду: поділ логіки та подання | 7 | 2 | 0 | 2 | — | 3 |
| 16. Вступ до Об'єктно-Орієнтованого програмування (ООП) | 7 | 2 | 0 | 2 | — | 3 |
| 17. Безпека веб-застосунків: Паролі та XSS | 7 | 2 | 0 | 2 | — | 3 |
| 18. Тестування, дебагінг та розгортання | 7 | 2 | 0 | 2 | — | 3 |
| Разом за змістовий модуль 4 | 28 | 8 | 0 | 8 | — | 12 |
| Разом за заліковий модуль 1 | 120 | 36 | 0 | 36 | — | 48 |
| УСЬОГО ЗА ДИСЦИПЛІНОЮ (120 годин / 4 кредити ECTS) | 120 | 36 | 0 | 36 | — | 48 |
| № з/п | Тема лабораторного заняття | Кількість годин |
|---|---|---|
| 1 | Встановлення сервера та "Hello World" | 2 |
| 2 | Виведення динамічного контенту | 2 |
| 3 | Робота з умовами в розмітці | 2 |
| 4 | Форматування даних власними функціями | 2 |
| 5 | Зберігання та виведення статусу (Масиви) | 2 |
| 6 | HTML-форма "Створити завдання" | 2 |
| 7 | Валідація даних форми | 2 |
| 8 | Завантаження файлів (Робота з файлами) | 2 |
| 9 | Сторінка логіну (Сесії) | 2 |
| 10 | Налаштування СКБД MySQL | 2 |
| 11 | Зв'язок скрипта з MySQL | 2 |
| 12 | Читання завдань із бази | 2 |
| 13 | Додавання завдань у БД | 2 |
| 14 | Видалити/Редагувати (Prepared Statements) | 2 |
| 15 | Рефакторинг (Організація файлів) | 2 |
| 16 | Переведення логіки на Об'єктно-орієнтоване програмування (OOP) | 2 |
| 17 | Реєстрація користувачів (Безпека) | 2 |
| 18 | Фіналізація MVP-проєкту та його підготовка до здачі | 2 |
| Разом | 36 |
Практичні заняття не передбачені навчальним планом.
| № з/п | Тема самостійної роботи | Кількість годин |
|---|---|---|
| 1 | Базове вивчення функцій роботи з рядками та датою | 4 |
| 2 | Просунута робота з масивами | 4 |
| 3 | Математичні функції в PHP | 4 |
| 4 | Робота з регулярними виразами (RegEx) | 4 |
| 5 | Поглиблене вивчення протоколу HTTP | 4 |
| 6 | Кешування на рівні сервера | 4 |
| 7 | Принципи нормалізації баз даних | 4 |
| 8 | Зв'язки між таблицями (SQL JOIN) | 4 |
| 9 | Альтернативні формати даних (JSON) | 4 |
| 10 | Архітектурний патерн MVC (Розширена теорія) | 4 |
| 11 | Теоретичні основи ООП: поліморфізм та наслідування | 4 |
| 12 | Підготовка звітності та презентації MVP | 4 |
| Разом | 48 |
Індивідуальні (практичні) заняття робочою програмою не передбачені.
Лекції із застосуванням мультимедійних технологій для вивчення теоретичних основ веб-розробки, практичні заняття для набуття навичок створення клієнт-серверних застосунків, лабораторні роботи з розробки інтерактивних веб-додатків, проєктування баз даних, інтеграції бекенд-функціоналу та адаптивного дизайну. Використання сучасних фреймворків, бібліотек і хмарних сервісів у розробці веб-рішень. Консультації для поглиблення знань з управління життєвим циклом веб-застосунків, оптимізації запитів до баз даних та забезпечення конфіденційності даних.
Оцінювання якості знань студентів здійснюється шляхом поточного, підсумкового (семестрового) контролю за 100-бальною шкалою оцінювання, за шкалою EСTS та національною шкалою оцінювання.
Поточний контроль - оцінювання засвоєння студентом навчального матеріалу під час проведення практичних занять, виконання індивідуальних домашніх завдань, консультацій. Результати поточного контролю заносяться в журнал у балах (5, 4, 3, 2, 1). Сума балів за поточний контроль максимально дорівнює 60.
Підсумковий (семестровий) контроль – комплексне оцінювання якості засвоєння навчального матеріалу дисципліни на заліку. Сума балів за залік максимально дорівнює 40.
Для поточного та підсумкового контролю успішності здобувачів вищої освіти використовується модульно-рейтингова система, яка передбачає роз- поділ балів за виконання усіх запланованих видів робіт. Така система оціню- вання виключає можливість суб’єктивного відношення викладача і орієнтує здобувача вищої освіти на підрахунок своїх балів за конкретні види робіт.
(денна форма навчання, підсумковий контроль - залік)
| Поточне оцінювання та самостійна робота | Підсумковий тест (Залік) | Разом | |||
|---|---|---|---|---|---|
| Змістовий модуль 1 |
Змістовий модуль 2 |
Змістовий модуль 3 |
Змістовий модуль 4 |
||
| 20 | 20 | 20 | 20 | 20 | 100 |
| Сума балів за всі види навчальної діяльності |
Оцінка ECTS |
Оцінка за національною шкалою для екзамену, курсового проекту (роботи), практики |
Оцінка за національною шкалою для заліку |
|---|---|---|---|
| 90–100 | A | відмінно | зараховано |
| 82–89 | B | добре | зараховано |
| 74–81 | C | добре | зараховано |
| 64–73 | D | задовільно | зараховано |
| 60–63 | E | задовільно | зараховано |
| 35–59 | FX | незадовільно з можливістю повторного складання | не зараховано з можливістю повторного складання |
| 1–34 | F | незадовільно з обов'язковим повторним вивченням дисципліни | не зараховано з обов'язковим повторним вивченням дисципліни |
Програма навчальної дисципліни; робоча програма навчальної дисципліни; наочні навчальні матеріали (слайди), завдання та методичні вказівки до самостійної роботи та практичних занять.
Базова література:
Додаткова література: