 |
Detailed information |
Original study plan |
Master's programme Computer Science 2025W |
Learning Outcomes |
Competences |
Students have acquired a deep understanding of the fundamental principles and paradigms of programming languages, including functional, imperative, and object-oriented paradigms. They can critically evaluate various programming languages based on their historical development, implementation choices, and design principles, identifying their strengths and limitations. Students are familiar with different type systems. They know about lambda-expressions and higher-order functions and evaluation strategies in various languages.
|
|
Skills |
Knowledge |
- Analyze the historical evolution and classification of programming languages (K4)
- Understand Lambda Calculus as a foundation of programming languages (K1, K2)
- Understand and be able to apply the fundamental concepts of functional and object-oriented programs (K2, K6)
- Design and use higher-order functions and implement non-strict evaluation (K3, K6)
- Compare and contrast type systems in functional, imperative, and object-oriented languages (K2, K5)
- Understand and be able to apply the principles and different forms of genericity and type extensions (K2, K6)
- Understand the principles of the logic programming language Prolog (K2)
|
- Overview of programming languages, including classification and history
- Lambda Calculus as a foundational concept in functional programming
- Object-oriented programming paradigms
- Type systems in different programming paradigms, including static and dynamic typing
- The role of genericity and type extensions in programming languages
- Concepts of higher-order functions and non-strict evaluation
- Logical and rule-based programming languages, such as Prolog
- Domain-specific languages and their specialized application areas
|
|
Criteria for evaluation |
Written exam at the end of the semester as well as solutions to the programming assignments.
|
Methods |
Slide-based presentation, exercises
|
Language |
Englisch |
Study material |
see http://ssw.jku.at/Teaching/Lectures/POPL/
|
Changing subject? |
No |
Further information |
see http://ssw.jku.at/Teaching/Lectures/POPL/
|
Corresponding lecture |
in collaboration with any Complementary course (1.5 ECTS) in the master's program Computer Science equivalent to INMSPKVPOPL: KV Prinzipien von Programmiersprachen (4.5 ECTS)
|
|