|
Lecturer(s)
|
-
Beltran Prieto Luis Antonio, MSc.
-
Vogeltanz Tomáš, Ing. Ph.D.
-
Král Erik, Ing. Ph.D.
-
Vařacha Pavel, Ing. Bc. Ph.D.
-
Skovajsa Jan, Ing. Ph.D.
|
|
Course content
|
- Common programming paradigms, declarative programming, imperative programming, functional programming, object-oriented programming. Representing algorithm using flowchart. - Compilation, build and run of programm and basics of work with IDE. - Basic programming components. Representing values, expressions and statements in program. Values reprezentation in memory. Basics objects and its operations. Object Lifetime, Scope, Visibility, and Linkage. - Program Control flow. Conditional statements, case and switch statements, looping statements. - Array. Homogenous arrays, equality of arrays, asignements of array values. One and multidimensional arrays. Dynamic array, Associative array from the point of user. - Function, definition and usage. Recursive functions. - Object realations. Object embedding. Association, aggregation and composition. - Memory management, automatic (on stack) memory allocation, static block, dynamic allocation (on heap). Garbage collector. - How to find a bugs, debugging, control flow visualition. Exception categories and exception handling. - Documentation and software testing. - Common language platform libraries. Input-output tools. - Reusable libries development and usage of third-party libraries. - Case study.
|
|
Learning activities and teaching methods
|
Lecturing, Monologic (Exposition, lecture, briefing), Methods for working with texts (Textbook, book), Exercises on PC
- Participation in classes
- 42 hours per semester
- Preparation for course credit
- 20 hours per semester
- Home preparation for classes
- 20 hours per semester
- Term paper
- 26 hours per semester
|
| prerequisite |
|---|
| Knowledge |
|---|
| Fundamentals of algorithmization. |
| Fundamentals of algorithmization. |
| learning outcomes |
|---|
| 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. |
| 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. |
| Skills |
|---|
| 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. |
| 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. |
| teaching methods |
|---|
| Knowledge |
|---|
| Methods for working with texts (Textbook, book) |
| Methods for working with texts (Textbook, book) |
| Exercises on PC |
| Exercises on PC |
| Lecturing |
| Monologic (Exposition, lecture, briefing) |
| Lecturing |
| Monologic (Exposition, lecture, briefing) |
| assessment methods |
|---|
| Written examination |
| Written examination |
|
Recommended literature
|
-
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.
|