Detail předmětu
Základy programování
IZP Ak. rok 2025/2026 zimní semestr 7 kreditů
Základní programovací konstrukty vyššího programovacího jazyka: proměnné, typy, výrazy, řídicí struktury, procedury a funkce, předávání parametrů, vstupy/výstupy, zpracování výjimečných stavů. Základní datové struktury: primitivní datové typy, strukturované datové typy: pole, záznam, soubor, znakové řetězce. Dynamické datové struktury, typ ukazatel. Strategie pro volbu vhodné datové struktury. Rekurze, pojem rekurze. Globální a lokální proměnné. Jednoduché rekurzivní funkce (procedury). Modulární návrh a abstrakce. Ladění, testování a dokumentace programu. Pojmy a algoritmy budou ilustrovány využitím vhodného programovacího jazyka (ISO/IEC 9899:1999 Programming languages - C).
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 12 hod. seminář
- 20 hod. pc laboratoře
- 7 hod. projekty
Bodové hodnocení
- 54 bodů závěrečná zkouška (písemná část)
- 12 bodů půlsemestrální test (písemná část)
- 10 bodů numerická cvičení
- 24 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Grézl František, Ing., Ph.D. (UPGM)
Hranický Radek, Ing., Ph.D. (UIFS)
Husa Jakub, Ing. (UPSY)
John Petr, Ing. (UIFS)
Klhůfek Jan, Ing. (UPSY)
Koutenský Michal, Ing. (UIFS)
Kozák David, Ing. (UITS)
Lazúr Juraj, Ing. (UIFS)
Rozman Jaroslav, Ing., Ph.D. (UITS)
Rozsíval Michal, Ing. (UITS)
Smrčka Aleš, Ing., Ph.D. (UITS)
Škarvada Libor, RNDr. (UIFS)
Vašíček Ondřej, Ing. (UITS)
Veigend Petr, Ing., Ph.D. (UITS)
Zavřel Jan, Ing. (UIFS)
Cíle předmětu
Seznámit se s organizací dat při řešení problémů. Aktivně ovládnout základní algoritmy a umět je aplikovat v praktických problémech. Seznámit se s principy testování programů. Naučit se používat prostředky pro ladění programů. Naučit se dokumentovat, obhajovat a prezentovat dosažené výsledky.
Naučí se vytvářet programy ve vyšších programovacích jazycích. Osvojí si odborné pojmy z oblasti programování. Naučí se používat prostředky pro ladění programů. Naučí se dokumentovat, obhajovat a prezentovat dosažené výsledky. Student se naučí řešit jednoduché problémy na počítači formou projektů. Naučí se vytvářet programovou dokumentaci a obhájit výsledky řešeného projektu.
Požadované prerekvizitní znalosti a dovednosti
Předmět je zařazen v zimním semestru prvního ročníku bakalářského studijního programu. U studentů se proto předpokládají pouze běžné znalosti matematiky a práce s počítačem na úrovni střední školy.
Literatura studijní
- McConnell, S.: Code Complete, Microsoft Press, 2004, ISBN 0735619670.
- Kernighan, B., W., Ritchie, D., M.: Programovací jazyk C, Computer Press, Brno, 2006, ISBN 80-251-0897-X.
- Schildt, H.: Nauč se sám C, SoftPress s.r.o, Praha, 2001, ISBN 80-86497-16-X.
- Teaching materials available on WWW.
- Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
- Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
- BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5.
- Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
- The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
- Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9.
- Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
- Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
- Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
- Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001.
Literatura referenční
- BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5.
- Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
- Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
- Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9.
- Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
- The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
- Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
- Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
Osnova přednášek
- Úvodní informace k organizaci výuky. Verzování a pracovní nástroje programátora.
- Principy programovacích jazyků. Řídicí struktury programovacích jazyků.
- Typ ukazatele, pole, funkce.
- Textové soubory, standardní vstup/výstup. Strukturované datové typy.
- Ladění programů.
- Rekurentní problémy, numerické výpočty a algoritmy.
- Vektory a matice.
- Vyhledávání a řazení.
- Rekurze v programování.
- Pokročilé ladění programů, verifikace a validace, dokumentace zdrojového kódu.
- Dynamické datové struktury.
- Spojové struktury.
- Modulární stavba programu.
Osnova seminářů
- Vývojové nástroje.
- Základní práce s polem, řetězec, manuálové stránky.
- Práce s polem, funkce.
- Standardní vstup a výstup, čtení z/zápis do souboru.
- Ladění programů.
- Iterační výpočty.
- Řídicí smyčka, automat.
- Dynamická alokace paměti.
- Rekurze.
- Pokročilé ladění a dokumentace.
- Dynamické struktury.
- Modulární stavba programů.
Osnova počítačových cvičení
- První programy a základní konstrukce
- Cyklus, první práce s poli
- Řetězce
- Funkce a vnořené cykly
- Datové struktury
- Úvod do ukazatelů
- Práce s ukazateli
- Dynamická alokace, ladicí techniky a nástroje
- Algoritmizace, rekurze
- Strukturované datové typy
Osnova ostatní - projekty, práce
- Práce s textem.
- Práce s datovými strukturami.
Průběžná kontrola studia
- Cvičení na počítači: Student může během semestru získat 10 bodů. Obvykle na každém z 10 cvičení může student získat 1 bod za svoji aktivní účast. Formu a podmínky nahrazování zameškané výuky stanoví cvičící.
- Vypracování projektů: V průběhu výuky se ve stanovených termínech odevzdávají 2 projekty, za které je možné získat celkem 24 bodů. Zadání projektů bude zpřístupněno nejpozději 2 týdny před termínem odevzdání.
- Půlsemestrální test: Během semestru proběhne písemný test, za který student může získat 12 bodů. Půlsemestrální test nemá náhradní termín.
- Zápočet: Pro získání zápočtu musí student v součtu ze cvičení, projektů a půlsemestrálního testu získat alespoň 23 bodů. Zároveň musí získat minimálně 6 bodů za cvičení v laboratořích a 1 bod za každý odevzdaný projekt. V případě odhalení podvodného chování (nedovolená spolupráce na projektu nebo plagiátorství) zápočet nebude udělen a bude zváženo zahájení disciplinárního řízení.
- Závěrečná písemná zkouška: Písemná zkouška s jedním řádným a dvěma opravnými termíny je hodnocena 54 body. Pro získání bodů ze semestrální zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 23 body. V opačném případě bude zkouška hodnocena 0 body.
Způsob kontaktu s vyučujícím
Vyučující mají vypsané konzultační hodiny.
Zařazení předmětu ve studijních plánech
- Program BIT, 1. ročník, povinný
- Program BIT (anglicky), 1. ročník, povinný