Předmět: Algorithms and Programming

« Zpět
Název předmětu Algorithms and Programming
Kód předmětu USII/EALG
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia 1
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk Anglič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í
  • Horák Oldřich, RNDr. Ing. Ph.D.
Obsah předmětu
Úvod, vymezení pojmu algoritmus, program. Postup řešení úloh na počítači, algoritmizace úloh. Konstanty, proměnné, výrazy a příkazy. Grafický zápis algoritmů, programovací jazyky a jejich typy. Úvod do číselných soustav, reprezentace datových typů. Základní prvky programu, cykly, rekurze. Větvení programu. Odvozené datové typy - pole a jejich využití. Práce s textovými soubory. Práce s uloženými daty a datovými strukturami. Funkce. Základní principy objektového přístupu v programování.

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž), Metody práce s textem (učebnicí, knihou), Metody samostatných akcí
  • Příprava na zkoušku - 14 hodin za semestr
  • Domácí příprava na výuku - 42 hodin za semestr
  • Semestrální práce - 5 hodin za semestr
  • Praktická výuka - 28 hodin za semestr
  • Příprava na zápočet - 5 hodin za semestr
  • Samostatná kritická četba - 28 hodin za semestr
  • Kontaktní výuka - 28 hodin za semestr
Výstupy z učení
Cílem předmětu je seznámit studenty se základy informatiky a technického vybavení počítačů, základy zápisu pomocí vývojových diagramů a základy programovacího jazyka, např. Python.
Student, který úspěšně absolvoval předmět, umí: popsat základní pojmy z oblasti algoritmizace a programování a pochopit jejich význam ve vztahu k řešení různých problémů; orientovat se v problematice algoritmizace a programování s ohledem na další rozšiřování znalostí v jiných programovacích jazycích; definovat jednotlivé kroky řešení jakékoliv úlohy; rozčlenit úlohy na dílčí menší úlohy a tím dojde ke zjednodušení pochopení dané problematiky; vysvětlit k čemu slouží datové typy, datové struktury v programování a popsat jejich nasazení při tvorbě programu; vysvětlit principy objektového programování. Student, který úspěšně absolvoval předmět, dovede: vytvořit funkční aplikaci v programovém prostředí vybraného programovacího jazyka; navrhnout svůj vlastní algoritmus na zadanou úlohu; orientovat se v zadání algoritmizačních úloh pomocí vývojových diagramů; naprogramovat aplikaci s možností ukládání dat do databáze nebo do textového souboru. Student, který úspěšně absolvoval předmět, je schopen: do řešení problémů zahrnout algoritmický pohled, a tudíž rozčlenit úlohy na menší a jednodušší úlohy; srozumitelně shrnout jádro problému; samostatně se rozhodovat na základě rámcového zadání a úspěšně dovést řešení problému k cíli.
Předpoklady
nespecifikováno

Hodnoticí metody a kritéria
Ústní zkouška, Písemná zkouška, Posouzení zadané práce

Zápočet: účast na cvičení (viz vyhláška FES), vypracování seminární práce súspěšností 60 %. Zkouška: písemné ověření znalostí, obhájení seminární práce.
Doporučená literatura
  • Cormen, Thomas H. Introduction to algorithms. Cambridge, Massachusetts ;: The MIT Press, 2009. ISBN 978-0-262-53305-8.
  • Goyal, S.D. Design and Analysis of Algorithm. USP, 2010. ISBN 978-8190856539.
  • Mehlhorn, K., Sanders, P. Algorithms and Data Structures: The Basic Toolbox. 2008.
  • Zelle, J.M. Python Programming: An Introduction to Computer Science. Franklin, 2004. ISBN 978-1887902991.


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