|
Vyučující
|
-
Král Erik, Ing. Ph.D.
-
Perůtka Karel, 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, 8. Zásobník, fronta, dynamické pole a asociativní pole z hlediska uživatele. 9. Časová složitost algoritmů, Algoritmy hledání v poli (lineární vyhledávání se zarážkou, binární vyhledávání. Řadíčí algoritmy Bubble Sort, Select Sort, Insert Sort. 10. Funkce, definice a použití. Rekurzivní funkce. 11. Řadící algoritmus QuickSort. 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, Individuální práce studentů
- Domácí příprava na výuku
- 20 hodin za semestr
- Účast na výuce
- 42 hodin za semestr
- Příprava na zápočet
- 20 hodin za semestr
- Semestrální práce
- 26 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í. |
| Vysvětlí výhody organizace kódu pomocí funkcí. |
| 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. |
| Explain the advantages of organizing code using functions. |
| 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 |
|---|
| Individuální práce studentů |
| Přednášení |
| Přednášení |
| Individuální práce studentů |
| Cvičení na počítači |
| Cvičení na počítači |
| Hodnotící metody |
|---|
| Písemná zkouška |
| Písemná zkouška |
| Analýza výkonů studenta |
| Analýza výkonů studenta |
|
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.
|