Detail předmětu

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

FEKT-KPC2TAk. rok: 2017/2018

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ů

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 EEKR-BK bakalářský

    obor BK-TLI , 1 ročník, letní semestr, povinný

  • Program IBEP-TZ bakalářský

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

  • Program EEKR-CZV celoživotní vzdělávání (není studentem)

    obor ET-CZV , 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