Course detail

Computers and Programming 2

FEKT-BKC-PC2MAcad. year: 2020/2021

The course is focussed on the basic knowledge of ANSI/ISO C programming. Students learn to design algorithms solving assigned tasks, using appropriate data types or designing custom data structures together with implementation of the solution in ANSI/ISO C language. Algorithms for numerical and text data are presented, students are introduced with the standard libraries, working with files, pointers, dynamic memory allocation and creation of own custom libraries.

Learning outcomes of the course unit

The student is able to:
- explain the function of the C language statements,
- describe the properties of the basic data types,
- propose a structure for the representation of complex data,
- use functions included in the standard libraries,
- propose an algorithm working with multi-dimensional and one-dimensional array,
- propose an algorithm to sort a list of values,
- create a library of functions,
- create an interactive application.


The subject knowledge on the secondary school level is required.


Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

PROKOP, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
PECINOVSKÝ, R., VIRIUS, M. Učebnice programování: základy algoritmizace. Praha: Grada Publishing, 1997 (CS)
RAIDA, Z., FIALA, P. Počítače a programování 2. Edice "Elektronická skripta". Brno: FEKT VUT v Brně, 2002. (CS)
VIRIUS, M. Jazyky C a C++. Komplexní kapesní průvodce. Praha: Grada Publishing, 2005 (CS)

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Requirements for successful completion of the subject are specified by guarantor’s regulation updated for every academic year.

Language of instruction


Work placements

Not applicable.

Course curriculum

1. General course overview. History of the C language, standards and language characteristics. IDE overview. Basic variable types, arrays. Declaration and initialization of variables. Global and local variables. Standard imput and output, basic programs.
2. Expressions, arithmetic conversions, operators. Priorities of operators, assignment.
3. Program branching, loops, conditionals, jumps, recursive notation.
4. Strings, array filed witn NULL terminated string, Literals, ASCII table and charsets.
5. Pointers, pointer to array, pointer arithmetics. Arrays of pointers
6. Functions. Recursive function. Functions and memory.
7. Advanced data types.Union, enum, dynamic variable, pointer. Debugging
8. Dynamic memory allocation
9. Header files and libraries, preprocessor commands.
10. Hands on files, reading and writing
11. Linking of dynamically assigned structures with pointers, linear database tree
12. Const, volatile modificator, new standards in C language


The aim of the course is to introduce students to the problem of general programming habits and algoritmization of technical taksk together with the implementation in ANSI/ISO C programming language.

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 BKC-MET Bachelor's, 1. year of study, summer semester, 5 credits, compulsory

Type of course unit



26 hours, optionally

Teacher / Lecturer

Exercise in computer lab

26 hours, compulsory

Teacher / Lecturer