Course details

Introduction to Programming Systems

IZP Acad. year 2024/2025 Winter semester 7 credits

Basic programming construction 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. Debugging, testing and documentation of the program. Concepts will be illustrated by using appropriate programming language. (ISO/IEC 9899:1999 Programming languages - C).

Guarantor

Course coordinator

Language of instruction

Czech, English

Completion

Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 12 hrs seminar
  • 20 hrs pc labs
  • 7 hrs projects

Assessment points

  • 54 pts final exam (written part)
  • 12 pts mid-term test (written part)
  • 10 pts numeric exercises
  • 24 pts projects

Department

Lecturer

Instructor

Learning objectives

Familiarize yourself with data organization when solving problems. Actively master basic algorithms and be able to apply them in practical problems. Familiarize yourself with the principles of program testing. Learn how to use program debugging tools. Learn to document, defend and present achieved results.


The student will learn how to write programs in high programming languages. The student will also acquire basic English terminology of programming,  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. 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.

Prerequisite knowledge 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., Ritchie, D., M.: Programovací jazyk C, Computer Press, Brno, 2006, ISBN 80-251-0897-X.
  • Schildt, H.: Nauč se sám C, SoftPress s.r.o, Praha, 2001, ISBN 80-86497-16-X.
  • Teaching materials available on WWW.
  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5.
  • Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-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.

Fundamental literature

  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5. 
  • Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • 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. 
  • The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
  • Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937. 

Syllabus of lectures

  1. Introductory information on the organization of teaching. Versioning and working tools of the programmer.
  2. Principles of programming languages. Control structures of programming languages.
  3. Pointer type, field, function.
  4. Text files, standard input/output. Structured data types.
  5. Debugging programs.
  6. Recurrent problems, numerical calculations and algorithms.
  7. Vectors and matrices.
  8. Search and sort.
  9. Recursion in programming.
  10. Advanced program debugging, verification and validation, source code documentation.
  11. Dynamic data structures.
  12. Joint structures.
  13. Modular structure of the program.

Syllabus of seminars

  1. Development tools.
  2. Basic field work, string, manual pages.
  3. Work with the field, functions.
  4. Standard input and output, read from/write to file.
  5. Debugging programs.
  6. Iterative calculations.
  7. Control loop, automaton.
  8. Dynamic memory allocation.
  9. Recursion.
  10. Advanced Debugging and Documentation.
  11. Dynamic structures.
  12. Modular structure of programs.

Syllabus of computer exercises

  1. First programs and basic constructions
  2. Cycle, first work with fields
  3. Strings
  4. Functions and nested loops
  5. Data structures
  6. Introduction to indicators
  7. Work with pointers
  8. Dynamic allocation, debugging techniques and tools
  9. Algorithmization, recursion
  10. Structured data types

Syllabus - others, projects and individual work of students

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

Progress assessment

  • Computer exercises: A student can earn 10 points during the semester. Typically, a student can earn 1 point for active participation in each of the 10 exercises. The form and conditions for making up missed classes will be determined by the instructor.
  • Project work: 2 projects are to be handed in during the course at the specified times, for which a total of 24 points may be obtained. The project assignments will be available at least 2 weeks before the submission deadline.
  • Midterm written examination: A written test will be given during the semester for which the student may earn 12 points. The midterm test does not have an alternate date.
  • Credit: In order to receive credit for entering the final exam, a student must earn at least 23 points in the sum of the practicals, projects, and the midterm test. The student must also earn at least 6 points for the computer exercises and 1 point for each project submitted. If fraudulent behaviour (forbidden collaboration on a project or plagiarism) is detected, a credit will not be awarded, and disciplinary action will be considered.
  • Final written examination: The written examination with one regular and two make-up dates is graded with 54 points. To receive points on the exam, it must be scored at a minimum of 23 points. Otherwise, the exam will be scored 0 points.

How to contact the teacher

Teachers have consultation hours.

Schedule

DayTypeWeeksRoomStartEndCapacityLect.grpGroupsInfo
Mon comp.lab *) 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N203 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx
Mon comp.lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Mon comp.lab *) 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N104 N105 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx
Mon lecture 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures D0206 D105 14:0015:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Mon comp.lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Mon comp.lab 2024-10-07 N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Mon comp.lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Mon comp.lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. of lectures N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Tue comp.lab lectures N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Tue comp.lab lectures N103 10:0011:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Tue comp.lab lectures N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Tue comp.lab lectures N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Tue comp.lab lectures N104 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Tue comp.lab *) lectures N105 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx
Tue comp.lab lectures N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Tue comp.lab lectures N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Tue comp.lab 1., 2., 3., 5., 6., 7., 8., 9., 10., 11., 12., 13. of lectures N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
Tue comp.lab 2024-10-08 N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Tue comp.lab lectures N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Tue comp.lab lectures N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Tue comp.lab 1., 2., 3., 5., 6., 7., 8., 9., 10., 11., 12., 13. of lectures N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
Tue comp.lab 2024-10-08 N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Wed comp.lab lectures O204 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Wed comp.lab lectures O204 10:0011:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Wed comp.lab lectures N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Wed exam 2024-10-30 D0206 D105 16:0017:00 Půlsemestrální test (skupina 1)
Wed lecture 1., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13. of lectures D105 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Wed lecture 1., 3., 4., 5., 6., 7., 8., 11., 12., 13. of lectures D0206 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Wed lecture 2024-09-25 D0206 D105 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Polčák
Wed comp.lab lectures N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Wed comp.lab lectures N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Lazúr
Wed comp.lab lectures N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Dubovec
Wed seminar 1., 3., 4., 5., 6., 7., 8., 9., 10., 11., 13. of lectures D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Wed seminar 1., 3., 4., 5., 6., 7., 8., 11., 13. of lectures D0206 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Wed seminar 2024-09-25 D0206 D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Dolejška
Wed seminar 2024-12-04 D0206 D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx
Wed comp.lab lectures N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Wed comp.lab lectures N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Lazúr
Wed comp.lab lectures N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Dubovec
Thu exam 2024-10-31 D0206 D105 08:0009:00 Půlsemestrální test (skupina 1)
Thu lecture 1., 2., 3., 7., 8., 9., 13. of lectures D0206 D105 08:0010:50470 1BIB 2BIA 2BIB 30 - 49 xx Polčák
Thu lecture 4., 5., 6., 10., 11., 12. of lectures D0206 D105 08:0010:50470 1BIB 2BIA 2BIB 30 - 49 xx Jeřábek
Thu comp.lab lectures N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Rozsíval
Thu seminar lectures D0206 D105 11:0011:50470 1BIB 2BIA 2BIB 30 - 49 xx Dolejška
Thu comp.lab lectures N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Zavřel
Thu comp.lab lectures N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Thu comp.lab lectures N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Jeřábek
Thu comp.lab lectures N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Zavřel
Thu comp.lab lectures N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Thu comp.lab lectures N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Jeřábek
Fri comp.lab lectures N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Fri comp.lab lectures N104 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Fri comp.lab lectures N105 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Rozsíval
Fri comp.lab lectures N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Polčák
Fri comp.lab lectures N104 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Fri comp.lab lectures N105 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Škarvada
Fri comp.lab *) lectures N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx
Fri comp.lab lectures N104 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Fri comp.lab *) lectures N105 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx
It is not possible to register this class in Studis. (Some exercises may be opened later if needed, but this is not guaranteed.)

Course inclusion in study plans

  • Programme BIT, 1st year of study, Compulsory
  • Programme BIT (in English), 1st year of study, Compulsory
Back to top