Розробка програм на платформі .NET

Анотація курсу

Фокус уваги курсу «Розробка програм на платформі .NET» спрямовано на оволодіння базовими інструментами середовища .Net та особливості мови програмування C#: властивості, події, індексатори, методи розширення, використання інтерфейсів, серіалізація, життєвий цикл об’єктів, засоби рефлексії, LINQ. Вивчення дисципліни має сприяти формуванню розуміння основних відомостей про принципи побудови програмного забезпечення на основі .NET-технологій, особливості організації процесу програмування на платформі .NET Framework, вмінню студентів оцінювати ступінь правильності формування програмного коду.

Мета:

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

Основні завдання:

Завданнями вивчення дисципліни «Розробка програм на платформі .NET» є: опанування синтаксису і семантики мови C#, вивчення теорії типів і системи типізації в .NET; поглиблення знань з об’єктно-орієнтованого програмування та математичних основ ООП; застосування концепції .NET для реалізації ООП;ознайомлення з подієво-орієнтованим програмуванням та компонентним підходом до програмування; набуття вміння створювати додатки мовою C# на основі сучасних методів об’єктно-орієнтованого та компонентного програмування у інтегрованих середовищах програмування Visual Studio та Rider.

Що ви будете знати:

  • об’єктно-орієнтований підхід до програмування;
  • основні поняття ООП;
  • синтаксис і семантику мови C#;
  • теорію типів і систему типізації в .NET;
  • подієво-орієнтоване програмування;
  • застосування концепції .NET для реалізації ООП;
  • компонентний підхід до програмування.

Що ви будете вміти:

  • використовувати основні синтаксичні та семантичні конструкції мови С#;
  • обґрунтовувати необхідність використання об’єктно-орієнтованої технології або компонентного підходу для вирішення конкретної задачі;
  • створювати консольні прикладні застосування мовою C# на основі сучасних методів об’єктно-орієнтованого та компонентного програмування;
  • використовувати в професійній діяльності сучасні інтегровані середовища програмування (Visual Studio, Rider);
  • самостійно опановувати нові методи та технології розробки програм.

Тематичний план курсу

Тема 1. Вступ. Основні поняття мови C#
Що таке .NET, CLR та IL. Синтаксис, семантика, типізація у мові С#. Структури вводу, виводу, управління та повторення. Масиви та рядки у С#. Методи, параметри методів. Правила DRY та KISS.
Тема 2. Обробка виключних ситуацій
Конструкція try…catch. Фільтрація виключень. Операція throw. Блок finally. Використання конструкції using та інтерфейсу IDisposable для безпечної роботи з некерованими ресурсами.
Тема 3. Колекції у мові С#
Узагальнення та їх обмеження. Інтерфейс IEnumerable, ключове слово yield. CRUD для об’єкта, що ітерується. Колекція IList, List, індексація по об’єкту, динамічний масив в контексті C#, основні методи. Множина ISet, HashSet, основні методи та властивості. Стек Stack. Черга Queue. Інтерфейс IDictionary, KeyValuePair. Словник Dictionary, основні методи та особливості використання. Декоратор ReadOnlyCollection.
Тема 4. Об’єктно-орієнтоване програмування у мові С#
Клас, структура, запис. Модифікатори доступу. Поля. Властивості. Конструктори. Ключове слово static. Абстрактні класи. Спадкування в C#. Інтерфейси. Спадкування конструкторів. Ключове слово base. Перетворення типів, поліморфізм подтипів. Віртуальні члени класу, ключові слова virtual, override, new. Інтерфейс vs абстрактний клас. Делегати Action, Func, лямбда-функція. Події, обробка подій, клас Timer.
Тема 5. Мова інтерпретованих запитів LINQ
Призначення. Проекція колекції в іншу колекцію. Фільтрація колекції. Пошук елементів за умовою: First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefault, Any, All, Contains. Операції з властивостями або полями об’єктів колекції: Min, Max, Sum, Average. Методи Aggregate, Take, TakeWhile, Skip, SkipWhile. Сортування за умовою. Багаторівневе сортування. Методи Concat, Distinct, Union, Except, Intersect, Group By.
Тема 6. Потоки. Робота з файлами, мережею. HTTP-клієнт
Stream як основний клас для роботи з потоками. FileStream для передачі даних файлів. Декоратори для роботи з потоками StreamReader та StreamWriter. Робота з віддаленими серверами за допомогою HttpClient. Отримання результатів як потоків.
Тема 7. Принципи SOLID. Основні патерни проектування
Принцип єдиного обов’язку. Принцип відкритості/закритості. Принцип підстановки Лісков. Принцип розділення інтерфейсу. Принцип інверсії залежностей. Породжуючі патерни GoF. Поведінкові та структурні патерни.
Тема 8. Основи реляційних баз даних
Базові поняття про бази даних. Концепція реляційної бази даних. Сутності, первинні ключі, зв’язки між сутностями, зовнішній ключ, індекси в реляційних базах даних.

Загальна інформація

Форма навчанняКількість кредитів ECTSЗагальна кількість
академічних годин
ЛекційніЛабораторніСамостійна
робота
Форма контролю
Денна4120163272залік
Заочна412066108залік
КомпетентностіРезультати навчання
ЗК02 Здатність застосовувати знання у практичних ситуаціях.
СК03 Здатність розробляти архітектури, модулі та компоненти програмних систем.
СК11 Здатність реалізовувати фази та ітерації життєвого циклу програмних систем та
інформаційних технологій на основі відповідних моделей і підходів розробки програмного забезпечення.
СК13 Здатність обґрунтовано обирати та освоювати інструментарій з розробки та супроводження програмного забезпечення.
ПР06 Уміння вибирати та використовувати відповідну задачі методологію створення програмного забезпечення.
ПР07 Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
ПР15 Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.
ПР17 Вміти застосовувати методи компонентної розробки програмного забезпечення.

Викладач

Рибальченко Олена Геннадіївна

Методичне забезпечення