• ECTS

    5 credits

  • Training structure

    Faculty of Science

Description

Students will learn how to model and develop using advanced aspects of object-oriented programming and will have acquired good programming practices. They will learn how to create UML diagrams expressing the dynamics of interactions in a system and will consolidate their knowledge of structural modeling.

Read more

Objectives

The teaching unit explores object-oriented modeling and programming, using UML and Java as frameworks. Liskov's substitution principle is studied, and the concepts of dynamic binding and static binding are explored in depth. Advanced aspects of object-oriented programming in a statically typed language are studied: modularity with different types of nested classes, packages, and modules; generics and the relationships between specialization, generics, and subtyping; contract programming with interfaces, assertions, and exceptions; elements of meta-programming with the concept and practice of introspection and annotations; declarative programming using data streams. The course also covers dynamic diagrams in UML and their relationship to code, component diagrams, and deployment diagrams.

Read more

Teaching hours

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