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
                                        Link: Course Link 
                                         
                         
                        