Topics
-
A programozási nyelvek fejlődése, lehetséges osztályaik, tervezési szempontjaik/Development of programming languages.
-
A programozási nyelvek lexikális elemei/Lexical elements of programming languages.
-
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) / Control structures and statements.
-
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) / Types.
-
Absztrakt adattípusok a programozási nyelvekben - elvárások és eszközök / Abstract data types.
-
Alprogramok a programozási nyelvekben (Eljárások és függvények, paraméterátadás-átvételi módok, túlterhelés, rekurzió) / Subprograms.
-
A kivételkezelés a programozási nyelvekben (fogalma, kivételek kiváltása, terjedése, kezelése, specifikálása, kivételosztályok) / Exceptions.
-
Sablonok a programozási nyelvekben (Típussal, alprogrammal való paraméterezés, példányosítás, szerződés elv) / Generics.
-
Helyességbizonyítást támogató programnyelvi eszközök / Program correctness.
-
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) / OOP 1
-
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) / OOP 2.
-
Párhuzamosság a programozási nyelvekben (Alapfogalmak, kommunikációs modellek, szemafor, monitor, fontos nyelvi elemek) / Concurrent programming
-
Programkönyvtárak tervezési szempontjai / Designing libraries.
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.