Detail předmětu

Algoritmizace a programování

CESA-SPRGAk. rok: 2021/2022

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.

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 Python,
- pracovat se základními datovými strukturami,
- vytvořit funkce pro vyhledávání a základních metod řazení podle známých algoritmů,
- vytvořit vlastní knihovnu funkcí,
- vlastní programy popsat a vysvětlit.  

Prerekvizity

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

Literatura

BARDOŇOVÁ, J.: Algoritmizace a programování. Brno: VUT v Brně, 2007. (CS)
Wirth N: Algorithms + Data Structures = Programs, Prentice-Hall, New Jersey, 1985, ISBN 0-13-022418-9 (EN)
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)

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. půlsemestrální test (min. 15 bodů, max. 30 bodů),
2. semestrální test (min. 25 bodů, max. 50 bodů),
3. domácí úkoly (10 x 2 body, max. 20 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ů. 

Jazyk výuky

čeština

Osnovy výuky

1. Programování, algoritmus, úvod do Pythonu
2. Přehled záklaních datových typů, textové řetězce a jejich použítí
3. Základní prvky programu, podmínky, seznamy a jejich použití
4. Základní prvky programu, cykly for a příklady I.
5. Základní prvky programu, cykly while a příklady II.
6. Funkce a moduly
7. Základy Git
8. Práce se soubory v Pythonu
9. Přehled základních datových struktur a jejich použití 
10. Analýza výkonnosti algoritmů, asymptotická složitost
11. Vyhledávácí algoritmy
12. Řadící algoritmy
13. Rekurze, rozděl a panuj 

Cíl

Cílem předmětu je seznámení a osvojení základních programovacích návyků. Dále seznámení s programovacím jazykem Python a řešením jednoduchých algoritmizačních úloh. 

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ě.

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

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

Typ (způsob) výuky

 

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

39 hod., povinná

Vyučující / Lektor

eLearning

Odpovědnost: Ing. Marek Strakoš