Detail předmětu

Algoritmizace a programovací techniky

FSI-DPT Ak. rok: 2020/2021 Letní semestr

Jsou prezentovány vybrané konstrukce objektově orientovaného programování a demonstrovány zásady tvorby programů. Poznatky jsou uváděny do souvislostí s metodologií systematického návrhu programu.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

Studenti získají znalost metodiky tvorby programů užitím objektově orientovaného
programování a osvojí si schopnost řešit problémy s pomocí objektových technologií.

Prerekvizity

Předpokládá se obvyklá středoškolská počítačová gramotnost.

Plánované vzdělávací činnosti a výukové metody

Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách.

Způsob a kritéria hodnocení

Požadavky pro udělení zápočtu: aktivní účast na cvičeních a samostatné zpracování projektu zadaného vyučujícím. Zkouška sestává z písemné a ústní části. Písemnou část představuje test se čtyřmi otázkami. Ústní část se skládá z diskuse nad písemnou částí s možnými doplňujícími otázkami. Klasifikace je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.

Učební cíle

Seznámení s objektově orientovanou metodikou práce s počítačem. Rozvoj algoritmického myšlení a strukturovaného přístupu k řešení problémů. Rozvoj počítačové kreativity posluchačů.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Účast na přednáškách je žádoucí, na cvičeních povinná. Výuka běží podle týdenních plánů. Způsob nahrazení zameškaných cvičení je plně v kompetenci vyučujícího.

Použití předmětu ve studijních plánech

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod: motivace a principy objektově orientovaného programování.
2. Proměnné a řídicí struktury, minimum o zapouzdření.
3. Dynamické pole, práce s dynamickým polem.
4. Cykly detailněji, invariant cyklu.
5. Zapouzdření a návrh shora dolů.
6. Statické metody, bezpečný kód, výjimky a chráněné bloky.
7. Dědičnost, kompatibilita tříd a návrh shora dolů.
8. Polymorfismus, delegát a návrh shora dolů.
9. Rekurze, implementace, příklady využití.
10. Operace s textovými soubory, vytváření, čtení a zápis.
11. Základy práce s grafikou, bitmapa, grafický kontext zařízení.
12. Využití systémových informací, časovač, idea více vláknových aplikací.
13. Dijkstrův návrh ve vrstvách.

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

1. Seznámení s vývojovým prostředím MVS 2008.
2. Definice třídy, řídicí struktury.
3. Použití dynamického pole.
4. Návrh invariantu cyklu.
5. Použití získaných poznatků, návrh shora dolů.
6. Použití statických metod, chráněných bloků.
7. Použití dědičnosti, kompatibility tříd, návrh shora dolů.
8. Použití polymorfismu a delegáta, návrh shora dolů.
9. Použití rekurze.
10. Operace s textovymi soubory.
11. Grafický výstup aplikace, práce s bitmapou.
12. Využití interního timeru.
13. Zápočet.

Cvičení probíhají formou rozvíjení typových příkladů.