Detail předmětu

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

FEKT-BPC2TVolitelný mimooborovýBakalářský (první cyklus)Ak. rok: 2015/2016Letní semestr1 ročník5  kreditů

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.

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ě 22 bodů za aktivní práci v počítačových cvičení, 20 bodů za průběžné testy během semestru, 28 bodů za zápočtový test na konci semestru a 30 bodů za individuální projekt v jazyce JAVA.

Jazyk výuky

čeština

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í.

Cíl

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.

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Cvičení na poč.

26 hod., povinná

Vyučující / Lektor