Detail předmětu
Základy programování
FIT-IZPAk. rok: 2010/2011
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í procedury. Modulární návrh a abstrakce. Pojmy a algoritmy budou ilustrovány využitím vhodného programovacího jazyka (ISO/IEC 9899: 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í
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
- 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.
- Řídící struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
- Funkce, parametry funkcí.
- Textové soubory, standardní vstup/výstup.
- Strukturované datové typy.
- Rekurze v programování.
- Typ ukazatel a dynamické proměnné. Spojové struktury.
- Základní metody řazení.
- Základní metody vyhledávání.
- Verifikace programů, ladění a dokumentace.
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í 4 projektů.
- Obhajoba projektů v průběhu laboratorních cvičení.
- Odevzdaná a kontrolovaná dokumentace k jednomu projektu.
- Půlsemestrální test.
- Závěrečná písemná zkouška.
Základní literatura
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.
Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
Doporučená literatura
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.
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
- 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.
- Řídící struktury. Bloková struktura programu, rozsah platnosti identifikátorů.
- Funkce, parametry funkcí.
- Textové soubory, standardní vstup/výstup.
- Strukturované datové typy.
- Rekurze v programování.
- Typ ukazatel a dynamické proměnné. Spojové struktury.
- Základní metody řazení.
- Základní metody vyhledávání.
- Verifikace programů, ladění a dokumentace.
Cvičení na počítači
Vyučující / Lektor
Osnova
- Seznámení s vývojovým prostředím programů v jazyce C v MS Windows a v Linuxu. Editace programů. Struktura programů. Nápověda. Nástroje ladění programů.
- Jednoduché programy v jazyce C, zpracování parametrů příkazové řádky, práce se standardním I/O.
- Analýza, návrh ke 2. projektu, ukázka dokumentace.
- Práce s poli, se soubory.
- Standardní knihovny. Jednoduché programy v jazyku C.
- Datový typ ukazatel, práce s dynamicky alokovanými datovými strukturami.