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.

Instructors: Zbyněk Křivka, Dušan Kolář
Start Date: 2024-02-05
End Date: 2024-05-03
Mode: on campus
Credits: 5 ECTS
Learning Outcomes:
  • 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.
    Workload: 3 hours of lectures and 1 hour of project per week in term
    Prerequisites: Formal Languages and Compilers (IFJ)
    Languages: eng