Detail předmětu
Základy programování
FIT-IZPAk. rok: 2022/2023
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).
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
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.
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Výuka se realizuje formou přednášek cvičení a řešení projektů. Přednášky mají charakter výkladu základních principů, metodologie dané disciplíny, problémů a jejich vzorových řešení. Cvičení a řešení projektů podporuje zejména praktické ovládnutí látky vyložené na přednáškách nebo zadané k samostatnému nastudování za aktivní účasti studentů.
Způsob a kritéria hodnocení
- Hodnocené domácí úkoly (projekt) s obhajobou - 24 bodů.
- Počítačová cvičení - 10 bodů.
- Půlsemestrální test - 12 bodů.
- Závěrečná písemná zkouška - 54 body.
Učební cíle
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.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
- Vypracování a odevzdání 2 projektů.
- Obhajoba projektu v počítačové učebně.
- 10 počítačových cvičení.
- Půlsemestrální test.
- Závěrečná písemná zkouška. 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.
- Formu nahrazování zameškané výuky stanoví asistent.
Základní literatura
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.
Doporučená literatura
Kernighan, B., W., Ritchie, D., M.: Programovací jazyk C, Computer Press, Brno, 2006, ISBN 80-251-0897-X.
Teaching materials available on WWW.
Schildt, H.: Nauč se sám C, SoftPress s.r.o, Praha, 2001, ISBN 80-86497-16-X.
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.
The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
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.
eLearning
Zařazení předmětu ve studijních plánech
- Program BPC-AUD bakalářský
specializace AUDB-ZVUK , libovolný ročník, zimní semestr, volitelný
specializace AUDB-TECH , libovolný ročník, zimní semestr, volitelný - Program BPC-AMT bakalářský, libovolný ročník, zimní semestr, volitelný
- Program BPC-EKT bakalářský, libovolný ročník, zimní semestr, volitelný
- Program BPC-IBE bakalářský, libovolný ročník, zimní semestr, volitelný
- Program BPC-MET bakalářský, libovolný ročník, zimní semestr, volitelný
- Program BPC-SEE bakalářský, libovolný ročník, zimní semestr, volitelný
- Program BPC-TLI bakalářský, libovolný ročník, zimní semestr, volitelný
- Program IT-BC-3 bakalářský
obor BIT , 1. ročník, zimní semestr, povinný
- Program BIT bakalářský, 1. ročník, zimní semestr, povinný
- Program BIT bakalářský, 1. ročník, zimní semestr, povinný
- Program BAK-MIn bakalářský, 2. ročník, zimní semestr, volitelný
- Program VUB bakalářský
obor VU-D , 2. ročník, zimní semestr, volitelný
obor VU-D , 2. ročník, zimní semestr, volitelný
obor VU-D , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-IDT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
obor VU-VT , 2. ročník, zimní semestr, volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Ú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.
Cvičení odborného základu
Vyučující / Lektor
Osnova
Demonstrační cvičení:
- 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ů.
Cvičení na počítači
Vyučující / Lektor
Osnova
- 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
Projekt
Vyučující / Lektor
Osnova
- Práce s textem.
- Práce s datovými strukturami.
eLearning