Detail předmětu
Computer Programming 1
FEKT-BPA-PP1Ak. rok: 2022/2023
Celý kurz bude vyučován v programovém prostředí Matlab (případně jeho freeware alternativách). Studenti se seznámí s maticovými operacemi, logickými a relačními operátory. Dále budou probrány pokročilé datové typy (komplexní čísla, struktury, cell), nástroje pro řízení běhu programu (podmínky if-elseif-else, cykly while, for, metody switch-case), tvorba funkcí. Důraz bude kladen především na vektorizaci a optimalizaci kódu. Studenti se naučí základy objektově orientovaného programování a tvorby grafického uživatelského prostředí.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Nabízen zahraničním studentům
Výsledky učení předmětu
1) Provádět maticové operace v Matlabu.
2) Převést matematické algoritmy do formy matlabovských funkcí.
3) Vykreslovat průběhy 2D a 3D funkcí.
4) Sestavit jednoduchou aplikaci s grafickým rozhraním v Matlabu.
5) Psát přehledný a srozumitelný kód dle programátorských zvyklostí.
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Students can earn a maximum of 12 points for active work in computer tutorials, 24 points for completing homework assignments, 40 points from two midterm tests during the semester, and 24 points for an individual MATLAB project.
Osnovy výuky
1. Úvod, historie MATLABu, alternativy, zásady psaní kódu, skript.
2. Tvorba matic, maticové operace, indexování, logické a relační operátory.
3. Pokročilé datové typy (komplexní čísla, char, logical, struktury, cell).
4. Řízení programu, podmínky, cykly.
5. Funkce - hlavička, lokální vs. globální proměnné a Workspace.
6. Základy algoritmizace - zápis algoritmů, náročnost, problém řazení.
7. Algoritmy - datové striktury, základní paradigmata.
8. Funkce - handle, Vekorizace, optimalizace kodu, kontrola programu, bsxfun, arrayfun, cellfun.
9. Grafika - možnosti vykreslování, tex příkazy.
10. Práce se soubory - čtení a zápis.
11. GUI - grafické uživatelské prostředí, systém appdesigner.
12. GUI - uicontrols.
13. OOP - třída/objekt,vlastnosti a metody, konstructor, set, get, dědění, přístup.
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
MATLAB Primer. Www.mathworks.com [online]. 3 Apple Hill Drive Natick, MA 01760-2098: The MathWorks, 2017 [cit. 2017-08-21]. Dostupné z: https://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf (EN)
VALENTINE, D. T. a Brian D. HAHN. Essential MATLAB for engineers and scientists. 3rd ed. London: Butterworth Heinemann, 2007. (EN)
Elearning
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
2. Počítačové sítě a operační systémy.
3. Počítačové systémy, hardwarová architektura.
4. Vývoj softwarové aplikace, operační kód, instrukční soubor, jazyk symbolických adres, vyšší programovací jazyky, překlad.
5. MATLAB: Úvod do Matlabu, modelování systémů, spojitý, diskrétní a číslicový systém. Jednoduchý model fyzikálního děje.
6. MATLAB: Reprezentace vektorů a matic v Matlabu, podmínky, cykly, grafické výstupy.
7. MATLAB: Zpracování dat, statistika, práce se soubory, čtení, zápis, binární soubor, textový soubor.
8. MATLAB: Grafické uživatelské rozhraní v Matlabu, statistické zpracování dat.
9. MATLAB: Úvod do Simulinku, simulace jednoduchého systému, vztah modelu v Simulinku k Matlabu.
10. C: Úvod do jazyka C, základní struktura programu v C, funkce main(), proměnné, pole, výrazy, operátory, priorita operátorů. Vstupy, výstupy, jednoduchá konzolová aplikace.
11. C: Příkazy, větvení a cykly for, while, do-while, příkazy break, continue, přepínač. Exemplární konzolové aplikace.
12. C: Funkce. Deklarace funkcí, volání, ošetření událostí, rekurze, sestavení vlastní knihovny. Standardní knihovny a jejich použití.
13. C: Algoritmy vyhledání maxima, minima, setřídění.
Cvičení na počítači
Vyučující / Lektor
Osnova
2. Počítačové sítě a operační systémy.
3. Počítačové systémy, hardwarová architektura.
4. Vývoj softwarové aplikace, operační kód, instrukční soubor, jazyk symbolických adres, vyšší programovací jazyky, překlad.
5. MATLAB: Úvod do Matlabu, modelování systémů, spojitý, diskrétní a číslicový systém. Jednoduchý model fyzikálního děje.
6. MATLAB: Reprezentace vektorů a matic v Matlabu, podmínky, cykly, grafické výstupy.
7. MATLAB: Zpracování dat, statistika, práce se soubory, čtení, zápis, binární soubor, textový soubor.
8. MATLAB: Grafické uživatelské rozhraní v Matlabu, statistické zpracování dat.
9. MATLAB: Úvod do Simulinku, simulace jednoduchého systému, vztah modelu v Simulinku k Matlabu.
10. C: Úvod do jazyka C, základní struktura programu v C, funkce main(), proměnné, pole, výrazy, operátory, priorita operátorů. Vstupy, výstupy, jednoduchá konzolová aplikace.
11. C: Příkazy, větvení a cykly for, while, do-while, příkazy break, continue, přepínač. Exemplární konzolové aplikace.
12. C: Funkce. Deklarace funkcí, volání, ošetření událostí, rekurze, sestavení vlastní knihovny. Standardní knihovny a jejich použití.
13. C: Algoritmy vyhledání maxima, minima, setřídění.
Elearning