Vyučující
|
-
Futera Zdeněk, RNDr. Ph.D.
|
Obsah předmětu
|
Obsah přednášek: Přednáška je členěna následovně: 1. Úvod do programování, datové typy, proměnné 2. Operátory, podmínkové konstrukce, větvení programu 3. Iterace, smyčky a jednorozměrné pole 4. Ukazatele, dynamická alokace paměti, vícerozměrná pole 5. Funkce, předávání parametrů, zpracování návratových hodnot 6. Uživatelské datové typy, struktury, uniony 7. Pokročilé IO operace, práce se soubory 8. Organizace velkých projektů, modulárnost, využití preprocesoru, knihovny 9. Rekurze a rekurzivní algoritmy 10. Lineární spojové seznamy 11. Fronta, zásobník a jejich implementace 12. Vyhledávací a prohledávací algoritmy 13. Třídící algoritmy Obsah cvičení/semináře: Cvičení probíhají v počítačových učebnách, jsou zaměřená na praktickou implementaci probíraných konceptů a tematicky úzce navazují na přednášky. Na rozdíl o teoretičtěji zaměřených přednášek, v rámci cvičení je kladen důraz na osvojení si syntaxe jazyka C a schopnost napsat funkční a uživatelsky přívětivý program, který efektivně zpracovává data a řeší požadovaný problém. Předpokládá se aktivní práce studentů jak během prezenční výuky, tak při řešení domácích úloh, a především semestrální práce.
|
Studijní aktivity a metody výuky
|
Monologická (výklad, přednáška, instruktáž), Demonstrace
- Účast na výuce
- 52 hodin za semestr
- Příprava na zkoušku
- 16 hodin za semestr
- Semestrální práce
- 32 hodin za semestr
- Domácí příprava na výuku
- 20 hodin za semestr
|
Výstupy z učení
|
Tento základní kurz programování seznamuje studenty s elementárními koncepty, jako jsou počítačové datové typy, používání proměnných pro ukládání dat, používání operátorů, větvení programu pomocí podmínek a cyklické opakování kódu. Výklad je postaven na syntaxi jazyka C, který stále patří mezi nejvyužívanější jazyky v praxi a je základem pro několik vyšších programovacích jazyků. Proto je část kurzu věnována specifickým partiím vycházející z jazyka C, jako jsou ukazatale, strukturní datové typy či dynamická alokace paměti a práce s funkcemi. Poslední 1/3 kurzu je pak věnována algoritmizaci se zaměřením na načítání, ukládání, řazení a prohledávání dat.
Student se naučí základní programovací techniky (podmínky, cykly, práce s poli, členění kódu do funkcí, alokace paměti) a algoritmy (rekurze, lineární spojové seznamy, vyhledávání, třídění). Tyto techniky budou demonstrovány a cvičeny v programovacím jazyce C, který by měl absolvent kurzu plně ovládat.
|
Předpoklady
|
Žádné
|
Hodnoticí metody a kritéria
|
Kombinovaná zkouška, Seminární práce
Průběžné odevzdávání domácích úloh, vytvoření semestrální práce a získání alespoň 35 bodů z 50 možných za ohodnocení těchto prací. U zkoušky musí student vytvořit funkční program splňující zadanou úlohu a správně zodpovědět alespoň 70% otázek týkajících se teorie.
|
Doporučená literatura
|
-
Studentům jsou k dispozici prezentace z přednášek a ukázkové zdrojové kódy ze cvičeních. Dále je ke studiu doporučena následující literatura:.
-
[1] J. Prokop, Algoritmy v jazyku C a C++, 2016.
-
[2] P. Herout, Učebnice jazyka C (především 1. díl), 2012.
-
[3] B. W. Kerningham, Denis M. Ritchie: Programovací jazyk C, 2019.
-
[4] B. Stroustrup: The C++ Programming Language (4th Edition), 2009.
-
[5] R. Sedgewick: Algoritmy v C, 2003.
|