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.
|
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
- Home preparation for classes
- 1 hour per semester
- Participation in classes
- 2 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.
|