Předmět: Úvod do programování v jazyce C

» Seznam fakult » PRF » KI
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í
  • Burle Jan, Ing. PhD
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
  • https://www.cprogramming.com/.
  • https://www.learn-c.org.
  • https://archive.org/details/cprogramminglang0000kern_2ed. .
  • https://dn710204.ca.archive.org/0/items/the-c-programming-language-second-edition-first-190-pages.
  • https://www.learn-c.org. .
  • Learn C and C++ Programming. .
  • Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language.
  • Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language. .


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr