ECTS
5 credits
Training Structure
College of Sciences
Description
Students will learn to model and develop using advanced aspects of object-oriented programming and will have acquired best programming practices. They will be able to create UML diagrams that illustrate the dynamics of interactions within a system and will strengthen their knowledge of structural modeling.
Objectives
This course delves into object-oriented modeling and programming, focusing on UML and Java. Liskov’s substitution principle is examined, and the concepts of dynamic and static binding are explored in depth. Advanced aspects of object-oriented programming in a statically typed language are studied: modularity, including various types of nested classes, packages, and modules; generics and the relationships between specialization, generics, and subtyping; contract-based programming using interfaces, assertions, and exceptions; elements of metaprogramming, including the concept and practice of introspection and annotations; and declarative programming using data streams. The course also covers dynamic UML diagrams and their relationship to code, as well as component and deployment diagrams.
Class Hours
- Object-Oriented Modeling and Programming 2 - TutorialTutorials33 hours
- Object-Oriented Modeling and Programming 2 - LectureLecture12 hours