Course: Programming and Algoritmization

» List of faculties » FAI » AUPKS
Course title Programming and Algoritmization
Course code AUPKS/AE1PA
Organizational form of instruction Lecture + Lesson + Seminary
Level of course Bachelor
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
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.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester