Počet kreditů 6
Vyučováno v Zimní
Rozsah výuky 2+2+4
Garant předmětu
Přednášející
Cvičící

Objektově-orientovaný přístup dnes drtivě převažuje ve všech aspektech vývoje softwaru: analýze, návrhu i implementaci. Cílem tohoto kurzu je dovést studenty k solidnímu porozumění základním pojmům objektové teorie a nastínit jejich formální základy.

Základní znalost programování, základní znalosti matematiky, schopnost exaktního myšlení.

Porozumění základním principům objektového přístupu, schopnost jejich správné aplikace ve středně složitých situacích.

  1. Objekty, Třídy, instance a atributy
  2. Paměť v objektově-orientovaných jazycích
  3. Polymorfismus a dědičnost
  4. Modularita a zapouzdření
  5. Návrhové vzory 1
  6. Návrhové vzory 2
  7. Návrhové vzory 3
  8. Ukázky použití návrhových vzorů 1
  9. Ukázky použití návrhových vzorů 2
  10. Zápočtový test
  11. SOLID, DRY, GRASP
  12. GRASP - Příklady
  13. Imutabilita a funkcionální programování
  14. Ukázky funkcionálního programování

  1. Úvod
  2. Jak v Java na Objekty, Třídy, instance a atributy
  3. Paměť v objektově-orientovaných jazycích
  4. Polymorfismus a dědičnost v Java
  5. Modularita a zapouzdření v Java
  6. Návrhový vzor Adapter
  7. Návrhový vzor Visitor
  8. Návrhový vzor Interpreter
  9. Návrhový vzor Command
  10. Opakování
  11. Principy SOLID, DRY
  12. Ukázka principů GRASP
  13. Imutabilita v jazyku Java
  14. Ukázky funkcionálního programování ve Scala

[1] R. Pecinovský: Myslíme objektově v jazyku Java.

[2] R. Pecinovský: Návrhové vzory - 33 vzorových postupů pro objektové programování.

[3] B. Eckel: Thinking in Java

[4] Er. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software.

Rozvrh předmětu
Po
Út
St
Čt
PřednáškyCvičení