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.

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

Programming in C language. Fundamentals of algorithmization. Basic synchronization primitives. Computer architecture.

Co-requisites

Not applicable.

Recommended optional programme components

Not applicable.

Recommended or required reading

Not applicable.

Planned learning activities and teaching methods

Not applicable.

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.

Language of instruction

Czech, English

Work placements

Not applicable.

Course curriculum

    Syllabus of lectures:

    1. Pointers, dynamic memory allocation.
    2. Stack frames, recursion.
    3. Compilation and debugging of programs.
    4. (computer laboratory)
    5. (computer laboratory)
    6. Finite automata, POSIX regular expressions.
    7. Synchronization of processes.
    8. Deadlock.
    9. (computer laboratory)
    10. (computer laboratory)
    11. Page tables.
    12. Demand paging and cache in relation on performance.
    13. Accreditation exam.

    Syllabus of computer exercises:
    1. Exercising and consulting of task of programming.
    2. Demonstration and solution of a given task.
    3. Exercising and consulting of task concerning operating system.
    4. Demonstration and solution of a given task.

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 abstraction of algorithms and formal automata and models, to reach the connection of theoretic and practical knowledge of a given topic.

Classification of course in study plans

  • Programme IT-BC-3 Bachelor's

    branch BIT , 2. year of study, winter semester, 2 credits, optional

Type of course unit

 

Exercise

20 hours, optionally

Teacher / Lecturer

Syllabus

  1. Pointers, dynamic memory allocation.
  2. Stack frames, recursion.
  3. Compilation and debugging of programs.
  4. (computer laboratory)
  5. (computer laboratory)
  6. Finite automata, POSIX regular expressions.
  7. Synchronization of processes.
  8. Deadlock.
  9. (computer laboratory)
  10. (computer laboratory)
  11. Page tables.
  12. Demand paging and cache in relation on performance.
  13. Accreditation exam.

Projects

6 hours, compulsory

Teacher / Lecturer

eLearning

eLearning: opened course