Detail předmětu
Základy programování
FIT-IZPAk. rok: 2017/2018
Algoritmy a řešení problémů: strategie řešení problémů, strukturovaná dekompozice, pojem a vlastnosti algoritmu. Základní programovací konstrukty: syntaxe a sémantika 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. 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
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
Způsob a kritéria hodnocení
- Pro získání zápočtu a tím pro připuštění k závěrečné zkoušce musí student získat celkově nejméně 20 bodů z projektů, cvičení a půlsemestrálního testu.
- Pokud bude odhaleno plagiátorství nebo nedovolená spolupráce na projektech, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
Osnovy výuky
- Osnova přednášek:
- Úvodní informace k organizaci výuky. Struktura a cíle předmětu. Vlastnosti algoritmů, notace a zápis algoritmů.
- Techniky řešení problémů. Návrh a implementace algoritmů.
- Principy vyšších programovacích jazyků. Symboly, oddělovače, konstanty, identifikátory, proměnné, reprezentace čísel, návěští.
- Koncepce dat. Jednoduché datové typy. Výrazy a příkazy.
- Řídicí struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
- Funkce, parametry funkcí.
- Ladění programů.
- Textové soubory, standardní vstup/výstup.
- Strukturované datové typy.
- Rekurze v programování.
- Typ ukazatel a dynamické proměnné. Spojové struktury.
- Pokročilé ladění programů, verifikace a validace, dokumentace zdrojového kódu.
- Modulární stavba programu.
- Základní nástroje pro vývoj programů
- Překlad a spouštění programů
- Jednoduché programy v jazyce C
- Datové typy, přetypování
- Řídicí struktury
- Funkce, práce s řetězci
- Základní metody ladění, ladicí nástroje
- Vstup/výstup programů
- Rekurze
- Práce s pamětí
- Dokumentace zdrojového kódu, základy testování
- Modulární programování, základy zásuvných modulů
- Seznámení s provozním řádem CVT FIT , důležité informace a pokyny, informace ke studiu, rozdělení a přihlášení se do laboratoří, (Zapsané předměty --> IZP --> Termín laboratoří), Unix pro začínající studenty, diskusní skupiny IZP (každý student napíše zkušební dotaz a odpověď na dotaz v těchto diskusích), vývojové prostředí jazyka C.
- Další cvičení korespondují s náplní jednotlivých přednášek a prakticky procvičují prezentovanou látku.
- Základní programové konstrukce v jazyce C.
- Iterační výpočty.
- Práce s maticemi.
- Dokumentace zdrojového kódu projektu.
Osnova numerických cvičení:
Demonstrační cvičení:
Osnova počítačových cvičení:
Osnova ostatní - projekty, práce:
Učební cíle
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í 3 projektů.
- Obhajoba projektů v počítačové učebně.
- 10 počítačových cvičení.
- Odevzdaná a kontrolovaná dokumentace zdrojového kódu k jednomu projektu.
- Půlsemestrální test.
- Závěrečná písemná zkouška.
- Formu nahrazování zameškané výuky stanoví asistent.
Základní literatura
Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
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.
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.
Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
Doporučená literatura
Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
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.
Kernighan, B., W., Ritchie, D., M.: Programovací jazyk C, Computer Press, Brno, 2006, ISBN 80-251-0897-X.
McConnell, S.: Code Complete, Microsoft Press, 2004, ISBN 0735619670.
Schildt, H.: Nauč se sám C, SoftPress s.r.o, Praha, 2001, ISBN 80-86497-16-X.
Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001.
Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
Teaching materials available on WWW.
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.
Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvodní informace k organizaci výuky. Struktura a cíle předmětu. Vlastnosti algoritmů, notace a zápis algoritmů.
- Techniky řešení problémů. Návrh a implementace algoritmů.
- Principy vyšších programovacích jazyků. Symboly, oddělovače, konstanty, identifikátory, proměnné, reprezentace čísel, návěští.
- Koncepce dat. Jednoduché datové typy. Výrazy a příkazy.
- Řídicí struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
- Funkce, parametry funkcí.
- Ladění programů.
- Textové soubory, standardní vstup/výstup.
- Strukturované datové typy.
- Rekurze v programování.
- Typ ukazatel a dynamické proměnné. Spojové struktury.
- Pokročilé ladění programů, verifikace a validace, dokumentace zdrojového kódu.
- Modulární stavba programu.
Cvičení odborného základu
Vyučující / Lektor
Osnova
- Základní nástroje pro vývoj programů
- Překlad a spouštění programů
- Jednoduché programy v jazyce C
- Datové typy, přetypování
- Řídicí struktury
- Funkce, práce s řetězci
- Základní metody ladění, ladicí nástroje
- Vstup/výstup programů
- Rekurze
- Práce s pamětí
- Dokumentace zdrojového kódu, základy testování
- Modulární programování, základy zásuvných modulů
Cvičení na počítači
Vyučující / Lektor
Osnova
- Seznámení s provozním řádem CVT FIT , důležité informace a pokyny, informace ke studiu, rozdělení a přihlášení se do laboratoří, (Zapsané předměty --> IZP --> Termín laboratoří), Unix pro začínající studenty, diskusní skupiny IZP (každý student napíše zkušební dotaz a odpověď na dotaz v těchto diskusích), vývojové prostředí jazyka C.
- Další cvičení korespondují s náplní jednotlivých přednášek a prakticky procvičují prezentovanou látku.