Detail předmětu
Algoritmizace a programování
FEKT-APRGAk. rok: 2018/2019
Předmět je koncipován jako úvod do problematiky algoritmizace a programování. Studenti jsou seznámeni se základními pojmy z oblasti programování, vytváření algoritmů a programů. Je kladen důraz na pochopení návrhu a realizace programů. Jsou požadovány znalosti základních prvků programu a prokázání, že jsou studenti schopni tyto prvky používat. Studenti jsou seznámeni s programovým prostředím Matlab, kde studenti programují skripty a funkce řešící jednoduché úlohy.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
- navrhnout algoritmy jednoduchých úloh,
- používat základní prvky programu (proměnné, matematické operace, podmínky, cykly aj.),
- používat iterační i rekurzivní postupy,
- navržené algoritmy přepsat do programu programovacího jazyka Matlab – vytvářet skripty a funkce,
- pracovat se základními datovými formáty,
- vytvořit funkce pro vyhledávání a základních metod řazení podle známých algoritmů,
- používat funkce nejpoužívanějších knihoven,
- vytvořit vlastní knihovnu funkcí,
- vlastní programy popsat a vysvětlit.
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
1. test: základy programování v Matlabu (min 3 body, max 10 bodů)
2. test: návrh algoritmů (min 3 body, max 10 bodů)
3. projekt: návrh vlastní knihovny funkcí (min 4 body, max 15 bodů) + technická dokumentace (min 3 body, max 10 bodů)
4. závěrečný písemný test: (min 20 bodů, max 55 bodů).
Dílčí aktivity mají prověřit schopnosti studenta navrhnout algoritmy pro řešení jednoduchých úloh a prokázat je realizací příslušných programů.
Osnovy výuky
1. Programování, algoritmus, koncepce programu
2. Úvod do Matlabu
3. Přehled základních datových struktur a jejich použití
4. Základní prvky programu, cykly, rekurze
5. Algoritmizace numerických metod
6. Algoritmy řazení
7. Vyhledávací algoritmy
8. Prohledávání textů
9. Analýza výkonnosti algoritmů
10. Odstraňování rekurze a optimalizace algoritmů
11. Pokročilé programovací techniky
12. Knihovny Matlabu
13. Možnosti využití Matlabu v jiných oborech
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
Zaplatílek K, Doňar B: Matlab tvorba uživatelských aplikací, Technická literatura BEN, Praha 2004 (CS)
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Úvod do Matlabu
3. Přehled základních datových struktur a jejich použití
4. Základní prvky programu, cykly, rekurze
5. Algoritmizace numerických metod
6. Algoritmy řazení
7. Vyhledávací algoritmy
8. Prohledávání textů
9. Analýza výkonnosti algoritmů
10. Odstraňování rekurze a optimalizace algoritmů
11. Pokročilé programovací techniky
12. Knihovny Matlabu
13. Možnosti využití Matlabu v jiných oborech
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Práce se základními typy dat, vkládání dat, možnosti prezentace výsledků
3. Řešení základních matematických úloh, využití základních matematických funkcí Matlabu
4. Procvičení základních typů větvení programu, cyklů v rekurzních úlohách
5. Tvorba skriptů a funkcí
6. Tvorba jednoduchých datových struktur a práce s jednotlivými prvky
7. Návrh jednoduchých funkcí pro řazení prvků pomocí metod Select sort, Buble sort, Insert sort
8. Tvorba jednoduché datové databáze, prohledávání textů
9. Zadání samostatných projektů, nástin řešení, test (max 20b)
10. Grafické aplikační rozhraní Matlabu Guide
11. Aplikace vlastních funkcí do jednoduchého grafického rozhraní Guide
12. Odevzdání a prezentace studentských prací (max 20b)
13. Závěrečný test (max 60b), udělování klasifikovaných zápočtů