Detail předmětu

Úvod do programování a algoritmizace

FSI-1PAAk. rok: 2021/2022

Obsahem předmětu jsou především obecné znalosti a dovednosti týkající se použití vysokoúrovňových programovacích jazyků v inženýrské a vědecké praxi. Využívá se především jazyk Matlab, stejné principy však lze aplikovat na další jazyky (např. Python). Obsah předmětu lze rozdělit do tří části - základy jazyku Matlab, algoritmizace, a obecné principy programovacích jazyků a praktická doporučení.

Jazyk výuky

čeština

Počet kreditů

6

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

Po absolvování předmětu se předpokládá schopnost samostatně využívat jazyk Matlab k různým inženýrským aplikacím. Základní znalosti získané v tomto předmětu slouží také jako základ pro studium (i samostudium) dalších jazyku v jiných aplikacích, např. jazyka C pro programování mikrokontrolerů.

Prerekvizity

Vektory a matice, maticové operace, výroková logika, zakladní počítačová gramotnost.

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

Předmět je vyučován formou přednášek, které mají charakter výkladu základních principů a teorie dané disciplíny. Cvičení je zaměřeno na praktické zvládnutí látky probrané na přednáškách. Výuka je doplněna laboratorním cvičením.

Způsob a kritéria hodnocení

Hodnocení předmětu probíhá na základě standardní bodové škály 0-100b. Studenti mohou získat až 70b za 3 testy v průběhu semestru, 10b za domácí úlohy a 20b za zpracování a obhajobu semestrálního projektu. Při hodnocení zpracovaných úloh a projektů se přihlíží ke splnění funkčních požadavků i k úrovni zpracování.

Učební cíle

Cílem předmětu je především skrze praktickou zkušenost získat a rozvinout schopnost algoritmizovat a řešit nejčastější inženýrské a matematické problémy, tedy rozložit složitý problém na sadu jednoduchých tak, aby bylo možné je zapsat v syntaxi jazyku Matlab.

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

Účast na cvičení je povinná. Kontrola výuky se provádí na cvičení. Účast na přednáškách je nepovinná ale doporučená.

Základní literatura

Algorithms: Fundamental Techniques. Dostupne online: http://en.wikibooks.org/wiki/Algorithms (EN)
Knuth, D.: The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 2019
Stormy Attaway: Matlab: A Practical Introduction to Programming and Problem Solving, Butterworth-Heinemann, 2019 (EN)

Doporučená literatura

Bohuslav Doňar; Karel Zaplatílek : MATLAB pro začátečníky, BEN - technická literatura, 2005 (CS)
Pelánek, R.: Jak to vyřešit, Portál, 2011 (CS)
Pelánek, R.: Programátorská cvičebnice, Computer Press, 2012 (CS)

Elearning

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

  • Program B-MET-P bakalářský 1 ročník, zimní semestr, povinný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1) Organizace a obsah předmětu, Matlab jako inženýrský nástroj
2) Základní syntaxe jazyku Matlab - proměnné, operátory, řídící struktury
3) Signály a grafy
4) Datové typy a struktury
5) Maticové operace a výpočty
6) Funkce a rekurze
7) Algoritmizace
8) Praktické algoritmy
9) Objektově orientované programování
10) Grafické uživatelské rozhraní
11) Praktické programovací návyky
12) Testování a verzování kódu
13) Programovací jazyky a styly

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

26 hod., povinná

Vyučující / Lektor

Osnova

1) Proměnné - práce s maticemi a indexování
2) Podmínky
3) Cykly
3) Grafy
4) Náhodná čísla
5) Vektorizace
6) Funkce a rekurze
7) Algoritmická cvičení 1
8) Algoritmická cvičení 2
9) Struktury a objekty
10) Grafické rozhraní
11) Programovací cvičení - Časování a profilování kódu
12) Programovací cvičení - Datový vstup a výstup
13) Programovací cvičení - Prohledávací algoritmy

Elearning