UA / EN
Освіта

Каталог вибіркових навчальних дисциплін


Кросплатформена розробка. Net

Кафедра, яка викладає навчальну дисципліну:
Кафедра інженерії програмного забезпечення
Короткий опис навчальної дисципліни
Дисципліна присвячена вивченню .NET платформи та мови програмування C#
Цілі та задачі навчальної дисципліни
Цілі дисципліни: Формування навичок проектування, розробки, встановлення додатків, використання сучасних методів програмування та сучасних середовищ розробки
Результати навчання
Знати: - теоретичні положення про .NET; - теоретичні положення про C#; - теоретичні положення про клієнтську обробку; - теоретичні положення про взаємодію з користувачем; - теоретичні положення про обробку виключних ситуацій; - теоретичні положення про створення багатопоточних додатків. Вміти: - створювати компоненти .Net Framework, за допомогою мови C#; - створювати та супроводжувати проекти; - коректно обробляти нештатні ситуації; - вміти користуватися основними можливостями IDE Visual Studio.
Перелік тем
Тема 1. Архітектура додатків .NET. Основи C#. (Історія розвитку, збірки, NuGet пакети, CRL, технології для створення Windows, Web, Mobile додатків, оголошення змінних, область видимості, типи даних, перерахування, стиль кодування). Тема 2. Об’єкти та типи, наслідування. (Класи, структури, їх відмінності, expression body members, змінні за посиланням та значенням, поліморфізм методів, екземплярні та статичні конструктори, полу тільки для читання, файли, які знаходяться більше ніж в одному класі, статичні класи, тип Object, типи наслідування, реалізація наслідування, модифікатори доступу, інтерфейси). Тема 3. Керовані та некеровані ресурси. Generics. (Виділення пам’яті в стеку та кучі, збірка сміття, звільнення некерованих ресурсів, IDisposable інтерфейс, робота з вказівниками, високошвидкісні стекові масиви, виклик сторонніх бібліотек через native API. Generics: класи, структури, інтерфейси, методи їх декларація, створення, та використання). Тема 4. Масиви та кортежі (Tuples). Оператори та приведення (casts). (Робота з одновимірними, багатовимірними та зубчастими масивами, клас Array, Tuple, структурне порівняння, оператори, явне та неявне приведення типів, порівняння типів, перевантаження операторів, індексний оператор, проблеми при реалізації.) Тема 5. Делегати, лямбда, події. Рядки та регулярні вирази. (Делегати, лямбда методи,замикання, події, слабкі події, створення рядків, їх форматування та використання регулярних виразів). Тема 6. Стандартні та спеціалізовані колекції. (Основні інтерфейси колекцій, робота зі списками, чергами, стеками, зв’язані та сортовані списки, словники та множини, оцінка швидкодії, бітові масиви та вектори, observable, immutable, concurrent колекції). Тема 7. LINQ, обробка помилок, Exceptions. (Стандартні LINQ запити, LINQ оператори, Parralel LINQ, дерева виразів, методи обробки помилок, визначення власних виключних ситуацій, їх обробка, отримання та зміна системної інформації). Тема 8. Вступ в асинхронне програмування. (Важливість асинхронного програмування, шаблони асинхронного програмування, async, await, створення та використання асинхронних методів, обробка помилок, коректна робота з довготривалими асинхронними операціями). Тема 9. Рефлексія, метадані, динамічне програмування. (Кастомні атрибути, аналіз метаданих під час роботи додатку, динамічне створення об’єктів, читання, зміна, виклик методів зі змінною кількістю параметрів, DLR & Runtime, DynamicObject, ExpandoObject). Тема 10. Діагностика додатків, Application Insights, Hockey. (EventSource, визначення об’єктів, діагностика додатків, виявлення проблем додатків на «точкових клієнтах», загальна швидкодія додатку, збір та аналіз інформації про середовище користувача, Application Insights, Hockey) Тема 11. Задачі (Task) та паралельне програмування. (багатопоточність, клас Parallel та його можливості, основні методи, клас Task, робота з ним, створення потоків, пул задач, методи відміни довготривалих операцій, Data Flow) Тема 12. Робота з файлами та потоками. (Отримання інформації про каталог, файл, методи їх створення, редагування, видалення, потоки для читання/запису, стискання файлів, моніторинг змін, які відбулися у файлі, комунікація за допомогою pipes, windows runtime streams). Тема 13. Безпека, робота з мережевими ресурсами (Networking). (HttpClient, робота з мережевими ресурсами, створення та отримання інформації про IP адресу та DNS записи, Http 2.0, Web listener, TCP, UDP сокети). Тема 14. Захист додатків, шифрування даних, робота з захищеними ресурсами. (Автентифікація та авторизація, створення та перевірка сигнатур, безпечний обмін даними, підпис та хешування, захист даних, контроль доступу до ресурсів). Тема 15. XML, JSON, локалізація. (XML стандарти, XMLReader, XMLWriter, XMLDocument, XPathNavigator, LINQ to XML, JSON, створення, використання, розгляд випадків коли і як краще застосовувати, форматування згідно регіону, ресурси локалізованого контенту, локалізація різних типів додатків, створення влесних культур, ресурсних читачів).
Система оцінювання
10 лабораторних робіт по 10 балів
Форма контролю
залік