| Název předmětu | Úvod do programování v jazyce C |
|---|---|
| Kód předmětu | KI/UPC |
| Organizační forma výuky | Seminář |
| Úroveň předmětu | Bakalářský |
| Rok studia | nespecifikován |
| Semestr | Letní |
| Počet ECTS kreditů | 2 |
| Vyučovací jazyk | Čeština |
| Statut předmětu | Povinně-volitelný |
| Způsob výuky | Kontaktní |
| Studijní praxe | Nejedná se o pracovní stáž |
| Doporučené volitelné součásti programu | Není |
| Vyučující |
|---|
|
| Obsah předmětu |
|
1. Úvod do jazyka C a struktura programu Historie jazyka C, jeho filozofie a použití. První program "Hello World". Základní datové typy, proměnné, konstanty. Aritmetické operátory, typové konverze, priorita operací. Číselné reprezentace, přetečení. Kompilace a sestavení programu. Standardní vstup a výstup. 2. Řízení toku programu, řídicí struktury Podmínky, přepínače, cykly. Logické operátory a relační výrazy. Vnořování řídicích struktur. Bitové operátory. Debugging a ladění kódu. 3. Funkce a struktura programu Definice, deklarace a volání funkcí. Parametry a návratové hodnoty. Rozsah platnosti proměnných. Rekurze. Modulární struktura programu. Preprocesor, hlavičkové soubory, podmíněný překlad. Standardní knihovna jazyka C. 4. Ukazatele, pole, řetězce Jednorozměrná pole. Vztah mezi poli a ukazateli. Adresní aritmetika. Ukazatele jako argumenty funkcí (volání odkazem). Práce s řetězci jako s poli znaků. Standardní funkce pro práci s řetězci. 5. Vícerozměrná pole, ukazatele na funkce Pole ukazatelů vs. vícerozměrná pole. Ukazatele na funkce jako nástroj pro abstrakci. Argumenty příkazové řádky. 6. Vstup a výstup Standardní knihovna `stdio.h`. Standardní proudy (stdin, stdout, stderr). Formátovaný vstup a výstup. Práce se soubory. Řetězení vstupů a výstupů. 7. Datové struktury a správa paměti Složené datové typy. Definice struktur, vnořené struktury, pole struktur. Statická a dynamická alokace paměti. Životní cyklus dat. Časté chyby při práci s pamětí (úniky paměti). 8. Projekt I: Interpreter jazyka Forth - jádro Principy interpretace programovacích jazyků. Zásobníkový model výpočtu. Základní koncepty jazyka Forth. Datový a návratový zásobník, slovník slov, vnitřní smyčka interpretu. Rozbor textového vstupu. 9. Projekt I: Interpreter jazyka Forth - logika a řízení Implementace základních slov (aritmetika, práce se zásobníkem). Definice nových slov. Podmínky a smyčky. 10. Projekt II: Želví grafika v jazyce Forth - jádro Grafické rozhraní. Definice Forth slov pro řízení želvy. 11. Projekt II: Želví grafika v jazyce Forth - aplikace Propojení interpretu s vykreslovacím modulem. Kreslení iterativních a rekurzivních struktur. 12. Projekt III: C a Python - integrace Vytvoření jednoduché knihovny v C a její použití v Python skriptech. 13. Různé Shrnutí předmětu. Diskuse nad řešeními projektů.
|
| Studijní aktivity a metody výuky |
| nespecifikováno |
| Výstupy z učení |
|
Cílem předmětu je seznámit studenty se základy programování v jazyce C v duchu klasického pojetí K&R (Kernighan & Ritchie). Předmět klade důraz na porozumění nízkoúrovňovým principům programování, na práci s pamětí, datovými typy a na efektivitu kódu. Teoretické základy jsou podepřeny praktickými příklady a úlohami. V závěru předmětu budou vytvořeny ukázkové projekty: minimalistický interpret jazyka Forth a jeho použití v aplikaci pro želví grafiku.
|
| Předpoklady |
|
nespecifikováno
KI/APR2 ----- nebo ----- KI/KAPR2 |
| Hodnoticí metody a kritéria |
|
nespecifikováno
aktivní účast na seminářích a průběžné plnění úloh k probírané látce |
| Doporučená literatura |
|
| Studijní plány, ve kterých se předmět nachází |
| Fakulta | Studijní plán (Verze) | Kategorie studijního oboru/specializace | Doporučený semestr |
|---|