Předmět: Základy programování

» Seznam fakult » EF » KIN
Název předmětu Základy programování
Kód předmětu KIN/ZP
Organizační forma výuky Přednáška + Seminář
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Zimní
Počet ECTS kreditů 4
Vyučovací jazyk Čeština
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Nejedlová Dana, Ing. Ph.D.
  • Nisler Stanislav, Mgr.
Obsah předmětu
Přednášky (témata): 1. Základní datové typy a problematika jejich počítačové reprezentace. 2. Programovací jazyky a překladače. Paradigmata programovacích jazyků. 3. Efektivita algoritmu. Asymptotická analýza algoritmu. Algoritmy polynomiální a ty ostatní.* 4. Charakteristika programovacího jazyka C. Vznik programu psaného v jazyce C. Struktura programu v jazyce C.* 5. Jednoduché datové typy, proměnné, konstanty, operátory, typová konverze. Terminálový vstup a výstup.* 6. Řídící struktury: podmínky, cykly, skoky. Práce se soubory, standardní vstup a výstup.* 7. Funkce a alokace paměti, parametry funkcí. Oblast platnosti identifikátorů. 8. Pointery a funkce. Pointery a paměť. Jednorozměrná pole statická a dynamická. 9. Řetězce. Vícerozměrná pole. 10. Struktury, uniony a výčtové typy. Bitové operace. 11. Knihovny jazyka C. Soubory a operační systém. 12. Preprocesor jazyka C. Podmíněný překlad programu. Oddělený překlad programu. 13. Pointery a vícerozměrná pole. Rekurzivní funkce. Dynamické datové struktury. 14. Řazení. Vyhledávání. Porovnávání seznamů. Semináře (témata): 1. Seznámení se s vývojovým prostředím. 2. Datové typy, konstanty, operátor sizeof(), dělení nulou, přetečení, tisk hodnoty typu Boolean. 3. Funkce printf() a řídící řetězec formátu. 4. Priorita a asociativita operátorů, postfix a prefix dekrement a inkrement. 5. Program s cyklem while a for. 6. Program s větvením if, else, switch. Zkrácené vyhodnocování booleanovských výrazů. 7. Program s uživatelským menu, funkce scanf(), gectchar(), vyčištění bufferu. Formátování zdrojového kódu. 8. Textové soubory, funkce getc() a putc(), funkce feof() spolu s funkcí fscanf(). 9. Redirekce a spustitelný dávkový soubor. 10. Funkce s parametry předávanými hodnotou. Funkce pro vstup čísla s ověřením. 11. Pointery. Funkce s parametry předávanými odkazem. 12. Funkce a procedury. Pointer na funkci. 13. Parametry funkce main(). Práce s řetězci. 14. Obhajoba projektů.

Studijní aktivity a metody výuky
Monologický výklad (přednáška, prezentace, vysvětlování), Pracovní činnosti (dílny)
Výstupy z učení
Předmět seznámí studenta s problematikou tvorby softwarových aplikací. Jako výukový jazyk je použit jazyk C. C je nízkoúrovňový, kompilovaný, relativně minimalistický programovací jazyk. Je dostatečně mocný na většinu systémového programování (ovladače a jádro OS), přičemž zbytek lze dořešit tzv. inline assemblerem, tedy metodou zápisu assembleru přímo do kódu. Zdrojový kód C je přitom mnohem čitelnější než assembler, je jednodušší ho zapsat a navíc je daleko snáze přenositelný na jiné procesory a počítačové architektury.

Předpoklady
nespecifikováno

Hodnoticí metody a kritéria
Ústní zkouška, Písemná zkouška, Praktická demonstrace získaných dovedností, Systematické pozorování studenta, Písemná práce

Zápočet: Test z teorie probrané na přednáškách. Zkouška: Student prokáže znalost základů programování a obhájí svůj samostatně vytvořený program v jazyce C.
Doporučená literatura
  • BROOKSHEAR, J. G., D. T. SMITH a D. BRYLOW. Informatika. Brno: Computer Press, 2013. ISBN 978-80-251-3805-2.
  • DICKINS, R. Počítače a programování: podívej se pod okénko. Praha: Svojtka, 2016. ISBN 978-80-256-1793-9.
  • KOCHAN, S. G. Programming in C. 4. vyd.. Pearson Education, 2015. ISBN 0-321-77641-0.
  • PERRY, G. a D. MILLER. C Programming Absolute Beginner's Guide. 3. vyd.. Pearson Education, 2014. ISBN 0-789-75198-4.
  • SCOTT, M. L. Programming Language Pragmatics. 4. vyd.. Waltham: Morgan Kaufmann, 2015. ISBN 978-01-241-0409-9.
  • WARREN, H. S. Hacker's Delight. 2. vyd.. London: Pearson Education, 2013. ISBN 0-321-84268-5.
  • WENGROW, J. A Common-Sense Guide to Data Structures and Algorithms, 2nd. ed.. USA: The Pragmatic Programmers, LLC., 2020. ISBN 978-1-68050-722-5.


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