Course detail

Computers and Programming 2

FEKT-KPC2AAcad. year: 2018/2019

In the course will learned basic knowleges of C programming.
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:
- designing algorithms and programming in C, using basic types and structures and functions
- work with memory and files
- reading and understanding simple source code
- work with basic C libraries


Attending KPC1 course or similar.


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)
RICHTER, M., PETYOVSKÝ, P., HORÁK, K., KALOVÁ, I. elektronicke texty Prakticke programovani v cpp SL. Brno: 2004. (CS)
Herout,P.: Učebnice jazyka C. Kopp. ISBN: 978-80-7232-383-8 (CS)
Kernigham, B.W. Richie, D.M (Virius,M.): Programovací jazyk C. Brno. Computer Press, 2006. ISBN 80-251-0897-X (CS)
Knuth, D.E.: Umění programování. Brno. Computer Press. 2008. EAN 9788025120255 (CS)
Wróblewski,P.: Algoritmy – Datové struktury a programovací techniky. Brno. Computer Press.2004. ISBN 80-251-0343-9 (CS)
Knuth, D.E: The Art of Computer Programming (TAOCP), Reading, Meassachusetts, Addison-Wesley, 1997, ISBN 0-201-89683-4 (EN)
Kernigham, B.W. Richie, D.M.: C Programming Language, Prentice Hall, 1988, ISBN 0-13-110362-8 (EN)

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 home exercises during the term.

Assesment methods and criteria linked to learning outcomes

Up to 10 points - knowledges during the exercises, up to 90 points for the homeworks during semester.

Language of instruction


Work placements

Not applicable.

Course curriculum

1) Course overwiev. Language history. Program structure and source code creation. Bit operations. Preprocessor.
2) Algorithms - sorting.
3) Standard and formated I/O.
4) Work with files.
5) Enum. State diagram, state machime. Math.h library.
6) Address, data type, pointer, value - and their realations. Pointer arithmetics.
7) Pointer and function.
8) Dynamic memory, alocation (stdlib.h). Fields in more dimensions.
9) Lifetime of variables. Strings, library for string manipulation - string.h.
10) .User defined composite types - struct, union, enum, bitfield.
11) Inline functions. Lists. Binary trees.
12) C99, C1X. _Bool (stdbool.h), complex, literals.
13) Const, volatile, restrict. Programming styles.

Content of seminars: practical exercises based on lecture topics.


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 EEKR-BK Bachelor's

    branch BK-AMT , 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