Програмування в інтернет

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 6.121.00.O.025
Кількість кредитів: 6.00
Кафедра: Програмне забезпечення
Лектор: асистент. Степанов Дмитро Сергійович
Семестр: 4 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета вивчення курсу - дати основи методології програмування на веб клієнті та сервері при створення динамічних HTML- сторінок з використанням каскадної верстки CSS та методів для опрацювання та пересилання даних в комп’ютерних мережах. Вивчити існуючі технології JavaScript та jQuery для опрацювання подій на сторінці, створення анімаційних об’єктів, попереднього опрацювання даних, графіки тощо. Курс передбачає засвоєння мов програмування: JavaScript на клієнті, PHP та Node.JS на сервері, елементів доступу до бази даних MySQL та MongoDB і опрацювання даних на стороні сервера. Курс передбачає знайомство з Ajax - технологією поповнення веб сторінок з допомогою асинхронних запитів до серверної частини.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: Загальні компетентності: - Здатність розв’язувати складні спеціалізовані завдання або практичні проблеми інженерії програмного забезпечення, що характеризуються комплексністю та невизначеністю умов, із застосуванням теорій та методів інформаційних технологій. - Здатність вчитися і оволодівати сучасними знаннями. Фахові компетентності: - Здатність приймати участь у проектуванні програмного забезпечення, включаючи проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування. - Здатність розробляти архітектури, модулі та компоненти програмних систем. - Здатність накопичувати, обробляти та систематизувати професійні знання шодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя. - Здатність здійснювати процес інтеграції системи, застосовувати стандарти і процедури управління змінами для підтримки цілісності, налійності загальної програмного функціональності забезпечення. - Здатність обґрунтовано обирати та освоювати інструментарій з розробки 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-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).