Course detail

Algorithms and Data Structures

FEKT-BPC-ALDAcad. year: 2018/2019

In the course will learned basic knowleges of C programming on algorithm realization.
Learned knowledges: C language basics, keywords, standard libraries, memory management and pointers, structures, working with files, creating and implementation of new libraries, basic algorithms, programming styles, source code management. Program safety and testing. Embedded C specifications.

Learning outcomes of the course unit

The student is able:
- analyze task and make flowchart
- use common algorithms and make own algoritms based on folowing techniques
- work with keywords, make simple examples of their using
- identify and correctly use proper data types
- work with dynamically allocated memory
- use standart input and output
- work with files
- use basic C libraries
- write simple program usign functions
- use basic algorithms for sortin, searching, linear lists
- understand code of others


Attending BPC-UDP course or similar.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Not applicable.

Planned learning activities and teaching methods

Teaching methods include lectures and computer laboratories. Course is taking advantage of www pages coupled with e-learning (Moodle) system. Student knowledges are tested by exercises during the term.

Assesment methods and criteria linked to learning outcomes

Test on exercises - program based on learned features - cca 40pts.
Exam test - cca 60pts.
The points (up to 100) and requirements for completion of a course are specified by a regulation issued by the lecturer responsible for the course and updated for every year.

Language of instruction


Work placements

Not applicable.

Course curriculum

1 Course overwiev. Basic program parts and the program design. Compilation. Optimalisation. Preprocessor commands.
2 Algorithms - task analysis, block diagrams, how to select variable type, sort algorithms.
3 Standard input and output. Standard header ctype.h
4 Bit operations. File manipulation.
5 Enumeration type and examples of its usage. Standard header math.h.
6 C array data type. Using pointers for value manipulation.
7 Pointers and functions. Arrays and pointer, pointer arithmetics.
8 Memory alocation - stdlib.h. More dimensional arrays. Array of pointers. Pointer to function.
9 Life cycle and usability of diffrend value types. C strings, manipulation with C strings. Standard header - string.h
10 Data structures. Manipulation with data structures and their members.
11 Inline functions. Linked list. Binary tree.
12 Literals. Complex and _Bool data types
13 Type qualifiers - const, volatile, restrict. Programming styles.


Students are educated algorithmic and programming skils, based on C language. Basic properties and structures of language are explained. Simple programs are written with code design, creation and testing explatnation.

Specification of controlled education, way of implementation and compensation for absences

The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.

Classification of course in study plans

  • Programme BPC-AMT Bachelor's, 1. year of study, summer semester, 7 credits, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, summer semester, 7 credits, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer