Розробники та рецензенти
Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:

Валідація:
Розробник навчальної програми:
Соколова Євгенія Віталіївна — к.т.н., доцент, доцент кафедри «Інженерії програмного забезпечення» Національного аерокосмічного університету ім. М. Є. Жуковського «Харківський авіаційний інститут»
Базова інформація
Шифр та назва спеціальності:
121 - Програмна інженеріяНазва освітньо-наукової програми
інженерія програмного забезпеченняНазва дисципліни
Програмування мовою С#Вид дисципліни
ОсновнаБлок дисципліни
Алгоритмізація і програмуванняКількість студентів
Курс/Семестр
2Загальна інформація про дисципліну
Анотація
Курс призначено для здобувачів, які мають загальні уявлення о програмуванні та алгоритмізації, але не знають як створювати додатки WPF. Приділяється увага основам роботи з даними, базовим аспектам синтаксису мови C#, ознайомленню з вбудованими типами даних та операціях з ними, обробки подій, обробки виключень, обробки масивів, рядків, потокам, основам ООП. Приділяється увага розділенню програми на блоки, відокремленню інтерфейсу від алгоритму.Анотація
Вивчення засобів та принципів будування програм шаблону WPF, формування фундаментальних понять і методів програмування та обробки подій, принципи обробки елементів класу Array, методи обробки рядків, робота з текстовими та бінарними потокамиАнотація
Лекції, лабораторні роботи, практичні роботи, самостійна робота. Підсумковий контроль – іспитРозподіл часу
Попередні дисципліни
Основи програмуванняМатеріально-технічне та програмне забезпечення дисципліни
Microsoft Visual Studio 2022 CommunityСтруктура дисципліни
- Вступ до .Net 7. Особливості синтаксису програм мовою С#. Особливості розробки програм шаблону WPF: поняття вікна, вступ до XAML, подія, властивість, обробка подій. Практика/Лабораторні: 2 години лабораторних; створення додатка WPF
- Поняття виключення (Exception), базові властивості виключень. Програмна обробка виключень (try-catch-finally). Програмна генерація виключень (throw). Поняття контексту що перевіряється (не перевіряється) (checked/unchecked). Порядок обробки Exception. Практика/Лабораторні: 2 години практики: розв’язання задач з обробкою виключень Exception; 2 години лабораторних - обробка виключень. Порядок обробки Exception.
- Клас Array його властивості та методи. Опис та створення векторів. Особливості роботи з одновимірними динамічними масивами. Оператор перебору елементів колекції (foreach-in). Опис та створення двовимірних масивів: прямокутних та ламаних масивів. Особливості роботи з динамічними двовимірними масивами. Практика/Лабораторні: 2 години практики - розв’язання задач на обробку одновимірних та двовимірних динамічних масивів; 4 години лабораторних - обробка динамічних одновимірних масивів; 4 години лабораторних; обробка динамічних двовимірних масивів
- Символи (char) і рядки (string). Тип символ (char). Операції над символами. Методи аналізу символів. Алгоритм отримання кодів символів. Алгоритм отримання символу по коду. Поняття Escape-послідовність. Алгоритми обробки символів. Тип рядок (string). Особливості об’яви та ініціалізації об’єктів типу string. Властивості та методи класу string. Алгоритми обробки строк. Практика/Лабораторні: 2 години практики - розв’язання задач на обробку символів та строк, 4 години лабораторних - обробка символів та строк
- Файли та потоки. Поняття файл та потоки. Потоки байт (FileStream), основні властивості та методи обробки. Текстові потоки (TextReader, TextWriter), основні властивості та методи обробки. Двійкові потоки (BinaryReader, BinaryWriter) основні властивості та методи обробки. Базові алгоритми обробки потоків. Практика/Лабораторні: 2 годин практики - розв’язання задач на обробку текстових потоків; 4 години лабораторних- текстові файли; 2 годин практики - розв’язання задач на обробку бінарних потоків; 6 години лабораторних - бінарні файли
- Поняття клас, об’єкт. Елементи класу: поля, константи класу, методи, конструктор, деструктор, властивості, індексатори, операції, події, типи. Особливості присвоювання та порівняння об’єктів. Модифікатори доступу до елементів класу (public, private, protected, internal, protected internal, private protected). Звернення до полю та виклик методу об’єкту. Конструктор об’єкту. Особливості використання посилань this. Практика/Лабораторні: 2 години практики - розв’язання задач на створення класів та об’єктів
- Базові принципи об’єктно-орієнтованого програмування. Принцип інкапсуляції. Способи реалізації принципу: за допомогою методів читання та зміни значень поля (accessor та mutator), за допомогою властивостей. Принцип наслідування. Поняття базового класу та класу спадкоємця. Реалізація наслідування. Виклик конструктора базового класу (base). Принцип поліморфізму. Реалізація поліморфізму. Поняття перевантаження методу (virtual та override).Практика/Лабораторні: 4 години практики - розв’язання задач з використанням принципів ООП; 6 години лабораторних - робота з об’єктами. Інкапсуляція. Наслідування. Поліморфізм
Теми та завдання для самостійної роботи
- Створення простіших Windows додатків. Елементи управління: кнопка, підпис, поле вводу. Виконання та захист лабораторної роботи 1. Усне опитування
- Робота з об’єктом перемикачем. Виконання та захист лабораторної роботи 2. Усне опитування
- Використання вікон повідомлень. Виконання та захист лабораторної роботи 2. Усне опитування
- Елемент управління для відображення списку. Виконання та захист лабораторної роботи 3. Усне опитування
- Елемент управління таблиця. Виконання та захист лабораторної роботи 4. Усне опитування
- Обробка подій клавіатури. Виконання та захист лабораторної роботи 5. Усне опитування
- Елемент управління меню. Виконання та захист лабораторної роботи 6. Усне опитування
- Елементи управління для роботи з файлами. Виконання та захист лабораторної роботи 7. Усне опитування
- Проектування програми відповідно до завдання лаб. роб. 8. Виконання та захист лабораторної роботи 8. Усне опитування
- Індивідуальне завдання. Виконання та захист розрахункової роботи «Рекурентні відношення. Використання рекурсивних підпрограм процедур та функцій».
- Підготовка до контрольних заходів. Написання 2-х модульних контрольних робіт в системі moodle, та підсумкової контрольної роботи
Проєкт
Рекомендовані джерела інформації та навчальні матеріали
- Соколова, Є. В. Програмування мовою С# [Електронний ресурс] : навч. посіб. до виконання лаб. робіт. Ч. 2 / Є. В. Соколова, О. В. Лучшева, Ю. С. Манжос. – Харків : Нац. аерокосм. ун-т ім. М. Є. Жуковського «Харків. авіац. ін-т», 2021. – 75 с.
- Основи програмування [Текст] : навч. посіб. до виконання практ. робіт / Є. В. Соколова, О. Г. Кіріленко, М. О.Данова. – Х.: Нац. аерокосм. ун-т ім. М. Є. Жуковського «Харк. авіац. ін-т», 2016. – 109 с.
- Nagel, C. Professional C# and .NET [Текст] / C. Nagel. - Hoboken, New Jersey: John Willey & Sons, Inc., 2022 — 970 p.
- Troelsen, A. Pro C# 9 with .NET 6: Foundational Principles and Practices in Programming [Text] / A. Troelsen, P. Japikse. - Minneapolis, MN, USA: APress Media, 2022 — 1705 p.
- Yuen, S. Mastering Windows Presentation Foundation: Build responsive UIs for desktop applications with WPF [Text]/ S. Yuen. - 2nd Edition. - Birmingham, UK: Packt Publishing, 2020 - 624 p.
- Albahari J. C# 9.0 in a Nutshell: The Definitive Reference [Text] / J. Albahari. - Sebastopol, CA: O’Reilly Media Inc., 2021 — 1062 p.
- Vystavel, V. C# Programming for Absolute Beginners: Learn to Think Like a Programmer and Start Writing [Text]/ V. Vystavel. - 2nd Edition. - Ondreyov, Czech Republic: APress, 2021 - 365 p.
Контрольні заходи
Результати навчання
Зв'язок з ринком праці
Спеціальність/професія, підготовці до діяльності в якій читається курс:
Розробник серверної частиниПосилання на вакансії (понад 3),
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.
Інструменти оцінювання результатів навчання за дисципліною
Поточний контроль знань: Проводиться під час лекцій, лабораторних, практичних занять.
Форми: усне опитування, перевірка виконаних завдань, захист лабораторних робіт.
Лабораторні та практичні роботи: Захист кожної лабораторної роботи супроводжується усним опитуванням.
Оцінюється правильність розв’язання задач, пояснення коду, якість реалізації інтерфейсу та логіки.
Самостійна робота: Включає виконання індивідуальних завдань (створення WPF-додатків, обробка подій, робота з файлами).
Контроль здійснюється через захист пов’язаних лабораторних робіт та розрахункову роботу.
Охоплює теми першої та другої частини курсу (масиви, строки, потоки, ООП).
