Subject description - BE5B33PRG

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
BE5B33PRG Programming Essentials Extent of teaching:2+2c
Guarantors:Reinštein M., Svoboda T. Roles:P Language of
Teachers:Reinštein M. Completion:Z,ZK
Responsible Department:13133 Credits:6 Semester:Z


The course focuses on understanding and mastering basic design principles of algorithms. It develops data abstraction coupled with the essential programming patterns. The emphasis is on creating readable and reusable programs.

Course outlines:

Introduction and course organization, evolution of programming languages. Algorithm design, the way of writing, flowcharts. Structure of a computer program. Problem decomposition. Variables, expressions, basic data types and their representation. Type conversions. Functions, pure and modifiers. Branching and loops, if-then-else, case, for, while. Data structures, arrays, strings. Pointers.
I/ O operations, reading and writing text and binary files.
Programming styles, coding conventions, estimating complexity of the implementation, asymptotic notation. Advanced data structures - structs, hash arrays. Debugging and testing. Making code human readable and programs reusable. Overview of programming languages variety.

Exercises outline:


Allen Downey. Think Python, How to Think Like a Computer Scientist. Green Tea Press, 2009


None. Only basic computer skills like editing ascii files.



Subject is included into these academic programs:

Program Branch Role Recommended semester
BEECS Common courses P 1
BPEECS_2018 Common courses P 1

Page updated 22.3.2019 17:49:48, semester: Z,L/2020-1, L/2019-20, Z,L/2018-9, Z/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)