Кафедра прикладної радіоелектроніки

[RE-82] Веб-сервіси і додатки

Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освітиДругий (магістерський)
Галузь знань17 - Електроніка, автоматизація та електронні комунікації
Спеціальність172 - Електронні комунікації та радіотехніка
Освітня програмаВсі ОП
Статус дисципліниВибіркова (Ф-каталог)
Форма здобуття вищої освітиОчна
Рік підготовки, семестрДоступно для вибору починаючи з 1-го курсу, весняний семестр
Обсяг дисципліни4 кред. (Лекц. 18 год, Практ. 0 год, Лаб. 36 год, СРС. 66 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://rozklad.kpi.ua
Мова викладанняУкраїнська
Інформація про керівника курсу / викладачів Лекц.: Мосійчук В. С.,
Лаб.: Мосійчук В. С.,
СРС.: Мосійчук В. С.
Розміщення курсу

Програма навчальної дисципліни

1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

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

Для цього будемо вивчати архітектуру клієнт-серверних інформаційно-телекомунікаційних систем; синтаксис скриптових мов; методів проектування та оптимізації баз даних; основи концепції Інтернету речей.

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

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

знання: архітектури клієнт-серверних інформаційно-телекомунікаційних систем; синтаксису скриптових мов; методів проектування та оптимізації баз даних; основ концепції Інтернету речей.

уміння: проектувати та створювати складні веб-сервіси за концепцією Інтернету речей, розробляти клієнт-серверні дадатки та клієнтські сценарії; розробляти алгоритми та програми на скриптових мовах програмування, оперувати базами даних.

досвід: створення веб-сервісів для радіотехнічних інформаційних систем; використання зовнішніх сервісів для передавання, отримання та оновлення необхідної для функціонування радіотехнічних систем інформації.

2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Бажаними є початкові навички програмування на С.

3. Зміст навчальної дисципліни

Назви розділів і тем

Кількість годин

Всього

у тому числі

Лекції

Практичні роботи

Лабораторні (комп’ютерний практикум)

СРС

1

2

3

4

5

6

Розділ 1. Скриптові мови

Тема 1. Налаштування програмного забезпечення

2

2

 

 

 

Тема 2. Проектування веб-сервісів та додатків

4

2

 

 

 

Тема 3. Формати обміну даними

4

2

 

 

2

Тема 4. Знайомство з PHP

4

2

 

 

2

Тема 5. Класи та об'єкти в PHP

5

3

 

 

2

Тема 6. Системи керування базами даних SQL 

4

2

 

 

2

Тема 7. Робота з формами в PHP

4

2

 

 

2

Тема 8. Cookies та сесії. Безпека додатків PHP

4

2

 

 

2

Тема 9. Автоматичних обмін даними з зовнішними сервісами

2

 

 

 

2

Контрольна робота

3

1

 

 

2

 

 

 

 

 

 

Розділ 2. Створення програмного забезпечення

Тема 10. Робота з сервісами та програмним забезпеченням контролю версій

10

 

 

8

2

Тема 11. Ладнання програм та пошук помилок веб-сервісів

10

 

 

8

2

Тема 12. Проектування реляційної бази даних та її оптимізація

14

 

 

10

4

Тема 13. Отримання досвіду командної  роботи над проектом

20

 

 

10

10

 

 

 

 

 

 

Залік

18

 

 

 

2

Всього годин

90

18

36

36

4. Навчальні матеріали та ресурси

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

  1. Веб-сервіси та додатки: курс лекцій : навч. посіб. для студ. спеціальності 172 «Телекомунікації та радіотехніка» / В.С.Мосійчук; КПІ ім. Ігоря Сікорського. – Київ : КПІ ім. Ігоря Сікорського, 2019. – 81 с.

Допоміжна література

  1. Laravel: Up & Running A Framework for Building Modern PHP Apps. - O'Reilly, 2023. - 544 p.
  2. Matteo Pescarin Learning Yii Testing. Embrace 360-degree testing on your Yii 2 projects using Codeception / Matteo Pescarinю. - Packt Publishing, 2015. - 222 p.
  3. Practical Laravel: Develop clean MVC web applications / Daniel Correa, Paola Vallejo. -  2022. - 118 p.
  4. High Performance with Laravel Octane: Learn to fine-tune and optimize PHP and Laravel apps using Octane and an asynchronous approach / Roberto Butti. - Packt Publishing, 2022. - 205 p.
  5. Domain-Driven Laravel Learn to Implement Domain-Driven: Design Using Laravel / Jesse Griffin. - Apress, 2021. - 621 p.

Інформаційні ресурси

  1. https://www.w3schools.com/html/
  2. https://www.w3schools.com/css/
  3. https://www.w3schools.com/js/
  4. https://www.w3schools.com/bootstrap/default.asp
  5. https://www.w3schools.com/php/default.asp

Навчальний контент

5. Методика опанування навчальної дисципліни (освітнього компонента)

Лекції

Лекція 1. Налаштування середовища розробки. Основи веб-розмітки. Оформлення контенту та метаданих. Каскадні таблиці стилів. Опис та підключення JavaScript функцій.

Лекція 2. Скриптові мови. Синтаксис PHP

Лекція 3. Основи об'єктно-орієнтованого програмування

Лекція 4. Системи керування базами даних. Основи проектування та нормалізації баз даних

Лекція 5. Встановлення та знайомство з PHP фреймворком Yii2

Лекція 6. Робота з моделями ActiveRecord в Yii2.

Лекція 7. Інтерфейс керування розподіленими даними зі зв'язками N : N

Лекція 8. Авторизація та контроль доступу до веб-застосунків

Лекція 9. Створення власного API

 

ЛАБОРАТОРНІ РОБОТИ

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

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

Можливі направленості розробок:

  1. Створення форуму.

  2. Створення чату.

  3. Створення щоденника (блог).

Теми для кооперації зусиль в команді:

  1. Наукова інтернет конференція.

  2. Пошукова система.

  3. Народна енциклопедія.

  1. Створення програм-роботів для сканування і агрегації науково цінної інформації, наприклад патентів, наукових статей.

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

6. Самостійна робота студента

№ з/п

Назва теми, що виноситься на самостійне опрацювання

Кількість годин СРС

1

Тема 10. Робота з сервісами та програмним забезпеченням контролю версій

Інструкції та команди git . Підключення сервісу GitHub. Функції Comit, Push, Fetch, Merge. Вирішення конфліктних ситуацій з контролем версій.

Література:

  • Git за 30 хвилин: https://codeguida.com/post/453

2

2

Тема 13. Отримання досвіду командної  роботи над проектом

Тактування МК. Основи роботи у команді за методологією Scrum. Створення беклогу. Пріоритизація. Виявлення факторів, що стримують виконання проекту їх усунення. Проведення стендапів. Роль скрам –майстра, замовника проекту.

Література:

  • Scrum  Навчись робити вдвічі більше за менший час

10

 

ДОМАШНЯ КОНТРОЛЬНА РОБОТА

Для дисципліни ВД навчальним планом передбачена домашня контрольна робота (ДКР). Її мета – закріплення основних знань необхідних для створення найпростішого веб-ресурсу на практиці, випробовування можливостей різних сервісів, здобуття навичок проектування баз даних, створення сценаріїв віддаленої роботи з базами даних в мережі Інтернет, веб програмування.

Завдання виконується згідно варіанту індивідуального завдання за списком групи. Орієнтовний перелік індивідуальних завдань на ДКР:

Створити БД для:

  1. Телефонного довідника;
  2. Розкладу руху транспорту;
  3. Програми передач телебачення;
  4. Розкладу уроків в школі;
  5. Прогнозу погоди;
  6. Переліку радіоелементів у продажу;
  7. Деканату;
  8. Розкладу руху автобусів;
  9. Бібліотеки;
  10. Мережі інтернет провайдера;
  11. ERP-система компанії;
  12. Фільмотеки;
  13. Мобільного оператора;
  14. Довідника по радіотехніці;
  15. Архіву фотографій;
  16. Реєстру платників податків;
  17. Пенсійного фонду;
  18. Супермаркету;
  19. Сайту новин;
  20. Інформаційно-довідкового бюро;

Політика та контроль

7. Політика навчальної дисципліни (освітнього компонента)

Правила відвідування занять (як лекцій, так і практичних/лабораторних)

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

Захист лабораторних робіт

Лабораторні роботи захищаються у день виконання лабораторної роботи. Студент отримує дві оцінки. Перша за активність та ініціативність під час виконання лабораторної роботи та індивідуального занняття. Друга за захист та відповідь на контрольні запитання.

Захист індивідуальних завдань

В межах самостійної роботи студенти виконують завдання по матеріалам лекцій. За результатами перевірки слухачі курсу отримують коментарі від викладача та оцінку. Індивідуальні завдання не перездаються.

Заохочувальні та штрафних балів та політика щодо академічної доброчесності

Найбільш активні студенти та студенти, які виконують окремі завдання зразково можуть отримати до 10 балів до семестрового рейтингу.

Штрафні бали застосовуються у разі видавання чужої роботи за свою з обов'язковим подапльшим її переопрацюванням.

Політика дедлайнів та перескладань

У разі пропуску кінцевих термінів здачі завдань для слухачів курсу зменшується максильний бал по завданням на 10 %

8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Навчальним планом дисципліни RE-82 передбачено наступну рейтингову систему оцінювання:

  • Лекції / Вебінари - 18 год (2 МКР x 15 балів)
  • Лаб. роботи / Тренінги - 36 год (25 завд, 30 балів)
  • Навчальний проект (4 етапи х 10  балів)

Контрольні роботи

Модульна контрольна робота складається з 2-х окремих частин (в формі тестів)  і проводяться з метою перевірки якості набутих знань на лекціях для контролю самостійної роботи.

Завдання для навчального проекту:

1) визначити згідно з завданням класи об’єктів предметної області (сутності), інформація про які має зберігатися в БД, їх властивості та можливі зв’язки між сутностями; 

