Detail předmětu

Algoritmizace a programování

CESA-SPRGAk. rok: 2020/2021

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 programovacím jayzkem Python, pomocí něhož studenti naprogramují jednoduché úlohy.

Jazyk výuky

čeština

Počet kreditů

4

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.
Písemnou závěrečnou prací je ověřena schopnost pochopení zadaného úkolu, algoritmizace úlohy a zápisu programového kódu včetně nakreslení vývojového diagramu.

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

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 programovacím jayzkem Python, pomocí něhož studenti naprogramují jednoduché úlohy.

1. Programování, algoritmus, koncepce programu
2. Úvod do Pythonu
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 , možnosti využití Pythonu 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

BARDOŇOVÁ, J.: Algoritmizace a programování. Brno: VUT v Brně, 2007. (CS)
Lee, Kent D ; Hubbard, Steve ; Cham: Data Structures and Algorithms with Python, Springer International Publishing ; 2015 Undergraduate Topics in Computer Science (EN)
Padmanabhan, T R: Programming with Python, Springer Nature Singapore Pte Ltd. 2016 (EN)

Doporučená literatura

Wirth N: Algorithms + Data Structures = Programs, Prentice-Hall, New Jersey, 1985, ISBN 0-13-022418-9 (EN)

Elearning

Zařazení předmětu ve studijních plánech

  • Program BPC-STC bakalářský 1 ročník, letní semestr, povinný

Typ (způsob) výuky

 

Cvičení s počítačovou podporou

39 hod., povinná

Vyučující / Lektor

Elearning