Програмування в інтернет
Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.025
Кількість кредитів: 6.00
Кафедра: Програмне забезпечення
Лектор: асистент. Степанов Дмитро Сергійович
Семестр: 4 семестр
Форма навчання: денна
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей:
Загальні компетентності:
- Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій.
- Здатність вчитися і оволодівати сучасними знаннями.
Фахові компетентності:
- Здатність приймати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування.
- Здатність розробляти архітектури, модулі та компоненти програмних систем.
- Здатність накопичувати, обробляти та систематизувати професійні знання шодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя.
- Здатність здійснювати процес інтеграції системи, застосовувати стандарти і процедури управління змінами для підтримки цілісності, налійності загальної програмного функціональності забезпечення.
- Здатність обґрунтовано обирати та освоювати інструментарій з розробки Ta супроводження програмного забезпечення.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання:
- Знати мову гіпертекстової розмітки веб сторінок HTML, XML та правила взаємодії через передачу параметрів між програмними блоками клієнта і сервера
- Вміти створювати динамічні WEB-сайти за допомогою стилів CSS3
- Вміти використовувати об’єктно-орієнтовану мову програмування JavaScript для створення динамічних WEB-сайтів, керування доступом до змінних сторінки
- Вмiти створювати практичні програмні елементи веб-сторінок засобами мови PHP/Node.JS та створювати сценарії їх взаємодії
- Вміти використовувати середовище для модульного тестування PHPUnit та залежностей в пакетному менеджері Composer
- Вміти використовувати елементи мультимедіа, технологію Ajax та функції доступу до даних у базі MySQL/MongoDB
- Вміти використовувати контроль версій Git
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні навчальні дисципліни:
- Алгоритми і структури даних
- Архітектура комп’ютера
- Основи програмування
Супутні і наступні навчальні дисципліни:
- Основи інтернету речей
- Безпека програм і даних
- Бази даних
Короткий зміст навчальної програми: Основи методології програмування на веб клієнті та сервері при створення динамічних HTML сторінок з використанням таблиці стилів CSS3, фреймворка Bootstrap та методів для опрацювання та пересилання даних в комп’ютерних мережах. Існуючі технології JavaScript та фреймворк jQuery для опрацювання подій на сторінці, створення анімаційних об’єктів, попереднього опрацювання даних, графіки тощо. Мови програмування: JavaScript на клієнті та PHP, Node.JS на сервері, елементів доступу до бази даних MySQL та MongoDB та розгляд методів масштабування і опрацювання даних на стороні сервера. Ajax - технологія оновлення веб сторінок за допомогою асинхронних запитів до серверної частини.
Опис: Тема 1. Задачі та сервіси Internet. Контроль версій Git. Будова World Wide Web. Протоколи мереж (HTTP, HTTPS, FTP, POP, SMTP, SSH). Завдання та засоби HTML (Hypertext Markup Language). Сучасні оболонки середовища розробки Інтернет застосувань.
Тема 2. Каскадні стилі для формування веб сторінок (Cascading Style Sheets -CSS) . Планування макету веб сторінки ( Page Layout ) з допомогою CSS. Використання Gulp, SASS, фреймворка Bootstrap. Засоби створення PWA (Progressive Web Applications)
Тема 3. Мова програмування JavaScript . Сценарії, функції, структури даних, об’єкти. Події у мові JavaScript. Об’єктна модель документів (DOM). Засоби Ajax, jQuery, фреймворк Vue.js Практика створення PWA (Progressive Web Applications)
Тема 4. Мова програмування PHP. Сервер Apache . ООП, патерн MVC, Composer, Docker, PHPUnit, міграції.
Тема 5. Використання бази даних MySQL у PHP. Доступ до бази даних MySQL функціями РНР та масштабування бази даних.
Тема 6. Бібліотека Node.js, фреймворк Express
Тема 7. Використання документоорієнтованої системи управління базами даних MongoDB, та масштабування бази даних.
Методи та критерії оцінювання: Усне опитування на заняттях, Проміжне тестування, Захист лабораторних робіт, Захист вправ, виконаних вдома
Критерії оцінювання результатів навчання: Поточний контроль (ПК):
1. Лабораторні роботи : 6 робіт по 5 балів (2 тижні на роботу) , в сумі 30 балів
2. Вправи на закріплення матеріалу лекцій : елементи клієнта і сервера – в сумі 15 балів. Здача в другій половині семестру
Екзаменаційний контроль:
1. Письмова компонента - 50 балів.
2. Усна компонента - 5 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова
1. Мельник Р.А Програмування ВЕБ застосувань *фронт енд і бек енд). .Посібник для студентів Інституту комп‘ютерних наук та інформаційних технологій.-Львів: Вид-во Львівської політехніки, 2018.-250с.
2. Head First. Програмування на JavaScript. Ерік Фрімен, Елізабет Робсон 2022р
3. Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning PHP, MYSQL, Javascript, CSS & HTML5) Robin Nixon 2018
4. Learning PHP, MySQL & JavaScript, 6th Edition Robin Nixon 2021
5. PHP & MySQL: Novice to Ninja 7th Edition Tom Butler 2022
6. Web-технології та Web-дизайн : застосування мови HTML для створення електронних ресурсів І. Л. Бородкіна, Г. О. Бородкін 2020
Допоміжна
1. PHP 8 Objects, Patterns, and Practice: Mastering OO Enhancements, Design Patterns, and Essential Development Tools. Matt Zandstra. 2021
2. Node Web Development: A Practical Introduction to Node, the Exciting New Server-Side JavaScript Web Development Stack David Herron 2020
3. Vue.js: Up and Running: Building Accessible and Performant Web Apps 1st Edition Callum Macrae 2018
4. Learning MySQL: Get a Handle on Your Data. 2nd Ed. Vinicius M. Grippa, Sergey Kuzmichev (english) 2021
5. Програмування з MYSQL. Київ, “Диалектика.2007
6. Мельник Р.А. Програмування для SQL- та WEB серверів.- . Вид-во «ЛП» 2006 р.
7. Мельник Р. А., Тушницький Р. Б. Програмування інтернет-застосувань . Вид-во «ЛП» 2013 р.
8. Мельник Р.А. Програмування Веб застосувань. Фронт-енд та бек-енд . – Львів: Львівська політехніка, 2018. – 220 с.
9. Мельник Р.А. Програмування Інтернет застосувань . – Львів: Львівська політехніка, 2017. – 220 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою:
вул. Карпінського, 2/4, І-й н.к., кімн. 112
E-mail: nolimits@lpnu.ua
Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).