2)  розробити інфологічну модель (модель «сутність-зв’язок»);

3)  нормалізувати  реляційну базу та перейти до дата логічної моделі;

4)  реалізувати БД в  СУБД  MySQL;

5) написати скрипти на PHP для внесення інформації до БД, виводу даних на екран та для пошуку по БД.

Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
Кількість балівОцінка
100-95Відмінно
94-85Дуже добре
84-75Добре
74-65Задовільно
64-60Достатньо
Менше 60Незадовільно
Не виконані умови допускуНе допущено

9. Додаткова інформація з дисципліни (освітнього компонента)

Опис матеріально-технічного та інформаційного забезпечення дисципліни

Навчання проходить дистанційно у вигляді тренінгів. Наявний комп'ютерний клас, що оснащений 12 комп'ютерами, проте перевага віддаєтеся тому, щоб студенти працювали на власних ноутбуках. Програмне забезпечення: сервер XAMPP (Apache, PHP, MySQL), JetBrains PhpStorm, GitHub, Slack або Trello.




Робочу програму навчальної дисципліни (силабус):
Складено Мосійчук В. С.;
Ухвалено кафедрою ПРЕ (протокол № 06/2023 від 2023-06-29 )
Погоджено методичною комісією факультету/ННІ (протокол № 06-2023 від 2023-06-29 )