Navigation

19D111PPJ - Principles of Programming Languages

Course specification
Course title Principles of Programming Languages
Acronym 19D111PPJ
Study programme Electrical Engineering and Computing
Module Software Engineering
Type of study doctoral studies
Lecturer (for classes)
  • professor PhD Milo Tomašević
Lecturer/Associate (for practice)
    Lecturer/Associate (for OTC)
      ESPB 9.0 Status elective
      Condition none
      The goal This course provides the concepts underlying the design, semantics, and implementation of programming languages. Students will study formal and practical approaches to language specification and implementation, and compare major language paradigms. The goal is to build a deep understanding of how languages work, how they are described formally, and how features affect implementation and use.
      The outcome Student should deeply understend and know the principles and paradigms of programming languages of broad spectrum, and should be able for practical implementation of basic and advanced concepts.
      Contents
      Contents of lectures Syntax of programming languages. Semantic analysis. Assembly languages. Data types. Subprograms and control abstraction. Linking. Procedural paradigm (imperative and object-oriented). Declarative paradigms (functional and logic). Concurrent and parallel programming. Scripting languages. Code optimization. Run-time system and implementation techniques. Domain-specific languages.
      Contents of exercises
      Literature
      1. Scott M., Aldrich J., Programming Language Pragmatics, 5th edition, Morgan Kaufmann 2025.
      2. R. Sebesta, Concepts of Programming Languages, Pearson, 2016.
      3. R. Harper, Practical Foundations for Programming Languages, Cambridge University Press, 2016.
      Number of hours per week during the semester/trimester/year
      Lectures Exercises OTC Study and Research Other classes
      8
      Methods of teaching lectures, project
      Knowledge score (maximum points 100)
      Pre obligations Points Final exam Points
      Activites during lectures 0 Test paper 70
      Practical lessons 0 Oral examination 0
      Projects
      Colloquia
      Seminars 30