Основи back-end технологій - Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
---|---|
Галузь знань | 12 Інформаційні технології |
Спеціальність | 126 Інформаційні системи та технології |
Освітня програма | Інформаційне забезпечення робото-технічних систем |
Статус дисципліни | Вибіркова |
Форма навчання | очна(денна) |
Рік підготовки, семестр | 4 курс, осінній семестр |
Обсяг дисципліни | 120 год. |
Семестровий контроль/ контрольні заходи | Залік |
Розклад занять | |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів |
Лектор: к.т.н., доцент, Голубєв Леонтій Петрович, golubevl@ukr.net Лабораторні: доцент, Голубєв Леонтій Петрович, golubevl@ukr.net |
Розміщення курсу | Кампус |
Програма навчальної дисципліни
Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Дисципліна «Основи back-end технологій» є дисципліною вільного вибору студента та вивчає сучасні технології проектування та роботи в мережі WWW.
Мета вивчення дисципліни набуття фахових компетентностей, теоретичних знань і практичних навичок з WEB-технологій.
Предметом вивчення дисципліни є методи та засоби back-end-технологій.
Компетентності:
Інтегральна компетентність: Здатність розв'язувати складні спеціалізовані задачі та практичні проблеми у галузі back-end-технологій , що характеризується комплексністю та невизначеністю умов із застосування теорій та методів інформаційних технологій.
КЗ 1 | Здатність до абстрактного мислення, аналізу та синтезу |
---|---|
КЗ 2 | Здатність застосовувати знання у практичних ситуаціях |
КЗ 3 | Здатність до розуміння предметної області та професійної діяльності |
КЗ 4 | Здатність спілкуватися державною та іноземною мовами як усно, так і письмово |
КЗ 5 | Здатність вчитися і оволодівати сучасними знаннями |
Спеціальні (фахові, предметні) компетентності
КС 1 | Здатність аналізувати об’єкт проектування або функціонування та його предметну область |
---|---|
КС 2 | Здатність застосовувати стандарти в області інформаційних систем та технологій при розробці функціональних профілів, побудові та інтеграції систем, продуктів, сервісів і елементів інфраструктури |
КС 3 | Здатність до проектування, розробки, налагодження та вдосконалення системного, комунікаційного та програмно-апаратного забезпечення інформаційних систем та технологій, Інтернету речей (IoT), комп’ютерно-інтегрованих систем та системної мережної структури, управління ними |
КС 4 | Здатність проектувати, розробляти та використовувати засоби реалізації інформаційних систем, технологій та інфокомунікацій (методичні, інформаційні, алгоритмічні, технічні, програмні та інші) |
КС 12 | Здатність управляти та користуватися сучасними інформаційно-комунікаційними системами та технологіями (у тому числі такими, що базуються на використанні Інтернет) |
Згідно з вимогами освітньо-професійної програми студенти після засвоєння навчальної дисципліни мають продемонструвати такі результати навчання:
ПР 3 Використовувати базові знання інформатики й сучасних інформаційних систем та технологій, навички програмування, технології безпечної роботи в комп'ютерних мережах, методи створення баз даних та інтернет-ресурсів, технології розроблення алгоритмів і комп’ютерних програм мовами високого рівня із застосуванням об’єктно-орієнтованого програмування для розв’язання задач проектування і використання інформаційних систем та технологій
ПР 4 Проводити системний аналіз об’єктів проектування та обґрунтовувати вибір структури, алгоритмів та способів передачі інформації в інформаційних системах та технологіях
ПР 12 Знати основи побудови та застосовувати сучасні операційні системи та пакети прикладних програм відповідно до професійних завдань
ПР 14 Знати сучасні мови програмування та технології створення програмного забезпечення інформаційних систем та технологій
Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Перелік дисциплін, що передують: Комп’ютерні мережі, Бази даних, Архітектура комп’ютерних систем.
Перелік дисциплін, що забезпечуються: Алгоритми та структури даних; Дискретні структури; Емпіричні методи програмної інженерії; Моделювання та аналіз програмного забезпечення; Якість програмного забезпечення та тестування; Системний аналіз.
Зміст навчальної дисципліни
Розділ 1. WEB основні поняття
Тема 1.1 Протокол TCP-IP
Тема 1.2 Маршрутизація в WEB
Тема 1.3 Шлюз, хост, домен
Тема 1.4 Система адресації в WEB
Тема 1.5 Способи під’єднання до мережі
Тема 1.6 Сервіси Internet
Розділ 2. Основи роботи з PHP
Тема 2.1 Змінні
Тема 2.2 Рядки і числа
Тема 2.3 Операція присвоювання
Тема 2.4 Функції
Тема 2.5 Математичні операції
Розділ 3. Основи роботи з масивами в PHP
Тема 3.1 Асоціативний масив
Тема 3.2 Всі способи створення масиву
Тема 3.3 Багатовимірний масив
Тема 3.4 Функції роботи з масивом
Розділ 4. Робота з математичними та текстовими функціями
Тема 4.1 Функції abs, sqrt, pow, round
Тема 4.2 Функції floor, min, max, mt_rand
Тема 4.3 Функції strlen, strtolower, strtoupper, ucfirst, trim
Розділ 5. Робота з формами
Тема 5.1 Як зробити форму на HTML
Тема 5.2 Методи GET і POST
Тема 5.3 Збереження полів форми після відправки
Розділ 6. Робота з базою даних в WEB
Тема 6.1 Створення структури БД
Тема 6.2 Створення таблиць БД
Тема 6.3 Створення зв’язків між таблицями
Тема 6.4 Створення запитів до БД
Тема 6.5 Створення сторінки для додавання, редагування та видалення інформації з БД
Тема 6.6. Створення сторінки автентифікації користувача
Тема 6.7 Створення сторінки статистики.
Розділ 7. Введення в Node.js.
Тема 7.1 Початок роботи. Встановлення Node.js.
Тема 7.2 Перший додаток на Node.js
Тема 7.3 Робота з модулями. Передача параметрів додатку
Розділ 8. NPM. Package.json. Встановлення модулів. Визначення команд
Тема 8.1 Файл package.json.
Тема 8.2 Додавання безлічі пакетів.
Тема 8.3 devDependencies. Команди npm. Nodemon.
Тема 8.4 Асинхронність у Node.js
Розділ 9. Робота з сервером
Тема 9.1 Створення сервера.
Тема 9.2 Request. Response.
Тема 9.3 Маршрутизація. Переадресація.
Тема 9.4 Отримання даних від клієнта. Перебір асинхронного ітератора.
Розділ 10. Робота з Express.
Тема 10.1 Початок роботи з Express.
Тема 10.2 Конвеєр обробки запиту та middleware.
Тема 10.3 Відравлення відповіді.
Тема 10.4 Відправка статусних кодів.
Тема 10.5 Статичні файли.
Тема 10.6 Передача даних програмі. Параметри рядка запиту
Розділ 11. NodeJS і MySQL. GraphQL.
Тема 11.1 Підключення до MySQL. Створення підключення. Закриття підключення
Тема 11.2 Виконання запитів до MySQL. Параметризація запитів.
Тема 11.4 Основні операції з даними. Створення бази даних. Створення таблиць.
Додавання даних. Отримання даних. Фільтрування даних. Оновлення. Вилучення.
Розділ 12 Основи роботи з GraphQL.
Тема 12.1 Що таке GraphQL.
Тема 12.2 Запит даних GraphQL vs REST.
Тема 12.3 Мова визначення схеми (SDL).
Тема 12.4 Query. Mutation.
Навчальні матеріали та ресурси
Основна література
- Васильєв О.М. Програмування мовою PHP,- Ліра-К, 2022, - 368c.
- Фрімен Ерік Книга Head First. Програмування на JavaScript /Фрімен E., Робсон E.,- Фабула, 2022, -672c.
Додаткова література
1. Marijn Haverbeke. Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming. - No Starch Press, 2018. – 472 p.
2. David Thomas. The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition). - Addison-Wesley Professional, 2019. – 228 p.
3. Kyle Simpson. You Don't Know JS Yet: Get Started.- FrontendMasters, 2020.- 143 p.
4. Semmy Purewal. Learning Web App Development: Build Quickly with Proven JavaScript Techniques 1st Editionю - O'Reilly,2014- 306 p.
5. Kevin Tatroe, Peter MacIntyre Programming PHP: Creating Dynamic Web Pages : O'Reilly Media, 2020. – 542 p.
6. Jamie Chan PHP: Learn PHP in One Day and Learn It Well. PHP for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project): Learn Coding Fast with Hands-On Project, 2020 – 246 p.
7. Mike McGrath (Author)PHP & MySQL in easy steps: Covers MySQL 8.0 : In Easy Steps Limited, 2018. – 192 p.
8. Mike McGrath PHP in easy steps: Updated for PHP 8 4th Edition: In Easy Steps Limited , 2021. – 192 p.
9. Robin Nixon Learning PHP, MySQL, JavaScript, and CSS: A Step-by-Step Guide to Creating Dynamic Websites: O'Reilly Media, 2012. – 586 p.
10. Bethany Griggs Node Cookbook: Discover solutions, techniques, and best practices for server-side web development with Node.js 14, 4th Edition 4th ed. Edition: Packt Publishing, 2020. – 512p.
11. Sebastian Springer Node.js: The Comprehensive Guide to Server-Side JavaScript Programming (Rheinwerk Computing) Paperback – August 24, 2022.- 834 p.
12. David Herron Node.js Web Development: Server-side web development made easy with Node 14 using practical examples: Packt Publishing, 2020. – 5451 kb
13. Alex R. Young, Bradley Meck, Mike Cantelon Node.js in Action 2nd Edition: Manning, 2017. – 392p.
14. Mario Casciaro, Luciano Mammino Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition 3rd ed. Edition: Packt Publishing, 2020.- 664 p.
Навчальний контент
Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
№ з/п | Назва теми лекції та перелік основних питань |
---|---|
1 | Розділ 1. WEB основні поняття Тема 1.1 Протокол TCP-IP Тема 1.2 Маршрутизація в WEB Тема 1.3 Шлюз, хост, домен Тема 1.4 Система адресації в WEB Тема 1.5 Способи під’єднання до мережі Тема 1.6 Сервіси Internet |
2 | Розділ 2. Основи роботи з PHP Тема 2.1 Змінні Тема 2.2 Рядки і числа Тема 2.3 Операція присвоювання Тема 2.4 Функції Тема 2.5 Математичні операції |
Розділ 3. Основи роботи з масивами в PHP Тема 3.1 Асоціативний масив Тема 3.2 Всі способи створення масиву Тема 3.3 Багатовимірний масив Тема 3.4 Функції роботи з масивом |
|
Розділ 4. Робота з математичними та текстовими функціями Тема 4.1 Функції abs, sqrt, pow, round Тема 4.2 Функції floor, min, max, mt_rand Тема 4.3 Функції strlen, strtolower, Strtoupper, ucfirst, trim |
|
Розділ 5. Робота з формами Тема 5.1 Як зробити форму на HTML Тема 5.2 Методи GET і POST Тема 5.3 Збереження полів форми після відправки |
|
Розділ 6. Робота з базою даних в WEB Тема 6.1 Створення структури БД Тема 6.2 Створення таблиць БД Тема 6.3 Створення зв’язків між таблицями Тема 6.4 Створення запитів до БД Тема 6.5 Створення сторінки для додавання, редагування та видалення інформації з БД Тема 6.6 Створення сторінки автентифікації користувача Тема 6.7 Створення сторінки статистики |
|
Розділ 7. Введення в Node.js. Тема 7.1 Початок роботи. Встановлення Node.js. Тема 7.2 Перший додаток на Node.js Тема 7.3 Робота з модулями. Передача параметрів додатку |
|
Розділ 8. NPM. Package.json. Встановлення модулів. Визначення команд Тема 8.1 Файл package.json. Тема 8.2 Додавання безлічі пакетів. Тема 8.3 devDependencies. Команди npm. Nodemon. Тема 8.4 Асинхронність у Node.js |
|
Розділ 9. Робота з сервером Тема 9.1 Створення сервера. Тема 9.2 Request. Response. Тема 9.3 Маршрутизація. Переадресація. Тема 9.4 Отримання даних від клієнта. Перебір асинхронного ітератора. |
|
Розділ 10. Робота з Express. Тема 10.1 Початок роботи з Express. Тема 10.2 Конвеєр обробки запиту та middleware. Тема 10.3 Відравлення відповіді. Тема 10.4 Відправка статусних кодів. Тема 10.5 Статичні файли. Тема 10.6 Передача даних програмі. Параметри рядка запиту |
|
Розділ 11. NodeJS і MySQL. GraphQL. Тема 11.1 Підключення до MySQL. Створення підключення. Закриття підключення Тема 11.2 Виконання запитів до MySQL. Параметризація запитів. Тема 11.3 API Promise. Тема 11.4 Основні операції з даними. Створення бази даних. Створення таблиць. Додавання даних. Отримання даних. Фільтрування даних. Оновлення. Вилучення. |
|
Розділ 12. Основи роботи з GraphQL. Тема 12.1 Що таке GraphQL. Тема 12.2 Запит даних GraphQL vs REST. Тема 12.3 Мова визначення схеми (SDL). Тема 12.4 Query. Mutation. |
7. Лабораторні заняття
Лабораторні заняття мають на меті закріпити теоретичні знання студентів, допомогти їм оволодіти способами роботи з сучасними back-end-технологіями, засвоїти методи, що використовуються для проектування систем на базі back-end -технологій
Самостійна робота студента/аспіранта
№ з/п | Назви тем і питань, що виноситься на самостійне опрацювання | Кількість годин СРС |
---|---|---|
1 | Тема 1. Робота з cookies | 21 |
2 | Тема 2. Робота з сесіями в PHP. | 21 |
3 | Тема 3. Робота з функціями користувача | 21 |
4 | Тема 4. Basic HTTP-аутентифікація | 21 |
Політика та контроль
Політика навчальної дисципліни (освітнього компонента)
Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Поточний контроль: опитування за темою заняття
Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
Семестровий контроль: залік
Умови допуску до семестрового контролю: зарахування усіх лабораторних робіт
Рейтинг студента з дисципліни складається з балів, що він отримує за:
1) відповідей на лабораторних заняттях;
3) відповідь на заліку.
Система рейтингових (вагових) балів та критерії оцінювання
1. Робота на лабораторних заняттях
4х10+2х20=80.
Модульний контроль
Ваговий бал – 20.
Поточне оцінювання та самостійна робота* МК ** (тестовий) Сума
Поточне оцінювання та самостійна робота* | МК ** (тестовий) | Сума | |||||
---|---|---|---|---|---|---|---|
Т1 | Т2 | Т3 | Т4 | Т5 | Т6 | ||
10 | 10 | 10 | 10 | 20 | 20 | 20 | 100 |
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою:
Кількість балів | Оцінка |
---|---|
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
Додаткова інформація з дисципліни (освітнього компонента)
Робочу програму навчальної дисципліни (силабус):
Складено доцент, к.т.н., доцент, Голубєв Леонтій Петрович
Ухвалено кафедрою _інформаційних систем та технологій (протокол № _17_ від __26.06.24__)
Погоджено Методичною комісією факультету інформатики та обчислювальної техніки (протокол № _11_ від _26.06.24__)