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

Read more

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.

Read more

Class Hours

  • Object-Oriented Modeling and Programming 2 - TutorialTutorials33 hours
  • Object-Oriented Modeling and Programming 2 - LectureLecture12 hours