Course detail
Programming Seminar
FIT-IPS Acad. year: 2019/2020 Winter semester
Dynamic memory allocation, pointer and reference data type. Activation record and recursion. Compilation, binary program invocation. Implementation of state automata. Implementation of algorithms for regular expressions. Program synchronization. Principles of threads and processes. Selected synchronization issues. Introduction to message passing interface. Problematics of page faults and related performance effects.
Language of instruction
Czech
Number of ECTS credits
2
Supervisor
Department
Learning outcomes of the course unit
- The student is able to explain the problems of program execution, she/he can explain dynamic memory allocation.
- Student can use state automata in program control.
- Student manages the application of regular expressions.
- Student manages implementation of parallel programs.
- The student is able to identify a decrease in program performance due to memory accesses.
Prerequisites
Programming in C language. Fundamentals of algorithmization. Basic synchronization primitives. Computer architecture.
Assesment methods and criteria linked to learning outcomes
- Evaluation of the two home assignments solved in pairs of students (max 20 points)
- Evaluation of an accreditation exam (max 80 points)
Exam prerequisites:
The minimal total score of 50 points gained during a semester.
Aims
The goal of the course is to provide a different point of view to key principles of programming and operating systems. In particular, with respect to the abstraction of algorithms and formal automata and models, to reach the connection of theoretic and practical knowledge of a given topic.
The study programmes with the given course
Programme IT-BC-3: Information Technology, Bachelor's
branch BIT: Information Technology, elective
Programme BIT: Information Technology, Bachelor's
specialization BITP: Information Technology, elective
Programme B3A-P: Applied Sciences in Engineering, Bachelor's
branch B-MAI: Mathematical Engineering, elective (voluntary)
Type of course unit
Seminar
20 hours, optionally
Syllabus
- Pointers, dynamic memory allocation.
- Stack frames, recursion.
- Compilation and debugging of programs.
- (computer laboratory)
- (computer laboratory)
- Finite automata, POSIX regular expressions.
- Synchronization of processes.
- Deadlock.
- (computer laboratory)
- (computer laboratory)
- Page tables.
- Demand paging and cache in relation to performance.
- Accreditation exam.
Project
6 hours, compulsory
Syllabus