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
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.
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
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 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
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Padmanabhan, T R: Programming with Python, Springer Nature Singapore Pte Ltd. 2016 (EN)
Lee, Kent D ; Hubbard, Steve ; Cham: Data Structures and Algorithms with Python, Springer International Publishing ; 2015 Undergraduate Topics in Computer Science (EN)
Doporučená literatura
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
eLearning