nmk

1. ОПИС НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Найменування показників Галузь знань, спеціальність, ступінь вищої освіти Характеристика навчальної дисципліни
Денна форма навчання
Кількість кредитів - 4 Галузь:
12 Інформаційні технології
Спеціальність або освітня програма:
122 Комп'ютерні науки
Статус дисципліни нормативна
Залікових модулів - 2 Рік підготовки
Змістових модулів - 8 2
Загальна кількість годин - 120 Семестр
1
Лекції (год.)
36
Тижневих годин для
денної форми навчання: аудиторних:
2 семестр – 2 години
Ступінь вищої освіти:
бакалавр
Практичні, семінарські (год.)
36
Лабораторні (год.)
Самостійна робота (год.)
48
Індивідуальне завдання (год.)
Вид контролю:
Екзамен

2. МЕТА ТА ЗАВДАННЯ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

2.1 Мета дисципліни:

Метою дисципліни є формування у студентів компетентностей, необхідних для розробки динамічних веб-додатків за допомогою мови програмування PHP. Вивчення курсу спрямоване на освоєння основ синтаксису PHP, принципів обробки даних, методів розробки безпечних веб-додатків, а також на знайомство з сучасними підходами до програмування, включаючи об’єктно-орієнтоване програмування (ООП) та використання фреймворків.

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

2.2 Завдання дисципліни:

Основними завданнями дисципліни є:

2.3 За результатами вивчення дисципліни здобувач повинен опанувати наступні компетентності:

Загальні компетентності:

Спеціальні (фахові) компетентності:

2.4. За результатами вивчення навчальної дисципліни студент повинен знати та вміти:

Знати:

Вміти:

2.5 Програмні результати навчання

2.6 Структурно-логічне місце дисципліни в освітній програмі

Попередні дисципліни:

Наступні дисципліни:

Програма навчальної дисципліни складається з 4 змістових модулів

3. ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Змістовний модуль 1. Основи мови PHP та веброзробки

Тема 1. Вступ до веброзробки та екосистеми PHP Огляд архітектури клієнт-сервер. Встановлення та налаштування локального сервера (XAMPP/MAMP) та базовий синтаксис PHP.

Тема 2. Змінні, типи даних та оператори Детальне вивчення динамічної типізації в PHP. Робота з числами, рядками (конкатенація, інтерполяція) та логічними операторами.

Тема 3. Керуючі конструкції: умови та цикли Керування потоком програми. Використання if, else, switch, match та циклів for, while, do-while для обробки даних.

Тема 4. Функції в PHP: вдосконалення коду Створення користувацьких функцій, передача аргументів (за значенням і посиланням), розгляд області видимості змінних (global).

Тема 5. Структури даних: Масиви Знайомство з індексованими, асоціативними та багатовимірними масивами. Огляд корисних вбудованих функцій для масивів (сортування, пошук).

Змістовний модуль 2. Взаємодія з клієнтом та збереження стану

Тема 6. Основи протоколу HTTP та обробка запитів Як клієнт (браузер) спілкується з сервером. Суперглобальні масиви $_GET та $_POST і передача параметрів в URL.

Тема 7. Робота з HTML-формами Отримання даних з форм від користувача. Базова валідація на стороні сервера (перевірка на порожнечу, тип даних).

Тема 8. Завантаження та обробка файлів Вивчення суперглобального масиву $_FILES. Процес завантаження зображень та документів на сервер, переміщення та перевірка розширень.

Тема 9. Збереження стану користувача. Cookies та Sessions Проблема stateless протоколу HTTP. Робота з механізмами setcookie та $_SESSION для реалізації найпростішої авторизації (входу користувача).

Змістовний модуль 3. Основи роботи з базами даних (MySQL)

Тема 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.

Змістовний модуль 4. Базова архітектура та випуск проєкту (MVP)

Тема 15. Організація коду: поділ логіки та подання Проблема змішування PHP з HTML. Основи патерну MVC (Model-View-Controller) та використання require/include для шаблонізації.

Тема 16. Вступ до Об’єктно-Орієнтованого програмування (ООП) Введення в об’єктно-орієнтоване програмування. Поняття класів, об’єктів, властивостей та методів (інкапсуляція).

Тема 17. Безпека веб-застосунків: Паролі та XSS Функції password_hash() та password_verify(). Захист від міжсайтового скриптингу (XSS) за допомогою htmlspecialchars().

Тема 18. Тестування, дебагінг та розгортання Як шукати баги. Огляд популярних безкоштовних хостингів. Завантаження проєкту на реальний сервер.

4. СТРУКТУРА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ

Назви змістових модулів і тем Кількість
годин всього
У тому числі (годин)
лк пр лаб інд с.р.
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

5. ТЕМИ ЛАБОРАТОРНИХ ЗАНЯТЬ

№ з/п Тема лабораторного заняття Кількість годин
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

6. ТЕМИ ПРАКТИЧНИХ ЗАНЯТЬ (Якщо передбачено навчальним планом)

Практичні заняття не передбачені навчальним планом.

7. САМОСТІЙНА РОБОТА

