Detail předmětu
Computer Programming 2
FEKT-BPA-PP2Ak. rok: 2020/2021
Python, datové typy, řídicí struktury a funkce, moduly a balíčky, algoritmy (vyhledaní maxima/minima, Eukleidův algoritmus, násobení matic, Gauss-Seidlova eliminace, třídění), objektově orientované́ programování, práce se soubory, zpracováni obrazu (OpenCV), programování grafického uživatelského rozhraní (Qt, Tk).
Garant předmětu
Zajišťuje ústav
Nabízen zahradničním studentům
Všech fakult
Výsledky učení předmětu
Získání základních programovacích návyků a dovednosti algoritmizaci. Pochopení základních vlastností a struktur jazyka Python.
Prerekvizity
Jsou požadovány znalosti na úrovni středoškolského studia.
Doporučená nebo povinná literatura
KOCHAN, Stephen G. Programming in C. 3rd ed. Indianapolis, Ind.: Sams Pub., c2005. ISBN 0-672-32666-3. (EN)
VANDEVOORDE, David, Nicolai JOSUTTIS a Douglas GREGOR. C++ templates: the complete guide. Second edition. Boston: Addison-Wesley, [2018]. ISBN 978-0-321-71412-1. (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í
Student může získat maximálně 32 bodů za aktivní práci v počítačových cvičení, 68 bodů za individuální projekt v jazyce Pyhton.
Jazyk výuky
angličtina
Osnovy výuky
1. Úvod do procedurálního programováni v jazyce Python. Základní datové typy
2. Datové typy (Množinové typy, N-tice, kolekce), tvorba a volání funkcí
3. Řídicí struktury a funkce, moduly a balíčky, lokální́ a rekurzivní́ funkce
4. Algoritmy I (vyhledaní maxima/minima, Eukleidův algoritmus, násobení matic, Gauss-Seidlova eliminace, třídění)
5. Objektově̌ orientované́ programování, práce se soubory
6. Zpracováni obrazu (OpenCV)
7. Procesy a vlákna, databáze
8. Práce s vektory, maticemi a tenzory
9. Propojení v síti
10. Neuronové sítě
11. Algoritmy II (1D konvoluce, FIR filtrace, Flood fill, Dijkstrův algoritmus)
12. Programování grafického uživatelského rozhraní (Qt, Tk)
13. Základy a syntaxe jazyka C
Cíl
Naučit studenty základním programovacím návykům a algoritmizaci. Vysvětlit základní vlastnosti a struktury jazyka Python a jeho využití.
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Typ (způsob) výuky
eLearning
eLearning: aktuální otevřený kurz