Course details

Principles of Programming Languages (in English)

IPPe Acad. year 2023/2024 Summer semester 5 credits

The course offers basic classification of programming languages with more detailed explanation of imperative and declarative languages. Explaining imperative paradigm, it will be presented non-structured, structured (both block and modular), and object-oriented programming languages. A brief introduction into functional and logic programming will be studied during explanation of declarative paradigm. The underlying theories are discussed too. Students will be also given an introduction to processing (translation) of presented programming paradigms/languages.


Course coordinator

Language of instruction



Credit+Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 60 pts final exam (written part)
  • 20 pts mid-term test (written part)
  • 20 pts projects




Course Web Pages

Learning objectives

To give an overview: of existing programming paradigms, of range of existing programming languages and their classification, and of requirements on programming language analysis and translation.
Students will be able to classify programming languages. They will be able to use a given programming paradigm on a certain level too. Moreover, basic analysis and compilation issues will be clarified as well.

Recommended prerequisites

Prerequisite knowledge and skills

Formal languages and their models (regular and context-free grammars, finite and pushdown automata); processing of formal languages such as analysis (parsers) and translation (compilers); basic programming skills.

Study literature

  • Lecture notes in PDF file

Syllabus of lectures

  • Introduction, definition of used terms
  • Imperative languages, non-structured programming languages
  • Block-structured programming languages
  • Modular languages
  • Object-oriented languages
  • Some specialties of object-oriented programming languages
  • Comparison of various kinds of imperative programming languages
  • Declarative languages, lambda calculus
  • Functional programming languages
  • Logical programming languages
  • Other declarative programming languages, their comparison
  • Main differences in usage and implementation of declarative and imperative programming languages
  • Conclusion, discussion of the follow-up courses

Syllabus - others, projects and individual work of students

To implement a program for a given simple task in a scripting programming language.

Progress assessment

  • Mid-term exam, for which there is only one schedule and, thus, there is no possibility to have another trial - 20 points.
  • One project should be solved and delivered in a given date during a term - 20 points.

  • Mid-term exam - written form, a test, where answers are given in sentences (open questions), by selection of appropriate answer from offered ones, and by combination of both of these possibilities, no possibility to have a second/alternative trial. (20 points)
  • Projects realization - 1 project (program development according to a given specification) with appropriate documentation. (20 points)
  • Final exam - written form, a test, where answers are given in sentences, by selection of appropriate answer from offered ones, and by combination of both of these possibilities, 2 another corrections trials possible. (60 points)

Exam prerequisites

At the end of a semester, a student must have at least 50 % of points that he or she could obtain during the semester; that means at least 20 points out of 40.


Mon exam 2024-06-03 E105 10:0011:50 3. termín
Mon other 2024-04-29 C228 11:3012:30 IPPe: Project: Oral Defense (Monday)
Mon exam 2024-05-20 E104 13:0014:50 IPPe: 2. termín
Wed exam 2024-03-20 A113 10:0011:30 IPPe: Midterm test
Wed lecture 2., 3., 5., 6., 7., 8., 9., 10., 11., 12. of lectures A113 10:0012:5064 INTE xx Křivka
Wed lecture 2024-02-07 A113 10:0012:5064 INTE xx Havel
Wed lecture 2024-02-28 A113 10:0012:5064 INTE xx Klembara
Thu exam 2024-05-09 E105 13:0014:50 IPPe: 1. termín
Fri other 2024-04-26 C228 09:0009:50 IPPe: Project: Oral Defense (Friday)
Fri other 2024-04-26 C228 13:0014:50 IPPe: Project: Oral Defense (Friday II)
Back to top