Úvod do teoretických základů programování, lambda kalkul.
Základy objektově orientovaného přístupu, pojmy třída objektů, kolekce objektů. Polymorfismus objektů. Dědění objektů a skládání objektů.
Objektový model výpočtu. Metody a zprávy. Lambda výraz jako metoda i samostatný objekt. Základy jazyka Smalltalk.
Úvod do modelovacího jazyka UML.
Pojem protokol objektu. Realizace atributů objektů pomocí skládání i pomocí metod.
Možnosti dotazování nad množinami objektů.
Příklad reálného projektu s datovými objekty.
Objektová normalizace.
Strukturální návrhové vzory.
Behaviorální návrhové vzory.
Refaktoring.
Problematika změny objektového schématu. Migrace objektů mezi verzemi. Otázky návrhu „správné“ struktury.
Objektově orientovaný přístup k modelování procesů reálného světa. Metoda BORM.
Implementace objektově orientovaného přístupu ve smíšených programovacích jazycích. Polymorfismus, dědění a skládání v Javě a C++.
Doporučená literatura
Taylor, D., A. Business Engineering with Object Technology, John Wiley 1995
Ambler S.: Process Patterns Building Large-Scale Systems Using Object Technology, SIGS Books 2000, ISBN 0-521-64568-9
Ambler S.: More Process Patterns Delivering Large-Scale Systems Using Object Technology, SIGS Books 2000, ISBN 0-521-65262-6
Anotace
Hlavním předmětem jsou paradigmata objektově orientovaného programování, matematická teorie použitelná pro objektově orientované jazyky a prostředí. Praktické programování v jazyku Smalltalk. Součástí cvičení u počítačů je řešení semestrálního projektu (odladěný program a zpráva).