|
|
Кафедра прикладної радіоелектроніки |
[RE-88] Технології .NET для розробки програмного забезпечення
Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
Рівень вищої освіти | Перший (бакалаврський) |
Галузь знань | - |
Спеціальність | |
Освітня програма | Всі ОП |
Статус дисципліни | Вибіркова (Ф-каталог) |
Форма здобуття вищої освіти | Очна |
Рік підготовки, семестр | Доступно для вибору починаючи з 2-го курсу, осінній семестр |
Обсяг дисципліни | 4 кред. (Лекц. 18 год, Практ. 36 год, Лаб. год, СРС. 66 год ) |
Семестровий контроль/контрольні заходи | Залік |
Розклад занять | https://rozklad.kpi.ua |
Мова викладання | Українська |
Інформація про керівника курсу / викладачів
| Лекц.: Нікітчук А. В., Практ.: Нікітчук А. В., СРС.: Нікітчук А. В. |
Розміщення курсу | https://do.ipo.kpi.ua/course/view.php?id=5927 |
Програма навчальної дисципліни
1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Мета: ознайомитись з основними концепціями і особливостями платформи Microsoft .NET (.NET), отримати знання та навички, необхідні для промислової розробки програмних продуктів із відповідним функціоналом для радіотехнічних інформаційних систем.
.NET — це платформа, яка відображає новітні тенденції в розробці і пропонує спеціалістам-початківцям безліч можливостей. Знання основ .NET дозволять бути гнучкими у виборі спеціалізації та сфери програмування.
Основні цілі дисципліни:
- Вивчення основних понятть та компонентів платформи .NET.
- Знайомство з інструментами та середовищем розробки Visual Studio для підвищення продуктивності при розробці додатків.
- Освоєння мови програмування C# для створення десктопних, веб- та мобільних додатків на платформі .NET.
- Використання різних бібліотек та фреймворків, які входять до .NET-екосистеми, для реалізації різних функціональностей.
- Ознайомлення з розробкою веб-додатків за допомогою технології ASP.NET Core, включаючи роботу з MVC (Model-View-Controller).
- Створення баз даних на сервері MSSQL, підключення до проекту і використання.
- Ознайомлення з розробкою мобільних та корсплатформових додатків на платформі .NET, за допомогою MAUI (в минулому Xamarin).
- Вивчення принципів та шаблонів програмування, основ рефакторингу, для постійного покращення якості програмного продукту, легшого масштабування та підвищення зрозумілості командою розробників.
В результаті вивчення дисципліни формуються наступні компетенції:
ПК 19
|
Здатність застосовувати технологію об'єктно-орієнтованого програмування та базові патерни проектування при створені програмного забезпечення із відповідним функціоналом для радіотехнічних інформаційних систем та реалізовувати програми в різних середовищах програмування.
|
ПК 20
|
Здатність обирати методи та засоби обробки інформації із застосуванням інтелектуальних технологій.
|
ПРН 4
|
Застосовувати бази даних, математичне і програмне забезпечення для обробки даних та комп’ютерного моделювання телекомунікаційних та радіотехнічних систем, та інтелектуальних технологій радіоелектроніки.
|
Студент буде знати:
– мову програмування C#;
– основні концепції технології .NET та базові принципи створення програмного забезпечення за її допомогою;
– основні бібліотеки, що утворюють .NET.
Студент буде вміти:
– працювати в середовищі програмування Microsoft Visual Studio;
– створювати програми на мові C# з використанням об’єктно-орієнтованої технології;
– створювати ПЗ з графічним інтерфейсом користувача (для десктопного, веб- та мобільного використання);
– розробляти ПЗ для взаємодії з базами даних;
– розробляти ПЗ для роботи в телекомунікаційній мережі Інтернет за допомогою технології ASP.NET Core.
2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
До початку вивчення дисципліни студент повинен володіти:
- знаннями з інформатики та базовими навичками програмування (дисципліни: Інформатика, Втуп до спеціальності);
- англійською мовою (або навичками використання онлайн перекладачів).
Знання та вміння за результатами навчання можливо покращити додатково обравши для вивчення наступні дисципліни:
3. Зміст навчальної дисципліни
Під час навчання буде розглянуто наступні теми:
1. C# синтаксис. Основні аспекти мови C# від операторів розгалуження та циклу до об'єктно-орієнтованого підходу, подій, шаблонів та традицій в написанні програм.
2. LINQ (Language-Integrated Query) — проста та зручна мова запитів до джерела даних.
3. Основи фреймворків, технологій та засобів з використанням яких ведеться розробка:
- Десктопного ПЗ — продуктів, що запускаються на персональних комп'ютерах. Розглядаються WinForms та MAUI (Multi-Platform App UI) — підсистеми для побудови графічних інтерфейсів. Однією з важливих особливостей MAUI є використання мови декларативної розмітки XAML, заснованої на XML.
- Веб-розробка. Особливість полягає в тому, що веб-додатки працюють через браузер і вимагають, як правило, стабільного інтернет-підключення, частого оновлення інформації та якісного інтерфейсу. Веб-програми можуть бути різної складності. Cтворити невеликий односторінковий сайт з картинками та посиланнями — справа нехитра, а ось для створення комплексної web-програми знадобиться багато зусиль. Розглядаються МVC та ASP.NET Core. MVC, англ. Model-view-controller — архітектурний шаблон, який використовується під час проєктування та розробки програмного забезпечення. ASP.NET Core — вільне та відкрите програмне забезпечення каркаса веб-застосунків.
- Мобільних додатків - продуктів, що запускаються на мобільних пристроях користувачів. Розглядається MAUI (Нащадок Хamarin.Forms) — платформа, яка націлена на створення кросплатформових програм під Android, iOS і Windows.
Крім цього, за допомогою .NET на C# можливо створювати програми IoT (інтернету речей) для Raspberry Pi, HummingBoard, BeagleBoard, Pine A64 тощо. Використовуючи наявні бібліотеки та фреймворки з відкритим кодом для взаємодії зі спеціалізованим обладнанням, таким як датчики, аналого-цифрові перетворювачі та LCD-пристрої.
Також, за допомогою .NET можна писати ігри під платформу Unity. Під Unity написані такі відомі ігри, як: Hearthstone: Heroes of Warcraft; Cities Skylines; Cuphead; Pillars of Eternity; Pokemon Go; Subnautica та інші. Для створення гри достатньо знати мову C# та використовувати бібліотеки платформ Mono та Unity.
4. Навчальні матеріали та ресурси
Електронні ресурси
- Бібліотека документації та навчальних ресурсів Microsoft для розробників та інших професіоналів, які працюють із технологіями — https://docs.microsoft.com/uk-ua/
- W3Schools — найбільший безкоштовний освітній веб-сайт для розробників та навчання програмуванню онлайн. Щороку відображається 3 мільярди сторінок. 60 мільйонів відвідувачів щомісяця — https://www.w3schools.com/
- C# Corner — Глобальна мережева спільнота розробників програмного забезпечення. У 2021 році C# Corner обслужив 29,4 мільйона відвідувачів — https://www.c-sharpcorner.com/
- Programiz — навчальний веб-сайт для вивчення програмування. Мільйони користувачів переглядають підручники та приклади Qjut з усього світу — https://www.programiz.com/
- Stackify - допомагає розробникам писати кращий код. Їх продукти дозволяють тестувати свій код під час написання. Це допомагає розробникам завчасно виправляти проблеми з продуктивністю та краще перевіряти код — https://stackify.com/
Книги
- Head First патерни проєктування, Ерік Фрімен, Елізабет Робсон, Кеті Сьєрра, Берт Бейтс (укр.)
- Чистий Код, Роберт Мартін (укр.)
- C#: Learn C# in One Day and Learn It Well. C# for Beginners with Hands-on Project, LCF Publishing, 161 pages (англ.)
- C# 8.0 and .NET Core 3.0, Mark J. Price (англ.)
- C# in Depth: тонкощі програмування, Джон Скіт (англ.)
Навчальний контент
5. Методика опанування навчальної дисципліни (освітнього компонента)
Номер заняття
|
Вид заняття
|
Опис
|
Тема 1. Комп’ютери, програмування та Microsoft.NET
|
1
|
Лекція
|
- Організаційні моменти.
- Конструкція комп’ютера.
- Операційна система.
- Програмне забезпечення, комп’ютерні програми.
- Мови програмування. Як комп’ютер обробляє програми?
- Що таке .NET?
|
2
|
Практичне
|
Виконання завдання 1 до теми 1. Ознайомлення з теоретичними матеріалами і виконання практичних дій:
- знайомство з Visual Studio;
- знайомство з редактором коду C#;
|
3
|
Практичне
|
Виконання завдання 2 до теми 1:
- знайомство з проектами та рішеннями;
- доповнення шаблону проекту кодом та проходження автоматизованого тестування;
- інсталяція інструменту для статичного аналізу коду.
|
Тема 2. Основи виконання програм та мови програмування C#
|
4
|
Лекція
|
- Виконання програми в .NET.
- Структура програми С#.
- Категорії даних: тип-значення та тип-посилання.
- Змінні та константи.
|
5
|
Практичне
|
- Математичні операції.
- Оператори умови та циклу.
|
6
|
Практичне
|
- Одновимірні масиви.
- Багатовимірні масиви.
|
Тема 3. Типи даних та основи ООП
|
7
|
Лекція
|
- Типи в C#.
- Оператори та вирази.
- Знайомство з ООП.
- Класи та об’єкти.
- Принципи ООП.
|
8
|
Практичне
|
|
9
|
Практичне
|
|
Тема 4. Особливості реалізації ООП та взаємодії між класами
|
10
|
Лекція
|
- Особливості реалізації ООП (конструктор; this; створення об'єкту; статичний клас; деструктор).
- Взаємодія між класами (асоціація; композиція; агрегація; успадковування).
- Поліморфізм (під час компіляції; під час виконання; приховування методів).
|
11
|
Практичне
|
- Наслідування (створення базового класу та класу нащадку, оголошення їх вмісту, робота з методами таких класів)
|
12
|
Практичне
|
- Асоціація, композиція та агрегація (абстрактний клас, класи-нащадки, абстрактні методи, перевизначення методів)
|
Тема 5. Обробка виключень. Основи LINQ
|
13
|
Лекція
|
- Винятки та обробка виняткових ситуацій.
- LINQ (англ. Language Integrated Query - запити, інтегровані в мову). Запити до різних джерел даних або форматів даних.
|
14
|
Практичне
|
- Винятки та обробка виняткових ситуацій (перевірка аргументів, використання конструкції try…catch, оператор throw).
|
15
|
Практичне
|
- Виконання запитів даних за допомогою LINQ.
|
Тема 6. Інтерфейс програмування додатків
|
16
|
Лекція
|
- Створення першої програми з графічним інтерфейсом (форма).
- Додавання елемента керування до форми.
- Створення обробників подій.
- Налаштування розміру та масштабу.
- Приклади створення програм.
|
17
|
Практичне
|
- Створення програми з графічним інтерфейсом на основі проекту Windows Forms (.NET 6.0).
|
18
|
Практичне
|
- Створення бази даних та підключення її до проекту.
- Налагодження програми для роботи з базою даних.
- Публікація та перевірка працездатності застосунку.
|
Тема 7. Створення вебзастосунків за архітектурним шаблоном MVC
|
19
|
Лекція
|
- ASP.NET — технологія створення вебзастосунків і вебсервісів від компанії Майкрософт.
- Архітектурний шаблон Model-View-Controller (MVC), що розділяє програму на три основні групи компонентів.
- Створення додатку ASP.NET MVC, структура папок, додавання компонентів.
- Передача даних між контролером та представленням.
- Робота з базою даних у програмі ASP.NET Core MVC.
- Фронтенд — презентаційна частина, інтерфейс користувача і пов'язані з ним компоненти (HTML, CSS, JS).
|
20
|
Практичне
|
- Створення веб-застосунку за допомогою технології ASP.NET Core та архітектурного шаблону MVC частина 1: користувацький інтерфейс (Front-end) його зв’язок з контролером (Back-end).
|
21
|
Практичне
|
- Підключення Entity Framework Core.
- Робота з базою даних у додатку ASP.NET Core MVC.
|
Тема 8. Принципи та шаблони проектування програмного забезпечення
|
22
|
Лекція
|
- Принципи ООП програмування та дизайну SOLID.
- Шаблони (патерни) програмування.
- Рефакторинг.
|
23
|
Практичне
|
- Створення кросплатформового застосунку MAUI (Multi-platform App UI) для мобільних і настільних пристроїв.
- Налаштування емулятору та пристрою Android.
|
24
|
Практичне
|
- Кросплатформова розробка. Міграція проекту з Windows Forms на MAUI.
- Перевірка роботи програми на мобільному пристрої Android/iOS.
|
Захисти робіт та семестровий контроль
|
25-26
|
Практичне
|
Заняття присвячені захистам попередніх робіт, підведенню підсумків та оголошенню набраних балів за результатами поточного контролю.
|
27
|
Лекція
|
Залік проводиться в період останніх двох тижнів теоретичного навчання у семестрі, як правило, на останньому за розкладом занятті з відповідної навчальної дисципліни (освітнього компонента).
|
6. Самостійна робота студента
1. На протязі семестру:
- Вивчення лекційного матеріалу.
- Опрацювання літературних джерел.
- Відповіді на запитання для самоперевірки.
2. На протязі тижня перед запланованою датою:
- Підготовка до виконання практичних робіт.
- Підготовка до написання контрольної роботи.
- Підготовка до виконання домашньої контрольної роботи.
- Підготовка до заліку.
Політика та контроль
7. Політика навчальної дисципліни (освітнього компонента)
Правила відвідування занять:
- для лекцій - відвідування занять за розкладом, також допускається вивчення матеріалу - самостійно, в дистанційному режимі з використанням літературних джерел та ресурсів у мережі інтернет.
- для очних практичних занять відвідування обов’язкове, за розкладом. Для дистанційних практичних робіт допускається асинхронне виконання завдань.
Правила поведінки на заняттях:
- на заняттях доцільно використовувати мережу інтернет для пошуку інформації і зручного доступу до сучасних впорядкованих джерел інформації;
- допускається використання мобільних телефонів, ноутбуків та іншої сучасної техніки.
Правила захисту практичних робіт:
- для захисту практичних роботи необхідно пройти відповідний тест;
- практичних роботи захищаються на поточному занятті або на наступному від заняття присвяченого роботі що захищається.
- практичні роботи захищаються в вигляді відповідей на контрольні запитання та також пояснення отриманих результатів або в вигляді відповідей на онлайн тест.
Правила захисту індивідуальних завдань:
- результати виконання індивідуальних завдань подаються до захисту не пізніше ніж за два тижні після видачі завдань.
Правила призначення штрафних балів:
- штрафні бали призначаються за невчасне виконання/захист практичної роботи.
Політика дедлайнів та перескладань:
- захист/здача практичних робіт виконується до останнього заняття (включно).
8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)
- Поточний контроль: опитування (тест) за темами лекцій (16 балів), виконання практичних робіт (64 бали), МКР (10 балів), ДКР (10 балів).
- Календарний контроль: провадиться двічі на семестр як моніторинг поточного стану виконання вимог силабусу.
- Умови допуску до семестрового контролю: семестровий рейтинг більше 60 балів.
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
Кількість балів | Оцінка |
100-95 | Відмінно |
94-85 | Дуже добре |
84-75 | Добре |
74-65 | Задовільно |
64-60 | Достатньо |
Менше 60 | Незадовільно |
Не виконані умови допуску | Не допущено |
9. Додаткова інформація з дисципліни (освітнього компонента)
...
Опис матеріально-технічного та інформаційного забезпечення дисципліни
Заняття проводяться на комп’ютерах, розміщених в навчальному класі кафедри ПРЕ. Також студенти можуть використовувати власні комп’ютери. Основним програмним забезпеченням є Microsoft Visual Studio Community - це безкоштовне повнофункціональне розширюване інтегроване середовище розробки (IDE) для створення сучасних додатків Android, iOS та Windows, а також веб-додатків та хмарних служб.
Робочу програму навчальної дисципліни (силабус):
Складено
Нікітчук А. В.;
Ухвалено кафедрою ПРЕ (протокол № 06/2024 від 21.06.2024 )
Погоджено методичною комісією факультету/ННІ (протокол № 06/2024 від 28.06.2024 )