Předmět: Základy programování pro elektrotechniku

« Zpět
Název předmětu Základy programování pro elektrotechniku
Kód předmětu KEP/ZPEL
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Zimní
Počet ECTS kreditů 4
Vyučovací jazyk Čeština, Angličtina
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Kyselý Jaroslav, Ing. Ph.D.
  • Bartovský Jindřich, Ing.
  • Volprecht Patrik, Ing. Ph.D.
  • Koua Ladislav, Ing.
  • Mareš Adolf, Ing.
  • Rogozov Markéta, Ing. Ph.D.
  • Čuha Mark, Ing.
Obsah předmětu
1. Počítač z pohledu programátora, operační systémy, zobrazení informace. Příklad jednoduchého programu. Analýza problému a programování, pojem algoritmu. 2. Struktura programu v jazyce C, řídící struktury, smyčky. Základní datové typy. Typová konverze. Ladění a testování programů. 3. Datové typy - rozsah, přesnost, zaokrouhlování. Výrazy. Funkce, jednoduché parametry. Pole, textové řetězce, základní funkce pro práci s řetězci. 4. Ukazatele, umístění dat v paměti. Pole a ukazatele. Algoritmy pro práci s poli. Vícerozměrná pole. 5. Struktury, uniony, výčtové typy, bitové struktury. Práce se soubory, formátování vstupu a výstupu. 6. Složitější datové typy - spojové struktury, stromy, fronta, zásobník, kruhová fronta. Vzájemné přetypování datových typů. Zarovnání paměti. Packed struktury. 7. Rozdíly mezi C a C++ na úrovni základní syntaxe - další datové typy a operátory. Objektově orientovaný přístup v programování. Důvody využití objektového přístupu, jeho principy. Implementace objektového programování v C++. 8. Konceptuální model objektu. Abstraktní datový typ. Implementace abstraktního datového typu - třída. Objekty, jejich vlastnosti. 9. Nástroje objektového programování zapouzdření, inheritance, polymorfismus, genericita. Implementace dědičnosti (inheritance). Mechanismus výjimek. 10. Polymorfismus, využití. Implementace složitějších struktur nástroji objektového programování. 11. Standardní knihovny C++. 12. Práce se vstupně výstupními proudy. 13. Tvorba finální aplikace. Optimalizace kódu. Dokumentace.

Studijní aktivity a metody výuky
  • Vypracování seminární práce v bakalářském studijním programu [5-40] - 8 hodin za semestr
  • Kontaktní výuka - 52 hodin za semestr
  • E-learning [dáno e-learningovým kurzem] - 36 hodin za semestr
  • Kontaktní výuka - 16 hodin za semestr
  • Příprava na dílčí test [2-10] - 6 hodin za semestr
  • Příprava na souhrnný test [6-30] - 10 hodin za semestr
  • Příprava na zkoušku [10-60] - 30 hodin za semestr
Předpoklady
Odborné znalosti
ovládat základní středoškolské znalosti z matematiky
Odborné dovednosti
ovládat základní středoškolské dovednosti z matematiky
ovládat běžně dostupnou výpočetní techniku
Obecné způsobilosti
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje,
bc. studium: kriticky přistupuje ke zdrojům informací, informace tvořivě zpracovává a využívá při svém studiu a praxi,
bc. studium: efektivně využívá moderní informační technologie,
Výsledky učení
Odborné znalosti
vymezit přehled základních datových typů, řídících struktur
vysvětlit základní algoritmy, datové struktury (cykly, práce s poli a řetězci, vyhledávání a třídění, operace vstupu a výstupu, použití metod, práce s třídami a objekty)
Odborné dovednosti
implementovat základní algoritmy, datové a řídící struktury (cykly, práce s poli a řetězci, vyhledávání a třídění, operace vstupu a výstupu, použití metod, práce s třídami a objekty)
aplikovat získané znalosti při tvorbě jednodušších aplikací zaměřených na elektrotechniku
navrhnout, vytvořit a odladit aplikaci na základě slovního zadání
Obecné způsobilosti
bc. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých,
bc. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru,
Vyučovací metody
Odborné znalosti
Přednáška s diskusí,
Cvičení (praktické činnosti),
Výuka podporovaná multimédii,
Odborné dovednosti
Přednáška s diskusí,
Cvičení (praktické činnosti),
Samostatná práce studentů,
Výuka podporovaná multimédii,
Obecné způsobilosti
Přednáška s diskusí,
Cvičení (praktické činnosti),
Výuka podporovaná multimédii,
Hodnotící metody
Odborné znalosti
Kombinovaná zkouška,
Výstupní projekt,
Test,
Odborné dovednosti
Kombinovaná zkouška,
Výstupní projekt,
Test,
Obecné způsobilosti
Kombinovaná zkouška,
Výstupní projekt,
Test,
Doporučená literatura
  • Herlihy, Maurice; Shavit, Nir. The art of multiprocessor programming. Boston : Elsevier, 2012. ISBN 978-0-12-397337-5.
  • Herout, Pavel. Učebnice jazyka C. 1. díl. České Budějovice : Kopp, 2004. ISBN 80-7232-220-6.
  • Jeganathan Swaminathan. Mastering C++ Programming. Packt Publishing Limited., Birmingham, United Kingdom, 2017. ISBN 9781786461629.
  • Kernighan, Brian W.; Ritchie, Dennis M. Programovací jazyk C. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0897-X.
  • Virius, Miroslav. Programování v C++ : od základů k profesionálnímu použití. První vydání. 2018. ISBN 978-80-271-0502-1.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr