Detail předmětu
Úvod do programování a algoritmizace
FSI-1PAAk. rok: 2022/2023
Obsahem předmětu jsou především obecné znalosti a dovednosti týkající se použití vysokoúrovňových programovacích jazyků v inženýrské a vědecké praxi. Využívá se především jazyk Matlab, stejné principy však lze aplikovat na další jazyky (např. Python). Obsah předmětu lze rozdělit do tří části - základy jazyku Matlab, algoritmizace, a obecné principy programovacích jazyků a praktická doporučení.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Hodnocení předmětu probíhá na základě standardní bodové škály 0-100b. Studenti mohou získat až 80b za 3 testy v průběhu semestru, a 20b za zpracování a obhajobu semestrálního projektu. Při hodnocení zpracovaných úloh a projektů se přihlíží ke splnění funkčních požadavků i k úrovni zpracování.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Knuth, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019
Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019 (EN)
Doporučená literatura
Pelánek, R.: Jak to vyřešit, Portál, 2011 (CS)
Pelánek, R.: Programátorská cvičebnice, Computer Press, 2012 (CS)
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2) Základní syntaxe jazyku Matlab - proměnné, operátory, řídící struktury
3) Signály a grafy
4) Datové typy a struktury
5) Maticové operace a výpočty
6) Funkce a rekurze
7) Algoritmizace
8) Praktické algoritmy
9) Objektově orientované programování
10) Grafické uživatelské rozhraní
11) Praktické programovací návyky
12) Testování a verzování kódu
13) Programovací jazyky a styly
Cvičení s počítačovou podporou
Vyučující / Lektor
Osnova
2) Podmínky
3) Cykly
3) Grafy
4) Náhodná čísla
5) Vektorizace
6) Funkce a rekurze
7) Algoritmická cvičení 1
8) Algoritmická cvičení 2
9) Struktury a objekty
10) Grafické rozhraní
11) Programovací cvičení - Časování a profilování kódu
12) Programovací cvičení - Datový vstup a výstup
13) Programovací cvičení - Prohledávací algoritmy
Elearning