Course details

Introduction to Programming Systems

IZP Acad. year 2020/2021 Winter semester 7 credits

Algorithms and problem solving: the strategy of problem-solving, structured decomposition, concept and features of the algorithm. Basic programming construction: syntax and semantics of high programming language, variables, types, expressions, control structures, procedures and functions, parameter passing, input/output, exceptional state processing. Basic data structures: simple data types, structured data types: array, record, file, strings. Dynamic data structures, the concept of pointers. Strategy for selecting an appropriate data structure. Recursion, the concept of recursion. Global and local variables. Simple recursive functions (procedures). Modular Design and abstraction. Concepts will be illustrated by using appropriate programming language. (ISO/IEC 9899:1999 Programming languages - C).


Deputy Guarantor

Language of instruction



Credit+Examination (written)

Time span

39 hrs lectures, 12 hrs exercises, 22 hrs pc labs, 5 hrs projects

Assessment points

54 exam, 12 mid-term test, 10 exercises, 24 projects




Andriushchenko Roman, Ing. (DITS FIT BUT)
Češka Milan, RNDr., Ph.D. (DITS FIT BUT)
Dvořák Tomáš, Ing. (DIFS FIT BUT)
Grézl František, Ing., Ph.D. (DCGM FIT BUT)
Husa Jakub, Ing. (DCSY FIT BUT)
Hynek Jiří, Ing., Ph.D. (DIFS FIT BUT)
Kišš Martin, Ing. (DCGM FIT BUT)
Klobučníková Dominika, Ing. (DIFS FIT BUT)
Malík Viktor, Ing. (DITS FIT BUT)
Očenášek Pavel, Mgr. Ing., Ph.D. (DIFS FIT BUT)
Pánek Richard, Ing. (DCSY FIT BUT)
Pavela Jiří, Ing. (DITS FIT BUT)
Pomikálek Jiří, Ing. (DCGM FIT BUT)
Rozman Jaroslav, Ing., Ph.D. (DITS FIT BUT)
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT)
Škandera Juraj, Mgr. (DCGM FIT BUT)
Tomko Martin, Ing. (DIFS FIT BUT)
Veigend Petr, Ing. (DITS FIT BUT)
Vlnas Michal, Ing. (DCGM FIT BUT)
Zachariáš Michal, Ing., Ph.D. (DCGM FIT BUT)
Žufan Petr, Ing. (DCSY FIT BUT)

Subject specific learning outcomes and competences

Student acquaints with the methods of analysing and designing simple computer algorithms. The fundamental concepts of programming languages will be introduced to the student. The student will learn how to write programs in high programming languages and how to understand and use the EBNF to describe programming language syntax. The student will also acquire basic English terminology of programming, syntax, and semantics of programming language. The student will be acquainted with testing principles of programs. The student will learn how to document, to present, and to defend the reached results.

Generic learning outcomes and competences

The student will learn the computer-aided solving of simple problems by elaborating projects. The student will learn to create the program documentation and defend the results of project solving.

Learning objectives

To grasp an analysis of problems and to determine basic algorithms for their solving. To acquaint oneself with principles and features of high programming language and to possess them for implementing of algorithms. To learn how to use tools for program debugging. To get the basic knowledge of data representation in the memory of the computer. To make the acquaintance of testing principles of programs. To possess active basic algorithms. To learn how to document, to present, and to defend the reached results.

Why is the course taught

After taking the Introduction to Programming Systems, the student should be able to understand the basic notions, algorithms, and principles of high-level programming languages. A student will have a good skill of the programming and debugging in C language. The knowledge can be used in various areas of software development.

Prerequisite kwnowledge and skills

This course is placed in the winter term of the first year of the bachelor's study programme. Thus, we expect that students have the high school level knowledge of mathematics and using computers.

Study literature

  • McConnell, S.: Code Complete, Microsoft Press, 2004, ISBN 0735619670.
  • Kernighan, B. W.: The Practice of Programming, ADDISON-WESLEY, 2003, ISBN 020161586X.
  • Teaching materials available on WWW.

Fundamental literature

  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5. 
  • The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
  • Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9.
  • Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937. 
  • Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
  • Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001.

Syllabus of lectures

  1. Introduction to the arrangement of studying. Structure and goals of classes. Properties of algorithms, notations for describing algorithms.
  2. Problem-solving techniques. Design and implementation of algorithms.
  3. Principles of high-level programming languages. Symbols and separators, constants, identifiers, variables, numbers representation, labels.
  4. The concept of data. Simple data types. Expressions and statements.
  5. Control structures. Blocks, scope, and activation.
  6. Functions, parameters of functions.
  7. Programs debugging.
  8. Text files, standard input and output.
  9. Structured data types.
  10. Recursion in programming.
  11. Pointer types and dynamic variables. Linked structures.
  12. Advanced programs debugging, verification, validation and documentation of source code.
  13. The modular construction of program.

Syllabus of numerical exercises

Demonstration lessons:

  1. The elementary program development tools
  2. Programs compilation and running
  3. Simple programs in C language
  4. Data types, data types casting
  5. Control structures
  6. Functions, working with strings
  7. Basic debugging methods, debugging and profiling tools
  8. Programs input and output
  9. Recursion
  10. Working with memory
  11. Source code documentation, testing basics
  12. Modular programming, basics of plug-ins


Syllabus of computer exercises

  1. Operating instructions, log in the intranet, registration at the laboratory, email instruction, news groups IZP, Unix for a beginner, Dev C++ environment.
  2. Next seminars correspond to the content of individual lectures and demonstrate the presented topics. Defences of 3 projects. Computer practises contents: Making of programs, functions. Control structures, strings and studio. Pointer type, storage allocation. File operations. Recursive problems solving. Matrix operations.

Syllabus - others, projects and individual work of students

  1. Work with text.
  2. Working with data structures.

Progress assessment

  • Evaluated home assignments with the defence - 26 points.
  • Computer practices - 10 points.
  • Mid-term written examination - 12 points.
  • Final written examination - 54 points.

Controlled instruction

  • Realisation and delivery of 2 home assignments.
  • Demonstration of home assignments during computer practises.
  • 11 computer practices.
  • Delivered and controlled the source code documentation of one project.
  • Mid-term written test.
  • Final written examination. The minimal number of points which can be obtained from the final exam is 20. Otherwise, no points will be assigned to a student.

Exam prerequisites

  • The student has to get at least 20 of the points from the projects, practise and mid-term test for receiving the credit and then for entering the final exam.
  • Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action can be initiated.


Monlecturelectures E104 E105 E112 09:0010:50 1BIB 2BIA 2BIB xx
Monlecture2., 3., 4., 5., 7., 8., 9., 10., 11., 12. of lectures E112v 09:0010:50YT, ZP
Monother2021-02-01 C236 12:0016:50Schůzka as. IZP - písemky 1. OT 3,4
Monexam2021-02-01 A218 C228 D0206 D0207 D105 E104 E105 E112 L314 M103 13:0015:50 1BIA 1BIB 2BIA 2BIB 1. oprava
Monlecturelectures E104 E105 E112 13:0013:50 1BIB 2BIA 2BIB xx
Monlecture2., 3., 4., 5., 6., 7., 8., 9., 10., 11. of lectures E112v 13:0013:50YT, ZP
Moncomp.lablectures N103 15:0016:50 1BIB 30 Asistent Husa
Moncomp.lablectures N104 15:0016:50 1BIB 31 Asistent Rozman
Moncomp.lablectures N105 15:0016:50 1BIB 32 Asistent Vlnas
Moncomp.lablectures N103 17:0018:50 1BIB 33 Asistent Husa
Moncomp.lablectures N104 17:0018:50 1BIB 34 Asistent Kišš
Moncomp.lablectures N105 17:0018:50 1BIB 35 Asistent Vlnas
Moncomp.lablectures N103 19:0020:50 1BIA xx Asistent Škandera - (tpl 50)
Moncomp.lablectures N104 N105 19:0020:50 1BIB 2BIA xx Volné využití
Tueother2021-01-19 C228 07:0007:50Schůzka as. IZP - písemky ŘT 3,4
Tueexam2021-01-19 A112 A113 A218 C228 D0206 D0207 D105 E104 E105 E112 L314 08:0010:50 1BIA 1BIB 2BIA 2BIB řádná
Tuecomp.lablectures N103 08:0009:50 1BIA 10 Asistent Klobučníková
Tuecomp.lablectures N104 08:0009:50 1BIA 11 Asistent Malík
Tuecomp.lablectures N103 10:0011:50 1BIA 12 Asistent Klobučníková
Tuecomp.lablectures N104 10:0011:50 1BIA 13 Asistent Rozman
Tueexam2021-01-19 A112 A113 A218 C228 D0206 D0207 D105 E104 E105 E112 G108 G202 L314 M103 M104 M105 N103 N104 N105 N203 N204 N205 O204 11:0013:50 1BIA 1BIB 2BIA 2BIB řádná
Tuecomp.lablectures N103 16:0017:50 1BIA 14 Asistent Husa
Tuecomp.lablectures N104 16:0017:50 1BIB 36 Asistent Pavela
Tuecomp.lablectures N103 18:0019:50 1BIA 15 Asistent Husa
Tuecomp.lablectures N104 18:0019:50 1BIA xx Asistent Dvořák - (tpl 47)
Wedcomp.lablectures N103 08:0009:50 1BIA 16 Asistent Pánek
Wedcomp.lablectures N104 08:0009:50 1BIA 17 Asistent Hynek
Wedcomp.lablectures N105 08:0009:50 1BIA 18 Asistent Malík
Wedcomp.lablectures N103 10:0011:50 1BIA 19 Asistent Pánek
Wedcomp.lablectures N104 10:0011:50 1BIA 20 Asistent Tomko
Wedcomp.lablectures N105 10:0011:50 1BIA 21 Asistent Očenášek
Wedcomp.lablectures N103 12:0013:50 1BIB 37 Asistent Kišš
Wedcomp.lablectures N104 12:0013:50 1BIB 38 Asistent Češka
Wedcomp.lablectures N105 12:0013:50 1BIB 39 Asistent Očenášek
Wedcomp.lablectures N103 14:0015:50 1BIA 22 Asistent Hynek
Wedcomp.lablectures N104 14:0015:50 1BIA 23 Asistent Češka
Wedcomp.lablectures N105 14:0015:50 1BIA 24 Asistent Tomko
Wedlecturelectures D0206 D105 16:0017:50 1BIA 2BIA 2BIB xx
Wedlecture2., 3., 4., 5., 6., 7., 8., 9., 10., 11. of lectures D105v 16:0017:50YT, ZP
Wedcomp.lablectures N103 16:0017:50 1BIB 40 Asistent Očenášek
Wedcomp.lablectures N104 16:0017:50 1BIB 41 Asistent Pavela
Wedcomp.lablectures N105 16:0017:50 1BIB 42 Asistent Husa
Wedcomp.lablectures N103 18:0019:50 1BIA 25 Asistent Pomikálek
Wedcomp.lablectures N104 18:0019:50 1BIA 26 Asistent Žufan
Wedcomp.lablectures N105 18:0019:50 1BIA 27 Asistent Husa
Thucomp.lablectures N103 08:0009:50 1BIB 43 Asistent Pomikálek
Thucomp.lablectures N104 08:0009:50 1BIB 44 Asistent Žufan
Thucomp.lablectures N105 08:0009:50 1BIA xx Asistent Zachariáš - (tpl 49)
Thuother2021-02-11 C236 09:0012:50Schůzka as. IZP - písemky 2. OT 1
Thuexam2021-02-11 A112 A218 C228 10:0012:50 1BIA 2BIB 2. oprava
Thuexam2021-02-11 E104 E105 10:0011:50 1BIA 1BIB 2. oprava
Thulecturelectures D0206 D105 11:0011:50 1BIA 2BIA 2BIB xx
Thulecture2., 3., 4., 5., 6., 7., 8., 9., 10. of lectures D105v 11:0011:50YT, ZP
Thuexerciselectures D0206 D105 12:0012:50 1BIA 2BIA 2BIB xx
Thuexercise1., 2., 3., 4., 5., 6., 7., 8., 9., 10. of lectures D105v 12:0012:50YT, ZP
Thucomp.lablectures N103 18:0019:50 1BIA xx Asistent Veigend - (tpl 48)
Thucomp.lablectures N104 18:0019:50 1BIA xx Asistent Škandera - (tpl 46)
Thucomp.lablectures N105 18:0019:50 2BIA 2BIB xx Asistent Pomikálek - (tpl 45)
Fricomp.lablectures N103 08:0009:50 1BIA xx Volné využití
Fricomp.lablectures N104 08:0009:50 2BIB xx Asistent Grézl - (tpl 51)
Fricomp.lablectures N105 08:0009:50 1BIA 28 Asistent Andriushchenko
Friexam2021-01-22 D0206 D0207 09:0011:50 1BIA 1BIB 2BIA 2BIB 1. oprava
Fricomp.lablectures N104 10:0011:50 1BIB xx Asistent Grézl - (tpl 52)
Fricomp.lablectures N105 10:0011:50 1BIA 29 Asistent Andriushchenko
Friexerciselectures E104 E105 E112 13:0013:50 1BIB 2BIA 2BIB xx
Friexercise1., 2., 3., 4., 5., 6., 7., 8., 10. of lectures E112v 13:0013:50TM ?
Friexam2021-01-08 A112 A113 A218 C228 D0206 D0207 D105 E104 E105 E112 G108 G202 L314 M103 M104 M105 N103 N104 N105 N203 N204 N205 O204 14:0016:50 1BIA 1BIB 2BIA 2BIB řádná
Friexam2021-01-22 E104 E105 14:0016:50 1BIA 1BIB 2BIA 2BIB 1. oprava
Friexam2021-01-08 A112 A113 C228 D0206 D0207 D105 E104 E105 E112 G202 17:0019:50 1BIA 1BIB 2BIA 2BIB řádná
Friexam2020-11-20 A112 A113 D0206 D0207 D105 E104 E105 E112 G202 18:0019:50 1BIA 1BIB 2BIA 2BIB Půlsemestrální test

Course inclusion in study plans

  • Programme BIT, 1st year of study, Compulsory
  • Programme IT-BC-3, field BIT, 1st year of study, Compulsory
Back to top