1. Homepage of Dr. Zoltán Porkoláb
    1. Home
    2. Archive
  2. Teaching
    1. Timetable
    2. Bolyai College
    3. C++ (for mathematicians)
    4. Imperative programming (BSc)
    5. Multiparadigm programming (MSc)
    6. Programming (MSc Aut. Sys.)
    7. Programming languages (PhD)
    8. Software technology lab
    9. Theses proposals (BSc and MSc)
  3. Research
    1. Sustrainability
    2. CodeChecker
    3. CodeCompass
    4. Templight
    5. Projects
    6. Conferences
    7. Publications
    8. PhD students
  4. Affiliations
    1. Dept. of Programming Languages and Compilers
    2. Ericsson Hungary Ltd

Programming languages complex exam preparatory lecture for PhD students

Teams

This lecture is organized in the team group

This lecture is in English in the 2023/24 autumn semester.

Topics

  • Development of programming languages (A programozási nyelvek fejlődése, lehetséges osztályaik, tervezési szempontjaik)

  • Lexical elements of programming languages (A programozási nyelvek lexikális elemei)

  • Control structures and statements (Vezérlési szerkezetek, utasítások a programozási nyelvekben. Értékadás, szekvencia és blokk utasítás, feltétel nélküli vezérlésátadás. Elágazási szerkezetek, ciklusszerkezetek, iterátorok)

  • Types (Típusok a programozási nyelvekben (Típusspecifikáció, típusmegvalósítás, típusosztályok, pointer és referencia típusok, típusok ekvivalenciája, típuskonstrukciók - tömbök, direkt szorzat, unió, halmaz támogatása)

  • Abstract data types (Absztrakt adattípusok a programozási nyelvekben - elvárások és eszközök)

  • Subprograms (Alprogramok a programozási nyelvekben. Eljárások és függvények, paraméterátadás-átvételi módok, túlterhelés, rekurzió)

  • Exceptions (A kivételkezelés a programozási nyelvekben, fogalma, kivételek kiváltása, terjedése, kezelése, specifikálása, kivételosztályok)

  • Generics (Sablonok a programozási nyelvekben. Típussal, alprogrammal való paraméterezés, példányosítás, szerződés elv)

  • Program correctness (Helyességbizonyítást támogató programnyelvi eszközök)

  • Object-oriented programming 1 (Objektumorientált programozást támogató elemek a programozási nyelvekben 1. Osztályok és objektumok, objektum létrehozása, inicializálása, példányváltozó, példánymetódus, osztályváltozó, osztálymetódus, öröklődés, polimorfizmus, dinamikus kötés, megbízható átdefiniálás a leszármazottakban)

  • Object-oriented programming 2 (Objektumorientált programozást támogató elemek a programozási nyelvekben 2. A többszörös öröklődés és az interfészek)

  • Concurrent programming (Párhuzamosság a programozási nyelvekben. Alapfogalmak, kommunikációs modellek, szemafor, monitor, fontos nyelvi elemek)

  • Library design (Programkönyvtárak tervezési szempontjai)

Lecture notes

Videos

Literature

  1. Nyékyné Gaizler J. (szerk.) et al.: Programozási nyelvek; Egyetemi tankönyv, Budapest, 2003, Kiskapu, 789 o.
  2. Nyékyné-Gaizler, J. (ed.) et al.: Advanced Programming Languages.
  3. Sebesta, R.W.: Concepts of Programming Languages Sixth ed. Addison-Wesley, 2003.
  4. Mitchell, J. C. : Concepts in Programming Languages. Cambridge Univ. Press, 2002.
  5. Scott, M. L.: Programming Language Pragmatics. Morgan Kaufmann Publishers, 2000.
  6. Sethi, R.: Programming languages 2nd ed. Addison-Wesley, 1996.
  7. Meyer, B: Object-Oriented Software Construction 2nd ed. Prentice Hall, 1998.

Upcoming conferences

Conferences