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
- History and language design
- Lexical elements
- Statements
- Types
- Subprograms, parameter passing
- Exceptions
- Generics
- Program correctness
- Object-oriented programming
- Concurrency
Videos
- 2021.03.17. About the complex PhD exam.
- 2021.03.24. History, design. Lexical elements.
- 2021.03.31. Statements. Types.
- 2021.04.07. Subprograms, parameter passing.
- 2021.04.14. Generics, exceptions.
- 2021.04.21. Object-oriented programming
- 2021.04.28. Program correctness, Concurrency
- 2021.05.05. Library design
Literature
- Nyékyné Gaizler J. (szerk.) et al.: Programozási nyelvek; Egyetemi tankönyv, Budapest, 2003, Kiskapu, 789 o.
- Nyékyné-Gaizler, J. (ed.) et al.: Advanced Programming Languages.
- Sebesta, R.W.: Concepts of Programming Languages Sixth ed. Addison-Wesley, 2003.
- Mitchell, J. C. : Concepts in Programming Languages. Cambridge Univ. Press, 2002.
- Scott, M. L.: Programming Language Pragmatics. Morgan Kaufmann Publishers, 2000.
- Sethi, R.: Programming languages 2nd ed. Addison-Wesley, 1996.
- Meyer, B: Object-Oriented Software Construction 2nd ed. Prentice Hall, 1998.