Vyučující
|
-
Vařacha Pavel, Ing. Bc. Ph.D.
-
Král Erik, Ing. Ph.D.
-
Fojtů Dušan, Ing. Ph.D.
|
Obsah předmětu
|
1. Co je to algoritmus, program, programovací jazyk a vývojové prostředí. Základní paradigmata programování, deklarativní programování, imperativní programování, objektově orientované programování. 2. Popis algoritmu pomocí vývojového diagramu. 3. Překlad, sestavení a spuštění programu a základy práce s IDE. Základní knihovny jazyka. Nástroje pro vstupně výstupní operace. 4. Základní prvky programu. Způsob zadávání hodnot, výrazů a příkazů v programu. Reprezentace hodnot v paměti. Základní typy objektů a operací, které s nimi můžeme provádět. Rozsah platnosti objektu. 5. Větvení programu a cykly. 6. Pole. Způsob práce s polem hodnot stejných typů, testování rovnosti a přesouvání hodnot pole. 7. Dvojrozměrné a vícerozměrné pole, zásobník, fronta, dynamické pole a asociativní pole z hlediska uživatele. 8. Časová složitost algoritmů, Algoritmy hledání v poli (lineární vyhledávání se zarážkou, binární vyhledávání). Řadící algoritmy Bubble Sort, Select Sort, Insert Sort. 9. Funkce, definice a použití. Rekurzivní funkce. Řadící algoritmus QuickSort. 10. Struktury a třídy. Základy objektově orientovaného programování. 11. Vztahy mezi objekty, skládání objektů. Asociace, agregace a kompozice. 12. Správa paměti, automatická (na zásobníku), statický blok, dynamická alokace (na haldě). 13. Nalezení chyb, ladění programu, sledování průběhu programu. Druhy výjimek v programu a jejich zpracování. 14. Tvorba dokumentace a testování softwaru.
|
Studijní aktivity a metody výuky
|
Přednášení, Cvičení na počítači
- Účast na výuce
- 16 hodin za semestr
- Příprava na zápočet
- 40 hodin za semestr
- Domácí příprava na výuku
- 79 hodin za semestr
|
Výsledky učení |
---|
Odborné znalosti |
---|
Definuje co je to překlad, sestavení a spuštění programu. |
Definuje co je to překlad, sestavení a spuštění programu. |
Popíše co je to proměnná, zásobník a halda. |
Popíše co je to proměnná, zásobník a halda. |
Vypíše syntaxi aritmetických a boleanovských výrazů, příkazů pro větvení programů a cyklů a funkcí. |
Vypíše syntaxi aritmetických a boleanovských výrazů, příkazů pro větvení programů a cyklů a funkcí. |
Zdůvodní vhodnost použití různých typů proměnných a to jak zabudovaných tak i uživatelsky definovaných jako je pole a struktura. |
Zdůvodní vhodnost použití různých typů proměnných a to jak zabudovaných tak i uživatelsky definovaných jako je pole a struktura. |
Vysvětlí výhody organizace kódu pomocí funkcí a tříd. |
Vysvětlí výhody organizace kódu pomocí funkcí a tříd. |
Defines what compiling, building and running a program is. |
Defines what compiling, building and running a program is. |
Describes what a variable, stack, and heap are. |
Describes what a variable, stack, and heap are. |
Lists the syntax of arithmetic and Boolean expressions, program branching statements, and loops and functions. |
Lists the syntax of arithmetic and Boolean expressions, program branching statements, and loops and functions. |
Justifies the appropriateness of using different types of variables, both built-in and user-defined, such as array and struct. |
Justifies the appropriateness of using different types of variables, both built-in and user-defined, such as array and struct. |
Explain the advantages of organizing code using functions and classes. |
Explain the advantages of organizing code using functions and classes. |
Odborné dovednosti |
---|
Analyzuje problém a navrhne jeho rešení pomocí počítačového programu. |
Analyzuje problém a navrhne jeho rešení pomocí počítačového programu. |
Použije vhodné konstrukce z hlediska organizace zdrojového kódu a efektivity programu. |
Použije vhodné konstrukce z hlediska organizace zdrojového kódu a efektivity programu. |
Vytvoří zdrojový kód programu. |
Vytvoří zdrojový kód programu. |
Přeloží, sestaví a spustí program s pomocí integrovaného vývojového prostředí. |
Přeloží, sestaví a spustí program s pomocí integrovaného vývojového prostředí. |
Identifikuje a opraví chyby v programu. |
Identifikuje a opraví chyby v programu. |
Analyzes the problem and proposes a solution using a computer program. |
Analyzes the problem and proposes a solution using a computer program. |
Uses appropriate constructs in terms of source code organization and program efficiency. |
Uses appropriate constructs in terms of source code organization and program efficiency. |
Creates the source code of a program. |
Creates the source code of a program. |
Compile, assemble and run the program using an integrated development environment. |
Compile, assemble and run the program using an integrated development environment. |
Identifies and corrects errors in the program. |
Identifies and corrects errors in the program. |
Vyučovací metody |
---|
Odborné znalosti |
---|
Cvičení na počítači |
Cvičení na počítači |
Přednášení |
Přednášení |
Hodnotící metody |
---|
Písemná zkouška |
Písemná zkouška |
Doporučená literatura
|
-
Hunt, Andrew. Programátor pragmatik : jak se stát lepším programátorem a vytvářet kvalitní software. Vyd. 1. Brno : Computer Press, 2007. ISBN 978-80-251-1660-9.
-
KEOGH, J. DAVIDSON, K. Datové struktury bez předchozích znalostí. Praha : Computer Press, 2006. ISBN 80-251-0689-6.
-
Keogh, James Edward. OOP bez předchozích znalostí : průvodce pro samouky. Vyd. 1. Brno : Computer Press, 2006. ISBN 80-251-0973-9.
-
McConnell, S. Dokonalý kód. Brno: Computer press,, 2006.
-
Pšenčíková, Jana. Algoritmizace. Vyd. 1. Kralice na Hané : Computer Media, 2007. ISBN 978-80-86686-80-9.
|