Seminarium magisterskie

Tematy prac

Aktualnie podejmuję się prowadzenia prac magisterskich związanych tylko z regułowymi bazami wiedzy i wnioskowaniem regułowym.

Lista zagadnień na obronę

Zagadnienia dla osób, których jestem promotorem lub recenzentem.

  1. Translacja programów, kompilator, interpreter, kompilacja do kodu maszynowego, kompilacja do kodu pośredniego, maszyna wirtualna, wpływ rodzaju translacji na mechanizmy języka (np. silna i słaba typizacja).
  2. Pojęcie klasy i obiektu w programowaniu obiektowym. Zakresy widoczności składowych klasy, pola statyczne. Funkcje składowe, funkcje statyczne. Sposoby tworzenia obiektów w językach C++, Java, C# — podobieństwa i różnice. Konstruktory i destruktor — rola, zastosowania, występowanie w różnych językach obiektowych.
  3. Dziedziczenie w programowaniu obiektowym. Klasa bazowa, klasa pochodna. Redefinicja funkcji składowych, modyfikator dostępu protected, konstruktory i destruktor a dziedziczenie. Dziedziczenie wielobazowe.
  4. Polimorfizm w programowaniu obiektowym. Rodzaje polimorfizmu. Pojęcie i rola funkcji wirtualnych. Funkcje wirtualne a dziedziczenie. Funkcje wirtualne w językach C++, Java, C#.
  5. Hermetyzacja w programowaniu obiektowym. Po co stosuje się hermetyzację i jak się ją realizuje. Przykłady.
  6. Metody programowania w warstwie serwerowej aplikacji internetowych. Języki, środowiska, narzędzia, pakiety szablonowe — krótka i ogólna charakterystyka.
  7. Metody programowania w klienckiej aplikacji internetowych. Rola przeglądarki, języki, narzędzia, pakiety szablonowe — krótka i ogólna charakterystyka.
  8. Pojęcie klucza w relacyjnych bazach danych. Typy kluczy, do czego są stosowane klucze poszczególnych typów.
  9. Powiązania pomiędzy tabelami w relacyjnych bazach danych. Rodzaje powiązań. Realizowalnośc powiązań w modelu relacyjnym. Powiązania a klucze.
  10. Odwzorowanie relacyjno-obiektowe (ORM). Przyczyna powstania, do czego są stosowane, najpopularniejsze pakiery ORM. Wady i zalety.