Semester: 3
ECTS: 6
Lectures: 30
Practice sessions: 45
Independent work: 105
Module Code: 24-00-510
Semester: 3
ECTS: 6
Lectures: 30
Practice sessions: 45
Independent work: 105
Module Code: 24-00-510

Module title:


Object-oriented programming


Module overview:


This module introduces students to the object-oriented principles: encapsulation, inheritance, polymorphism, and abstraction.

This module is core to the Software Engineering subspecialisation and provides the foundation for a wide number of programming modules in the following semesters. Skills learned in this module will contribute significantly to students’ development as professionals in respected fields.

Students will learn:
• object-oriented principles: encapsulation, inheritance, polymorphism, and abstraction.
• object-oriented topics specific for C sharp, including LINQ (Language Integrated Query) API, Collections Framework, and Exception handling mechanisms.
• delegates as a prerequisite for introduction to functional paradigm and the platform-specific implementations of Publisher-Subscriber and Repository patterns.

The module is taught in C sharp programming language. The module assessment is based on solving a series of smaller practical tasks in the defined programming language and software development tool.


Literature:


Essential reading:
1. Stellman, A. and Greene J. (2021) Head First C#: A Learner's Guide to Real-World Programming with C# and .Net Core. 4th edn. Sebastopol: O'Reilly.

Recommended reading:
1. Albahari, J. (2019) C# 8.0 Pocket Reference. 1st edn. Sebastopol: O'Reilly.

Further reading:
1. Skeet, J. (2019) C# in Depth. 4th edn. Shelter Island: Manning Publications.