Course detail
Programming Seminar
FIT-IPSAcad. year: 2018/2019
Dynamic memory allocation, pointer and reference data taype. 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 ot message passing interface. Problematics of page faults and related performance effects.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
- Student is able to explain problems of program execution, she/he can explain dynamic memory allocation.
- Student can use state automata in program control.
- Student manages application of regular expressions.
- Student manages implementation of parallel programs.
- Student is able to identify decrease of program performance due to memory accesses..
Prerequisites
Co-requisites
Planned learning activities and teaching methods
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.
Course curriculum
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Kernighan and Ritchie. The C Programming Language, 2nd edition. Chapter A. Storage Allocator for C maloc and free. 1989.
Maged M. Michael. Scalable lock-free dynamic memory allocation. In Proc. of PLDI'04. doi: 10.1145/996841.996848
Classification of course in study plans
Type of course unit
Seminar
Teacher / Lecturer
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 on performance.
- Accreditation exam.