Detail předmětu

Algoritmizace a programování

FEKT-APRGAk. rok: 2016/2017

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

čeština

Počet kreditů

4

Nabízen zahraničním studentům

Všech fakult

Výsledky učení předmětu

Absolvent studia je schopen:
- 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

Jsou požadovány znalosti na úrovni středoškolského studia.

Plánované vzdělávací činnosti a výukové metody

Metody vyučování závisejí na způsobu výuky a jsou popsány článkem 7 Studijního a zkušebního řádu VUT.

Způsob a kritéria hodnocení

Studenti musí získat minimálně 50 bodů ze 100 bodů v dílčích aktivitách:
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

Algoritmus, program, programovací jazyk. Programové prostředí Matlab a jeho využití. Základní datové struktury a algoritmy, ověřování správnosti algoritmů a jejich optimalizace. Knihovny funkcí Matlabu.
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

Cílem předmětu je seznámení a osvojení základních programovacích návyků. Dále seznámení s programovým prostředím Matlab a s programováním vlastních skriptů a funkcí.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Počítačová cvičení jsou povinná, řádně omluvené zmeškané cvičení lze po domluvě s vyučujícím nahradit individuálně.

Základní literatura

Zaplatílek K, Doňar B: Matlab pro začátečníky, Technická literatura BEN, Praha 2003 (CS)
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

  • Program BTBIO-A bakalářský

    obor A-BTB , 1 ročník, letní semestr, povinný

  • Program EEKR-CZV celoživotní vzdělávání (není studentem)

    obor ET-CZV , 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

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

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

1. Seznámení s programovým prostředím Matlab, jeho části, způsob ovládání
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ů