Course: Object-oriented Programming

» List of faculties » FAI » AUPKS
Course title Object-oriented Programming
Course code AUPKS/AE3OP
Organizational form of instruction Lecture + Lesson
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech, English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Král Erik, Ing. Ph.D.
  • Beltran Prieto Luis Antonio, MSc.
Course content
- Basic programming paradigms, declarative, imperative and object-oriented programming. - Basic OOP terminology. Class and object, attributes, methods and encapsulation - Constructors and destructors. Method Overloading. - Object embedding. - Code Inheritance, advantages and disadvantages. - Object lifetime. Memory allocation, Garbage Collector, stack, heap - Object relations (association, aggregation and composition). - Object copy, deep and shallow copy. Copy constructor. - Polymorphism. Virtual and abstract method, abstract class. - Interface inheritance. - Generics and templates. - Basic design patterns. Singleton, Factory and others. - UML Class diagrams and sequence diagrams. - Development of reusable libraries nad usage of third-party libraries

Learning activities and teaching methods
Lecturing, Exercises on PC
prerequisite
Knowledge
The basic knowladge of programming and algoritmization from previews studies is required.
The basic knowladge of programming and algoritmization from previews studies is required.
learning outcomes
Defines what a class, object and object-oriented programming are.
Defines what a class, object and object-oriented programming are.
Explains the use of virtual and abstract methods.
Explains the use of virtual and abstract methods.
Describes the reasons for using interfaces.
Describes the reasons for using interfaces.
Describes the difference between automatic memory management on the stack and dynamic memory allocation on the heap.
Describes the difference between automatic memory management on the stack and dynamic memory allocation on the heap.
Explains the advantages of using generic programming and generic collections.
Explains the advantages of using generic programming and generic collections.
Definuje co je to třída, objekt a objektově orientované programování.
Definuje co je to třída, objekt a objektově orientované programování.
Vysvětlí použití virtuálních a abstraktních metod.
Vysvětlí použití virtuálních a abstraktních metod.
Popíše důvody použití rozhraní (interface).
Popíše důvody použití rozhraní (interface).
Popíše rozdíl mezi automatickou správnou paměti na zásobníku a dynamickou alokací paměti na haldě.
Popíše rozdíl mezi automatickou správnou paměti na zásobníku a dynamickou alokací paměti na haldě.
Objasní výhody použití generického programování a generických kolekcí.
Objasní výhody použití generického programování a generických kolekcí.
Skills
Analyzes a problem and proposes a solution using object-oriented programming.
Analyzes a problem and proposes a solution using object-oriented programming.
Organizes code appropriately into classes for clarity and code reusability.
Organizes code appropriately into classes for clarity and code reusability.
Applies overlapping virtual and abstract methods.
Applies overlapping virtual and abstract methods.
Defines an appropriate interface for easy extensibility of the code.
Defines an appropriate interface for easy extensibility of the code.
Selects appropriate generic data collections.
Selects appropriate generic data collections.
Analyzuje problém a navrhne jeho rešení s pomocí objektově orientovaného programování.
Analyzuje problém a navrhne jeho rešení s pomocí objektově orientovaného programování.
Ogranizuje kód vhodně do tříd z hlediska přehlednosti a znovuvyužitelnosti kódu.
Ogranizuje kód vhodně do tříd z hlediska přehlednosti a znovuvyužitelnosti kódu.
Použije překrývání virtuální a abstraktní metod.
Použije překrývání virtuální a abstraktní metod.
Definuje vhodné rozhraní pro snadnou rozšiřitelnost kódu.
Definuje vhodné rozhraní pro snadnou rozšiřitelnost kódu.
Zvolí vhodné generické datové kolekce.
Zvolí vhodné generické datové kolekce.
teaching methods
Knowledge
Exercises on PC
Exercises on PC
Lecturing
Lecturing
assessment methods
Written examination
Written examination
Recommended literature
  • Fowler, Martin. Destilované UML. 1. vyd. Praha : Grada, 2009. ISBN 978-80-247-2062-3.
  • GAMMA, E., R. HELM, R. JOHNSON a J. VLISSIDES. Design Patterns. Addison-Wesley, 1994. ISBN 0-201-63361-2.
  • KEOGH, J. DAVIDSON, K. Datové struktury bez předchozích znalostí. Praha : Computer Press, 2006. ISBN 80-251-0689-6.
  • Keogh, James Edward. OOP bez předchozích znalostí : průvodce pro samouky. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0973-9.
  • PECINOVSKÝ, R. OOP - Learn Object Oriented Thinking and Programming. Řepín, 2013. ISBN 978-80-904661-8-0.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester