Object Oriented Programming 17-DPOB-IP0
The student will learn the basic concepts of object-oriented programming such as:
- Encapsulation
- Inheritance
- Abstraction
- Polymorphism
Object constructs will be presented in C# and JavaScript. During the lecture, emphasis will be placed on practical aspects of programming and good software development techniques (e.g. SOLID). Design patterns, unit tests and C#-specific constructs, such as LINQ, will be discussed, which show the fullness of the object-oriented language.
Module learning aims
Information on where to find course materials
Major
Methods of teaching for learning outcomes achievement
Course module conducted remotely (e-learning)
Student workload (ECTS credits)
Content of education | h. lecture | h. lab |
Object-oriented versus procedural programming | 2 | 2 |
C# and JavaScript objects, classes, fields, methods, properties, encapsulation | 3 | 3 |
Inheritance, polymorphism | 4 | 4 |
Constructor, method overloading | 2 | 2 |
Generic classes | 2 | 2 |
Abstract Class, Interface | 2 | 2 |
Exceptions and their handling | 2 | 2 |
Class extension, function variables, LINQ | 2 | 2 |
Software development according to SOLID | 4 | 4 |
Design patterns. Breakdown and examples | 3 | 3 |
Unit tests | 2 | 2 |
Project | 2 | 2 |
Cycle of studies
Module type
Year of studies (where relevant)
Pre-requisites in terms of knowledge, skills and social competences
Course coordinators
Term 2019/SL: | Term 2022/SL: | Term 2020/SL: | Term 2021/SL: | Term 2024/SL: | Term 2023/SL: | Term 2018/SL: |
Learning outcomes
a. Knows the basic concepts and techniques of the object-oriented programming paradigm.
b. Can read and analyze object code written in C# and JavaScript
c. Knows the principle of encapsulation, knows how to apply it and understands its importance in creating programming.
d. Understands the concept of polymorphism and knows how to use polymorphic programming techniques in practice.
e. Knows the mechanism of inheritance, can define class hierarchies.
f. Can use generic classes and define them independently (C#)
g. Knows the mechanisms related to exception handling and is able to use them in their own programs.
h. Can perform a small programming project in the object-oriented methodology.
Assessment criteria
a. Laboratory
i. Semester project grade
ii. Grade from class reports
iii. Activity
b. Lecture
i. Final Examination
Practical placement
Creating applications based on object-oriented programming. During practice, the student can learn the scale of such applications and understand how object-oriented helps in code management. The student should make changes to the application effectively.
Bibliography
„Hands-On Object-Oriented Programming with C#” Raihan Taher
Additional:
"Head First Object-Oriented Analysis and Design."
Authors:
Brett D. McLaughlin, Gary Pollice, David West
Publishing house:
Helion
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: