Detail předmětu

Počítače a programování 2

FEKT-KPC2TAk. rok: 2019/2020

Obecný úvod do algoritmizace, obecný úvod do objektově orientovaného programování, řídící sekvence jazyků vyšších řádů, aplikační programové prostředí jazyka JAVA NetBeans.

Jazyk výuky

čeština

Počet kreditů

5

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

Získání základních algoritmizačních návyků a dovednosti objektově orientovaného programování. Pochopení základních vlastností a struktur jazyka JAVA a získání schopnosti je využít. Schopnost základní práce v prostředí JAVA NetBeans..

Prerekvizity

Jsou požadovány znalosti na úrovni středoškolského studia. Znalost programovánní v ANSI C.

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

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT. Metody vyučování zahrnují přednášky a cvičení na počítači. Předmět využívá e-learning. Student odevzdává jeden samostatný projekt.

Způsob a kritéria hodnocení

Student může získat maximálně 20 bodů za aktivní práci v počítačových cvičení, 20 bodů za průběžné testy během semestru, 30 bodů za zápočtový test na konci semestru a 30 bodů za individuální projekt v jazyce JAVA.

Osnovy výuky

1) Zopakování základů algoritmizace v jazyce JAVA: cykly, větvení, metody, základní datové typy (primitives), reference vs. ukazatele, proměnné, viditelnost proměnných. 2) Třídy a objekty. Základní datové typy (primitivy) vs. objekty. Reference. Viditelnost proměnných a atributů v rámci programu. 3) Dědičnost. Třída vs. abstraktní třída vs. rozhraní. Techniky řešení problémů. Návrh a implementace algoritmů. Podprogram, rozdělení programu do několika souborů, 4) Rekurze v programování. Princip rekurze a úvod do řešení problému pomocí rekurze. 5) Výjimky a princip ošetřování neočekávaných událostí. Vyvolání výjimky. Vícenásobné vnoření výjimek a jejich ošetřování. Hierarchické členění výjimek. 6) Textové soubory a standardní vstup a výstup. Vstupně/výstupní datové proudy, práce se souborovým systémem, soubory, adresáře, vytváření, mazání, modifikace přístupových práv. 7) Pokročilé datové typy, Lineární struktury – Vektor, ArrayList, Kolekce, Množiny – HashSet, TreeSet, Mapování – HashMap, HashSet.Iterátory, tvorba vlastních iterátorů. Procházení kolekcemi v cyklu. 8) Principy objektově orientovaného návrhu – případové studie. Návrh aplikace, rozdělení na funkční bloky. Úvod do návrhových vzorů a jejich využití pro návrh konkrétní aplikace. 9) Správa větších projektů. Importování knihoven a práce s API. Tvorba vlastní knihovny. Správa projektu a začleňování knihoven. Vytvoření spustitelné aplikace. 10) Tvorba jednotkových testů a testy řízený vývoj. 11) Vícevláknové zpracování. Procesy a vlákna. 12) Grafické uživatelské rozhraní. Návrhový vzor Model-Pohled-Kontroler. Událostmi řízené programování. 13) Grafické uživatelské rozhraní. Návrhový vzor Model-Pohled-Kontroler. Událostmi řízené programování.

Učební cíle

Naučit studenty základním algoritmizačním návykům a objektově orientovánému programování. Vysvětlit základní vlastnosti a struktury jazyka JAVA a jejich využití. Připravit studenty na práci v prostředí JAVA NetBeans.

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

Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.

Základní literatura

Keogh, J.: Java bez předchozích znalostí, Computer press, 2005, ISBN: 9788025108390 . (CS)
PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997 (CS)

Zařazení předmětu ve studijních plánech

  • Program IBEP-TZ bakalářský

    obor TZ-IBP , 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor