Faculty of Information Technology, BUT

Course details

Introduction to Programming Systems

IZP Acad. year 2004/2005 Winter semester 7 credits

Current academic year

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


Language of instruction

Czech, English


Examination (written)

Time span

39 hrs lectures, 12 hrs pc labs, 14 hrs projects

Assessment points

50 exam, 15 half-term test, 35 projects




Bartík Vladimír, Ing., Ph.D. (DIFS FIT BUT)
Bednář David, Ing. (DIFS FIT BUT)
Bidlo Radek, Ing. (DIFS FIT BUT)
Martinek David, Ing. (DIFS FIT BUT)
Novosad Petr, Ing. (DITS FIT BUT)
Smrčka Aleš, Ing., Ph.D. (DITS FIT BUT)

Subject specific learning outcomes and competences

Student acquaints with the methods of analysing and designing simple computer algorithms. Student will introduced to the fundamental concepts of programming languages. Student gets up how to write programs in high programming languages. Student gets up how to use EBNF to describe programming language syntax. Student acquires basic English terminology of programming , syntax, and semantics of programming language.

Generic learning outcomes and competences

Student will learn to solve simple problems by computer aided. 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 basic knowledge of data representation in memory. To make the acquaintance of evaluate algorithm complexity. To make the acquaintance of testing principles of programs. To possess active basic algorithms. To learn how to document, present and defend the reached results.

Study literature

  • Teaching materials available on WWW
  • Kernighan, B. W.: The Practice of Programming, Addison-Wesley, 2003, ISBN 020161586X

Fundamental literature

  • Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001 

Syllabus of lectures

  • Properties of algorithms, notations for describing algorithms.
  • Problem solving techniques. Design and implementation of algorithms
  • Principles of high level programming languages. Symbols and separators, constants, identifiers, variables, numbers repesentation, labels.
  • The concept of data. Simple data types. Expression and statements.
  • Control structures. Blocks, scope and activation.
  • Functions, parameters of functions.
  • Text file standard input and output.
  • Structured data types.  
  • Recursion.
  • Pointer types and dynamic variables. Linked structures.
  • Sorting.
  • Searching.
  • Program verification, debugging, documentation.

Progress assessment

Evaluated home assignments with the defence: 35 points. Mid-term written examination: 15 points. Final written examination: 50 points.

Controlled instruction

  • Realisation of 4 home assignments
  • Demonstration of home assignments during lab experiments
  • Delivered and controlled documentation of 2 home assignments
  • Mid-term written test
  • Final written examination.

Mid-term exam has not alternative. Final exam has two additional alternatives.

Back to top