№ з/п Тема самостійної роботи Кількість годин
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

8. ІНДИВІДУАЛЬНІ ЗАВДАННЯ

Індивідуальні (практичні) заняття робочою програмою не передбачені.

9. МЕТОДИ НАВЧАННЯ

Лекції із застосуванням мультимедійних технологій для вивчення теоретичних основ веб-розробки, практичні заняття для набуття навичок створення клієнт-серверних застосунків, лабораторні роботи з розробки інтерактивних веб-додатків, проєктування баз даних, інтеграції бекенд-функціоналу та адаптивного дизайну. Використання сучасних фреймворків, бібліотек і хмарних сервісів у розробці веб-рішень. Консультації для поглиблення знань з управління життєвим циклом веб-застосунків, оптимізації запитів до баз даних та забезпечення конфіденційності даних.

10. МЕТОДИ КОНТРОЛЮ

Оцінювання якості знань студентів здійснюється шляхом поточного, підсумкового (семестрового) контролю за 100-бальною шкалою оцінювання, за шкалою EСTS та національною шкалою оцінювання.

Поточний контроль - оцінювання засвоєння студентом навчального матеріалу під час проведення практичних занять, виконання індивідуальних домашніх завдань, консультацій. Результати поточного контролю заносяться в журнал у балах (5, 4, 3, 2, 1). Сума балів за поточний контроль максимально дорівнює 60.

Підсумковий (семестровий) контроль – комплексне оцінювання якості засвоєння навчального матеріалу дисципліни на заліку. Сума балів за залік максимально дорівнює 40.

11. РОЗПОДІЛ БАЛІВ, ЯКІ ОТРИМУЮТЬ СТУДЕНТИ

Система оцінювання для студентів денної форми навчання

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

Розподіл балів з дисципліни, заліковий модуль 1 (3 семестр): (макс. кількість балів - 100)

(денна форма навчання, підсумковий контроль - залік)

Поточне оцінювання та самостійна робота Підсумковий тест (Залік) Разом
Змістовий
модуль 1
Змістовий
модуль 2
Змістовий
модуль 3
Змістовий
модуль 4
20 20 20 20 20 100

Шкала оцінювання: національна та ECTS

Сума балів за всі види
навчальної діяльності
Оцінка
ECTS
Оцінка за національною шкалою для екзамену,
курсового проекту (роботи), практики
Оцінка за національною шкалою
для заліку
90–100 A відмінно зараховано
82–89 B добре зараховано
74–81 C добре зараховано
64–73 D задовільно зараховано
60–63 E задовільно зараховано
35–59 FX незадовільно з можливістю повторного складання не зараховано з можливістю повторного складання
1–34 F незадовільно з обов'язковим повторним вивченням дисципліни не зараховано з обов'язковим повторним вивченням дисципліни

12. НАВЧАЛЬНО-МЕТОДИЧНЕ ЗАБЕЗПЕЧЕННЯ ДИСЦИПЛІНИ

Програма навчальної дисципліни; робоча програма навчальної дисципліни; наочні навчальні матеріали (слайди), завдання та методичні вказівки до самостійної роботи та практичних занять.

13. РЕКОМЕНДОВАНА ЛІТЕРАТУРА

Базова література:

  1. Ніксон Р. Створюємо динамічні веб-сайти за допомогою PHP, MySQL, JavaScript, CSS і HTML5. 6-те вид. / пер. з англ. Київ: Діалектика, 2021. 816 с.
  2. Пасічник В. В., Пасічник О. В., Угрин Д. І. Веб-технології: підручник. Львів: «Магнолія-2006», 2024. 336 с.
  3. Зандстра М. PHP 8. Об’єкти, шаблони та методи програмування. 6-те вид. / пер. з англ. Київ: Діалектика, 2021. 768 с.

Додаткова література:

  1. Баран С. В. Основи web-програмування: навчальний посібник. Кривий Ріг: ДУЕТ, 2023. 248 c.
  2. Двірничук К. В., Вацек Д. О. Веб-програмування та веб-дизайн: навч. посіб. Чернівці: ЧНУ ім. Ю. Федьковича, 2022. 240 c.
  3. Локхарт Д. Сучасний PHP. Нові можливості та передовий досвід. 2020. 338 с.

14. ІНФОРМАЦІЙНІ РЕСУРСИ В ІНТЕРНЕТІ

  1. PHP: Hypertext Preprocessor – Офіційна документація мови програмування PHP. https://www.php.net/
  2. PHP The Right Way (Правильний PHP) – Практичний довідник з найкращих практик, стандартів та безпеки в екосистемі PHP. https://phptherightway.com/
  3. W3Schools PHP Tutorial – Онлайн-ресурс для базового вивчення PHP з інтерактивними прикладами та тренажером. https://www.w3schools.com/php/
  4. PHP Delusions – Перевірені та правильні статті про безпечну роботу з базами даних (PDO, підготовлені вирази) в PHP. https://phpdelusions.net/
  5. Modern PHP Standard Recommendations (PSR) – Офіційний сайт групи PHP-FIG щодо стандартів написання якісного ООП-коду. https://www.php-fig.org/