Detail předmětu
Počítače a programování 2
FEKT-BPC-PC2TAk. rok: 2020/2021
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 Eclipse.
Garant předmětu
Zajišťuje ústav
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 Eclipse.
Prerekvizity
Jsou požadovány znalosti na úrovni středoškolského studia. Znalost programovánní v ANSI C.
Doporučená nebo povinná literatura
Keogh, J.: Java bez předchozích znalostí, Computer press, 2005, ISBN: 9788025108390 . (CS)
Pecinovský, R.: Myslíme objektově v jazyku Java -- kompletní učebnice pro začátečníky, Grada , 2008, ISBN: 978-80-247-2653-3. (CS)
Schildt , H.: Java: A Beginner's Guide, McGraw-Hill Education, 2014, ISBN: 978-0071809252. (EN)
Schildt , H.: JAVA 8 - výukový kurz, Computer Press, 2016, ISBN: 9788025146651. (CS)
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.
Jazyk výuky
čeština
Osnovy výuky
1. Základy 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í. Polymorfismus. Vnitřní třídy
4. 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. Tvorba vlastních výjimek
5. Rekurze v programování. Princip rekurze a úvod do řešení problému pomocí rekurze
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. Kolekce, seznamy ( ArrayList, LinkedList), množiny (HashSet, TreeSet), mapy (HashMap, TreeMap), iterátory. Procházení kolekcemi v cyklu
8. Znakové řetězce, práce s řetězci. Výčtový typ, obálkový typ. Generické programování
9. Ladění a testování programů. Jednotkové testy. Tvorba dokumentace
10. Grafické uživatelské rozhraní. Událostmi řízené programování. Návrhový vzor Model-Pohled-Kontroler
11. Více-vláknové zpracování. Procesy vs. vlákna. Atomicita. Synchronizace vláken. Uvíznutí vláken
12. Principy objektově orientovaného návrhu programů. Návrhové vzory a jejich použití
13. Správa větších projektů. Importování knihoven a práce s API. Tvorba vlastní knihovny
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 Eclipse
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.
Zařazení předmětu ve studijních plánech
- Program BPC-IBE bakalářský, 1. ročník, letní semestr, 5 kreditů, povinný
- Program BPC-AUD bakalářský
specializace AUDB-ZVUK , 2. ročník, letní semestr, 5 kreditů, povinně volitelný
specializace AUDB-TECH , 2. ročník, letní semestr, 5 kreditů, povinně volitelný - Program BPC-TLI bakalářský, 2. ročník, letní semestr, 5 kreditů, povinný
Typ (způsob) výuky
Cvičení na počítači
26 hod., povinná
Vyučující / Lektor
eLearning
eLearning: aktuální otevřený kurz