Předmět: Objektové programování I

« Zpět
Název předmětu Objektové programování I
Kód předmětu UAI/695
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia 1
Četnost výuky V každém akademickém roce, jen v letním semestru.
Semestr Letní
Počet ECTS kreditů 6
Vyučovací jazyk čeština
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Jelínek Jiří, Ing. CSc.
Obsah předmětu
1. Kriteria kvality návrhu tříd koheze a soudržnost a jejich význam pro vytvoření přehledné, snadno odladitelné a modifikovatelné výsledné aplikace. 2.Dobře fungující objekty. Problematika testování a ladění aplikací. Využití testovacího rámce JUnit pro vytváření baterií testů a jejich automatické vyhodnocování. 3. Dědičnost v objektově orientovaném programování, zlepšení struktury struktury řešení problémů s využitím dědičnosti. Výhody a úskalí dědičnosti. 4. Dědičnost a polymorfismus. Prohloubení poznatků o dědičnosti, polymorfní proměnné a metody. 5. Abstraktní třídy a interfejsy v programovacím jazyce Java a jejich použití při návrhu řešení. 6. Vytváření aplikací s grafickým uživatelským rozhraním s využitím balíčku javax.swing. Událostmi řízený program, využití anonymních vnitřních tříd pro vytváření handlerů událostí. 7. Genericita v jazyce Java. Syntaxe a sémantika generických tříd a generických metod. Požití knihovních generických tříd a metod. Deklarace vlastních generických tříd ametod. 8. Java Collection Framework. Úvod do problematiky využívání tříd a rozhraní z balíčku java.util pro práci s kolekcemi objektů. 9. Rekurze v programování. Vysvětlení principu návrhu rekurzivních metod a jejich provádění. Příklady, které ilustrují výhody i úskalí použití rekurze. 10. Přehled vybraných principů objektově orientovaného návrhu a jejich využití při řešení praktických problémů.

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž), Demonstrace, Projekce (statická, dynamická)
  • Domácí příprava na výuku - 48 hodin za semestr
  • Příprava na zkoušku - 26 hodin za semestr
  • Semestrální práce - 26 hodin za semestr
  • Účast na výuce - 56 hodin za semestr
Výstupy z učení
Úvodní kurz, jehož hlavním cílem je seznámit studenty se základními pojmy, principy a technikami objektově orientovaného programování. V kurzu se uplatňuje přístup objects-first a design-patterns first. Tento přístup usnadňuje použití programovacího jazyka Java a vývojového prostředí NetBeans.
Po absolvování kurzu bude student schopen vysvětlit význam klíčových pojmů a technik využívaných při návrhu řešení problémů s využitím objektově orientovaného paradigmatu. Z obecných pojmů, s nimiž se setkáváme při vývoji programů v objektově orientovaných jazycích, se jedná zejména o polymorfismus a dědičnost. Z hlediska technik používaných při návrhu řešení problému se bude jednat o přehled základních doporučení aplikovaných ve fázi designu řešení. Student po absolvování kurzu dokáže vysvětlit význam kriterií kvality návrhu a dokáže je aplikovat při řešení semestrálního projektu. Absolvováním kurzu si student dále prohloubí znalosti o programovacím jazyce Java a dokáže navrhovat a implementovat desktopové aplikace s grafickým uživatelským rozhraním s využitím knihovny javax.swing nebo JavaFX.
Předpoklady
Výklad nepředpokládá žádné předběžné znalosti nějakého programovacího jazyka, vhodné je mít základní znalosti o běžných algoritmických strukturách (větvení, cyklus, ...).

Hodnoticí metody a kritéria
Rozbor produktů pracovní činnosti studenta (technické práce), Kombinovaná zkouška, Test, Seminární práce

V průběhu semestru student vypracuje příklady vyplývající z probírané látky. Zkouška vychází z průběhu semestru, zpracování semestrální práce a teoretických testů. Podmínky zakončení: Splnění průběžných úkolů Zpracování semestrální práce Absolvování teoretických testů
Doporučená literatura
  • Informační zdroje na síti Internet. Vzhledem k častým obměnám budou konkrétní místa upřesněna při zahájení výuky předmětu..
  • BARNES, D., J., KOLLING, M. Objects First with Java A practical Introduction using BlueJ. 2011. ISBN 978-0132835541.
  • BLOCH, J. Java efektivně - 57 zásad softwarového experta. 2002.
  • ECKEL, B. Thinking in Java. 4th edition. 2006. ISBN 978-0131872486.
  • HEROUT, P. Java - bohatství knihoven. České Budějovice, 2008. ISBN 978-80-7232-368.
  • HEROUT, P. Java - grafické uživatelské prostředí a čeština. České Budějovice, 2007. ISBN 978-80-7232-328.
  • HEROUT, P. Učebnice jazyka Java. IV. upravené vydání. České Budějovice, 2008. ISBN 978-80-7232-355-5.
  • HORSTMANN, C., S., CORNELL, G. Core Java 2 Volume I - Fundamentals. 9th Edition. 2012. ISBN 978-0137081899.
  • Jelínek, J. Webové stránky předmětu v systému Moodle.
  • Oracle. The Java? Tutorials - Oracle Help Center.
  • PECINOVSKÝ R. Java 7 učebnice objektové architektury pro začátečníky. 2012. ISBN 978-80-247-3665-5.
  • PREISS, B., R. Data Structures and Algorithms with Object-Oriented Design Patterns in Java. John Wiley & Sons, 2000..


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Embedded systémy (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Bezpečnost a sítě (1) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Kriminalisticko-technická činnost v IT (1) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná matematika (2010) Kategorie: Matematické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Učitelství informatiky pro střední školy (1) Kategorie: Pedagogika, učitelství a sociální péče - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Embedded systémy (1) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Web a multimédia (1) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Web a multimédia (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Bezpečnost a sítě (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Matematika pro vzdělávání (1) Kategorie: Matematické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Aplikovaná informatika - specializace Kriminalisticko-technická činnost v IT (1) Kategorie: Informatické obory - Doporučený ročník:-, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Matematika pro vzdělávání (1) Kategorie: Matematické obory - Doporučený ročník:-, Doporučený semestr: Letní