Image for
Home

Object-oriented programming

  • Class 30
  • Practice 45
  • Independent work 105
Total 180

Course title

Object-oriented programming

Lecture type

Obligatory

Course code

22-00-510

Semester

3

ECTS

6

Lecturers and associates

Course 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.

Download student guide

Minimal learning outcomes

  • Design a solution to a given problem according to a basic specification and implement it using classes and objects.
  • Apply the principle of inheritance in a programming language.
  • Identify the need for a polymorphic solution to the problem and implement it.
  • Anticipate the possibility of exceptions and process them.
  • Implement and apply generic structures in a programming language.
  • Implement part of the software solution using the "Publisher-Subscriber" pattern.

Preferred learning outcomes

  • Chose appropriate data types and access modifiers to reflect basic specification.
  • Recognize the need to use and apply abstract classes and access modifiers to ensure non-redundant and reusable solution to a given problem.
  • Improve solution readability by introducing operator overloading.
  • Create and apply user defined exception classes as the solution to the given problem.
  • Select a suitable generic collection class as the solution to the given problem.
  • Implement part of the software solution using the anonymous methods.
Share: Facebook Twitter