Programming I.


Object oriented paradigm

  • UML foundations (visual modeling, notation, tool, model, view, diagram)
  • Objects - state, behavior, identity, lifecycle
  • Class, package, class diagram (association, aggregation, inheritance)
  • Object interface, implementation hiding
  • Implementation reusage - composition, aggregation
  • Interface reusage - inheritance, polymorphism

The Java language

  • Primitive types
  • Classes – creating new types, fields, methods, packages
  • Generic classes
  • Compilation and execution, virtual machine, run-time environment
  • Comments, documentation, coding style
  • Control structures, operators, precedence, arrays
  • Initialization and clean-up, constructor, garbage collection
  • Reusage - composition, aggregation, inheritance, implementation hiding
  • Operation overloading and overriding, polymorphism, late binding
  • Final data, methods and classes
  • Abstract and interface classes, "multiple inheritance", inner classes
  • Error handling and run-time type identification (RTTI)
  • Class libraries (collections, iterators, I/O system, GUI)