Перейти до вмісту
Система сертифікації ІТ-дисциплін
Система сертифікації ІТ-дисциплін
  • Головна
  • Для ІТ-спеціалістів
  • Для викладачів
  • Силабуси
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster

Об’єктно-орієнтоване програмування (мова С#)

Home / / Об’єктно-орієнтоване програмування (мова С#)

Розробники та рецензенти

Заклад вищої освіти:

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

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

Валідація:

Опис зображення
Розробник навчальної програми:

Ілона Шевченко — канд. техн. наук, доцент кафедри "Інженерії програмного забезпечення"

Базова інформація

Шифр та назва спеціальності:
121 - Програмна інженерія
Назва освітньо-наукової програми
Інженерія програмного забезпечення
Назва дисципліни
Об’єктно-орієнтоване програмування (мова С#)
Вид дисципліни
Основна
Блок дисципліни
Алгоритмізація і програмування
Кількість студентів
110
Курс/Семестр
3

Загальна інформація про дисципліну

Анотація
У результаті вивчення курсу здобувачі будуть знати і вміти реалізовувати мовою С# основні поняття і базові концепції об’єктно-орієнтованої парадигми програмування: клас, об’єкт класу, поле і метод класу, модифікатор доступу, властивість, інкапсуляція; конструктор і деструктор класу, ініціалізатор, перевантаження (overloading) методу, сигнатура методу; статичне поле, статичний метод, статичний клас; упакування (boxing) і розпакування (unboxing); узагальнений тип (Generic), колекція (Collection) – List, Stack, Queue, Dictionary; серіалізація (serialization) і десеріалізація (deserialization); відношення між класами – асоціація, агрегація, композиція, реалізація, спадкування; інтерфейс, реалізація інтерфейсу; перевизначення (overriding) методу, віртуальний (virtual) метод, заміна (replacement) методу; sealed-метод, sealed-клас; поліморфізм, абстракція, абстрактний клас; висхідне (upcasting) і низхідне (downcasting) перетворення типів; делегат (delegate), делегати Action, Predicate, Func; подія (event); SOLID-принципи; анонімний метод, лямбда-вираз, метод розширення (extention method); LINQ; рефлексія; оператор, індексатор, частковий (partial) клас, частковий метод. Курс завершується розробленням і презентацією застосунку з використанням об’єктно-орієнтованої парадигми, а також TDD-підходу (Test-Driven-Development).
Анотація
Надати знання і сформувати навички розроблення програмного забезпечення за допомогою об’єктно-орієнтованої парадигми програмування.
Анотація
Лекції, практичні роботи, самостійна робота. Модульні контрольні, підсумковий контроль – іспит.
Розподіл часу
Загальний обсяг (кредитів): 5; Лекції (занять): 32; Лабораторні (занять): 0; Практичні (занять): 32; Самостійна робота (годин): 86
Попередні дисципліни
Основи програмування (мова С#)
Матеріально-технічне та програмне забезпечення дисципліни
Visual Studio 2022 (Community)
Структура дисципліни

Теоретична складова

Назва, перелік питань або анотація лекції

Годин Практична складова Опис та приклад завдання, а також посилання на методичні матеріали Годин Інструменти, засоби та технології

Об’єктно-орієнтоване програмування: Початковий рівень

Класи та об’єкти. Характеристики і поведінка об’єктів класу. Принцип абстракції.  2 Практична робота №1 https://drive.google.com/file/d/1L__-_Gr46fu8t2SgZcpGA5meGCPZb63l/view?usp=sharing 2 Visual Studio 2022 (Community)
Принцип інкапсуляції. Поняття властивості. Обчислювальні і автовластивості. Властивості і Exceptions.  2 Практична робота №2 https://drive.google.com/file/d/1I5O4moOKUwah0DsGBoBjzAD_mWqa1JlM/view?usp=sharing 2 Visual Studio 2022 (Community)
Конструктор класу. Перевантаження конструктору класу. Ініціалізатори. Деконструктори. Деструктори. Поняття сигнатури метода. Перевантаження методів класу. 2 Практична робота №3 https://drive.google.com/file/d/1ByEQsIbhUMIlW8tTGh9cR98egA5jFOZu/view?usp=sharing 2 Visual Studio 2022 (Community)
Статичні: поля, властивості, методи, конструктори, класи. Статичні класи Console, Convert, Math та ін. Статичні методи класу String. Реалізація статичних методів Parse i TryParse для власного класу. 2 Практична робота №4 https://drive.google.com/file/d/1GkkmhbQ8g6R2l9BoKf0AsNG9vNWS_7QX/view?usp=sharing 2 Visual Studio 2022 (Community)
Модульне тестування (Unit testing). Фреймворки для проведення модульного тестування: xUnit, MSTest, NUnit. Test-Driven-Development (TDD): поняття, особливості. 2 Практична робота №5 https://drive.google.com/file/d/1hxS_aSa1EKjFi7CfDc2KO-pxn4iiQVzK/view?usp=sharing 2 Visual Studio 2022 (Community), фреймворки xUnit, MSTest, NUnit
Поняття "boxing" та "unboxing". Узагальнені типи (Generics). Колекції (Collections): List<T>, Stack<T>, Dictionary<K, V>. 2 Практична робота №6 https://drive.google.com/file/d/1ZlUiUXhmxS5Yujh3WsMJdRslT7EEm5ac/view?usp=sharing 2 Visual Studio 2022 (Community)
Збереження та завантаження об’єктів класу (Saving and loading of objects). Серіалізація (Serialization) / Десеріалізація (Deserialization) об’єктів класу. 2 Практична робота №7 https://drive.google.com/file/d/1aSt7xy4JjNgM7Q4mIe4CgOSVt--js-9K/view?usp=sharing 2 Visual Studio 2022 (Community)

Об’єктно-орієнтоване програмування: Середній рівень

Відношення між класами: асоціація, агрегація, композиція, реалізація. Інтерфейси: поняття і їх реалізація. Множинна реалізація інтерфейсів. Неявна і явна реалізація інтерфейсів.  2 Project (part A) https://drive.google.com/file/d/1fame_9gdd7GiTiWW1cn4YgsXM-G_z5vO/view?usp=sharing 6 Visual Studio 2022 (Community)
Інтерфейси: ICloneable, IComparable<T>, IEnumerable, IEnumerator. 1 Project (part B) https://drive.google.com/file/d/18mjG_sYGRz_h0npcbGuxkufmrXLyYBhY/view?usp=sharing) 6 Visual Studio 2022 (Community)
Відношення між класами: спадкування (Inheritance). Відмінність спадкування класів від реалізації інтерфейсів. Рівні доступу при спадкуванні.  1 Visual Studio 2022 (Community)
Перевизначення (overriding) методів у класах-нащадках. Віртуальні (virtual) методи. Заміна (replacement) методів у класах-нащадках. Sealed-методи. Sealed-класи. Принцип поліморфізму (polymorphism). Варіанти реалізації поліморфізму. Клас System.Object.  2 Visual Studio 2022 (Community)
Абстрактні (abstract) методи та класи. Схожість та відмінність абстрактного класу і інтерфейсу. Абстрактні члени як частина поліморфного інтерфейсу. Відмова від реалізації абстрактних членів класу. Реалізація інтерфейсів у базових та похідних класах. Зміна реалізації інтерфейсів у похідних класах. Спадкування інтерфейсів. 1 Visual Studio 2022 (Community)
Перетворення типів: висхідні перетворення (upcasting) і низхідні перетворення (downcasting). Оператор «as». Оператор «is».  1 Visual Studio 2022 (Community)

Об’єктно-орієнтоване програмування: Поглиблений рівень

Делегати (delegates): поняття, визначення, робота з ними. Делегати Action, Predicate, Func: особливості і робота з ними.  1 Project (part C) https://drive.google.com/file/d/10PCbLQNj4EXpiai7tDHsJ4ejRlSMzNl7/view?usp=sharing 6 Visual Studio 2022 (Community)
Події (events). Визначення та виклик подій. Додавання обробника події. 1 Visual Studio 2022 (Community)
Принципи SOLID: Single Responsibility Principle, Open/Close Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle. 2 Visual Studio 2022 (Community)
Різне корисне
Анонімні методи. Лямбда-вирази. Методи розширення (extention method).  1 Visual Studio 2022 (Community)
Мова запитів до джерела даних LINQ. 1 Практична робота (за рахунок самостійної роботи студента, завдання див. нижче) Visual Studio 2022 (Community)
Оператори. Індексатори. Часткові класи і методи. Анонімні типи. Кортежі. 2 Visual Studio 2022 (Community)
Рефлексія: поняття, особливості та доцільність використання. 2 Visual Studio 2022 (Community)
Теми та завдання для самостійної роботи

Назва та опис завдання

Методи контролю та критерії оцінювання

Годин

Практична робота №1  - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №2 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №3 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №4 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №5 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №6 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Практична робота №7 - завершення, оформлення звіту, підготовка до захисту Захист роботи 6
Система керування версіями Git. Web-сервіс для спільної розробки програмного забезпечення GitHub  Виконання завдання  https://drive.google.com/file/d/1LmoNlMqzjI1oYPrX1FDOE_Cf20U_yDjP/view?usp=sharing 6
Coding GitHub Classroom, завдання з тайм лімітом https://drive.google.com/file/d/1uxjisItalag6zSjjCC1dcWx9HshmRdxq/view?usp=sharing 4
Project (part А) - завершення, оформлення звіту, підготовка до захисту Захист роботи 10
Project (part B) - завершення, оформлення звіту, підготовка до захисту Захист роботи 10
Project (part C) - завершення, оформлення звіту, підготовка до захисту Захист роботи 10
Мова запитів до джерела даних LINQ Виконання завдання https://drive.google.com/file/d/1Fvp1xV-3RBB7Q9a8wPNKrMZCX3e4Efvj/view?usp=sharing 4
Проєкт
Курсовий проєкт (передбачений у наступному семестрі)
Рекомендовані джерела інформації та навчальні матеріали

Основні

№ Назва

До теми (вказати номер)

1 Rob Miles. C# programming. Yellow Book, 2019. 1-20
2 Andrew Troelsen. Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming, 2022. 1-20
3 C# programming guide. – Режим доступу: https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/ 1-20
4 C# Tutorial. – Режим доступу: https://www.w3schools.com/cs/index.php 1-20
5 Learn C# Programming. – Режим доступу: https://www.programiz.com/csharp-programming 1-20
6 Learn C# Programming. – Режим доступу: https://www.tutorialsteacher.com/csharp 1-20
7 Learn Object-Oriented Programming with C#. – Режим доступу: https://www.tutorialsteacher.com/csharp/oop 1-20
8 Language Integrated Query (LINQ) (C#). – Режим доступу: https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ 18
9 Learn LINQ (Language-Integrated Query). – Режим доступу: https://www.tutorialsteacher.com/linq 18

Додаткові

№

Назва

До теми (вказати номер)

1 Олексій Глембицький. Логування в C# за допомогою NLog та практики обробки помилок: https://www.youtube.com/watch?v=J3Sy06NvwQI  2
2 Олексій Глембицький. Робота з колекціями у C#: https://www.youtube.com/watch?v=7a09ktIC494  6
3 Олексій Глембицький. Делегати та події в C#. Основні поняття та практичні сценарії використання: https://www.youtube.com/watch?v=QkEVJ_1sHOw  14-15
4 Олексій Глембицький. Використання SOLID принципів у C# проєктах: https://www.youtube.com/watch?v=SPeid1X6oB4&t=6s  16
5 Олексій Глембицький. Реалізація основних LINQ методів на C#: https://www.youtube.com/watch?v=oi0ievIHA9c&t=7144s  18
6 Олексій Глембицький. Рефлексія в C#: поняття, особливості та доцільність використання: https://www.youtube.com/watch?v=V1xOBgT3yKw&t=200s  20
7 Олексій Глембицький. Питання на співбесіді для Junior С# розробників: https://www.youtube.com/watch?v=0oNH2XOmPWc  1-19
8 Олексій Глембицький. Співбесіда на позицію Junior C# Developer: https://www.youtube.com/watch?v=J0jdeN11QlU&t=1s  1-19
9 Питання з ООП та SOLID на технічній співбесіді. Рівень Junior:  https://www.youtube.com/watch?v=8uHKrMCqq4E&t=1s  1-19
10 Роман Іоненко. Продуктивність C# коду і питання його оптимізації: https://www.youtube.com/watch?v=U3ZgJhmPvm0 
11 Євген Нестеренко. Що таке чистий код? Методи рефакторингу: https://www.youtube.com/watch?v=0C-bPxAkHcg 
Контрольні заходи

Назва та опис

Методи контролю та критерії оцінювання

Модульна контрольна робота №1 Комп’ютерне тестування (40 питань за 80 хвилин)
Модульна контрольна робота №2 Комп’ютерне тестування (40 питань за 80 хвилин)
Coding (поточний) Завдання з тайм лімітом (2 години, GitHub Classroom)
Coding (іспит) Завдання з тайм лімітом (2 години, GitHub Classroom)
Результати навчання
Згідно з стандартом 121 спеціальності, рівень освіти — перший (бакалаврський): ПРН05. Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення. ПРН06. Уміння вибирати та використовувати відповідну задачі методологію створення програмного забезпечення. ПРН07. Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення. ПРН12. Застосовувати на практиці ефективні підходи щодо проєктування програмного забезпечення. ПРН13. Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань. ПРН15. Мотивовано обирати мови програмування та технології розробки для розв’язання завдань створення і супроводження програмного забезпечення.

Зв'язок з ринком праці

Спеціальність/професія, підготовці до діяльності в якій читається курс:
Розробник серверної частини
Посилання на вакансії (понад 3),
  1. https://jobs.dou.ua/companies/servio-soft/vacancies/109644/
  2. https://jobs.dou.ua/companies/personalitieshr-company/vacancies/200502/
  3. https://jobs.dou.ua/companies/empeek/vacancies/268638/
  4. https://jobs.dou.ua/companies/hys-enterprise/vacancies/267454/
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.
Вакансія 1:
  • Хороше розуміння ООП, SOLID;
  • Впевнені знання мов C#;
  • Добре знання платформи .NET;
  • Досвід роботи з LINQ;
  • Розуміння форматів даних (JSON);
  • Досвід роботи з Git.
Вакансія 2:
  • Knowledge of C# and .NET (classes, implementation of OOP principles in C#, basic collections);
  • Basic knowledge of git (or other version control systems).
Вакансія 3:
  • experience in C#/.NET;
  • Understanding of SOLID and OOP principles
  • Experience with unit testing
  • Experience with version control systems
Вакансія 4:
  • Solid understanding of object-oriented programming (OOP);
  • Good knowledge of C#, .Net Standard, .NET 6+, 
  • Basic knowledge of Unit testing;
  • Proficiency with Source Control tools such as Git.

Інструменти оцінювання результатів навчання за дисципліною

Об'єкт оцінювання (знання методів та принципів, практичні навички, командна робота тощо)

Методи контролю (тести, виконання поточних практичних завдань та їх форма: написання коду, створення діаграми Гантта, створення прототипу тощо)

Інструмент оцінювання

(доступ до результатів тесту, гостьова лекція, посилання на виконані завдання, посилання на проєкт, присутність на захисті проєктів, доступ до запису захисту тощо)

Практичні роботи №1-7, завдання з Git-GitHub i LINQ Написання коду посилання на виконані завдання,  присутність на захисті
Project (part A-C) Написання коду посилання на виконані завдання,  присутність на захисті
Модульна контрольна робота №1 Комп’ютерне тестування доступ до результатів тесту
Модульна контрольна робота №2 Комп’ютерне тестування доступ до результатів тесту
Coding (поточний) Завдання з тайм лімітом (GitHub Classroom) посилання на виконані завдання
Coding (іспит) Завдання з тайм лімітом (GitHub Classroom)  посилання на виконані завдання

Залишити відповідь Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Недавні записи

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Останні коментарі

  1. polina до Криптографія та стеганографія
  2. olena до Організаційна зустріч 23.06.2025
  3. admin до Технології розробки мобільних додатків

Категорії

  • Записи

Сторінки

  • Головна
  • Для викладачів
  • Для ІТ-спеціалістів
  • Інструкція для викладача
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster
  • Силабуси

Архіви

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Календар

Квітень 2026
Пн Вт Ср Чт Пт Сб Нд
 12345
6789101112
13141516171819
20212223242526
27282930  
« Чер    

Тема WordPress Project Management від Misbah WP | Працює на WordPress