Základy objektově orientovaného programování.
Třídy, objekty, ochrana přístupu. Principy zapouzdření, dědičnosti, rozhraní, polymorfismu.
Atributy a metody třídy / instance, statické a virtuální metody, abstraktní třídy a metody.
Funkce jako parametry a hodnoty proměnných.
Objektový návrh programu - obecné principy (SOLID), příklady (diskrétní simulace).
Programování řízené událostmi - základní myšlenky a postupy.
Práce ve vývojovém prostředí, vytváření programů s GUI.
Řešení větších úloh - hygiena programování, správa verzí, tvorba dokumentace.
Jazykový labyrint - srovnání významných objektově orientovaných jazyků (C#, C++, Java, Python)
Pokračování základního kurzu programování – procvičení a doplnění učiva z předcházejícího předmětu NPRG030
Programování 1 při řešení náročnějších a rozsáhlejších úloh.
Programovací jazyk C#, překladač, statické typování, abstraktní typy, interface.
Objektový návrh programů a objektové programování, privátní a veřejné členy, generické funkce a třídy.