Study program: 121 Software Engineering, 122 Computer science, 123 Computer Engineering, 124 System analysis, 125 Cyber security, 126 Information systems and technologies
Degree: Bachelor
Type of module: lectures, labs
Lecturer: Assoc. Prof., PhD Ilona Shevchenko / Доцент., к.т.н. Ілона Шевченко
Language: Ukrainian & English
Credit Points: 5 ECTS
Description:
The purpose of the course is to provide knowledge and develop skills in C# software development using the object-oriented programming paradigm. Topic 1: Classes and objects. Abstraction. Topic 2: Encapsulation. Properties. Topic 3: Class constructor. Constructor overloading. Initializers. Destructors. Method overloading. Topic 4: Static: fields, properties, methods, constructors, classes. Topic 5: Unit testing. Test-Driven Development (TDD). Topic 6: Generics. Collections. Topic 7: Saving and loading of class objects. Serialization / Deserialization. Topic 8: Relationships between classes: association, aggregation, composition. Topic 9: Relationships between classes: implementation. Interfaces. Topic 10: Relationships between classes: Inheritance. Topic 11: Virtual Methods. Polymorphism. Topic 12: Abstract methods and сlasses. Topic 13: Type casting: upcasting and downcasting. Topic 14: Delegates. Topic 15: Events. Topic 16: SOLID principles. Topic 17: Anonymous methods. Lambda expressions. Extension methods. Topic 18: Language Integrated Query (LINQ). Topic 19: Operators. Indexers. Partial classes and methods. Anonymous types. Tuples.
Метою курсу є надання знань і формування навичок щодо розроблення мовою С# програмного забезпечення з використанням об’єктно-орієнтованої парадигми програмування. Тема 1. Класи та об’єкти. Абстракція. Тема 2. Інкапсуляція. Властивості. Тема 3. Конструктор класу. Перевантаження конструктору класу. Ініціалізатори. Деконструктори. Перевантаження методів класу. Тема 4. Статичні: поля, властивості, методи, конструктори, класи. Тема 5. Модульне тестування (Unit testing). Test-Driven-Development (TDD). Тема 6. Узагальнені типи (Generics). Колекції (Collections). Тема 7. Збереження та завантаження об’єктів класу (Saving and loading of objects). Серіалізація (Serialization) / Десеріалізація (Deserialization). Тема 8. Відношення між класами: асоціація, агрегація, композиція. Тема 9. Відношення між класами: реалізація. Інтерфейси. Тема 10. Відношення між класами: спадкування (Inheritance). Тема 11. Віртуальні методи. Поліморфізм. Тема 12. Абстрактні (abstract) методи та класи. Тема 13. Перетворення типів: висхідні перетворення (upcasting) і низхідні перетворення (downcasting). Тема 14. Делегати (delegates). Тема 15. Події (events). Тема 16. Принципи SOLID. Тема 17. Анонімні методи. Лямбда-вирази. Методи розширення. Тема 18. Мова запитів до джерела даних LINQ. Тема 19. Оператори. Індексатори. Часткові класи і методи. Анонімні типи. Кортежі.