Zakres egzaminu na studia doktoranckie w dyscyplinie Informatyka
Kandydat powinien wykazać się znajomością tematów objętych podanym niżej wykazem na poziomie wymaganym od magistrantów uniwersyteckich studiów informatycznych.
- Moce zbiorów. Zbiory częśsciowo uporządkowane, punkty stałe. Zbiory dobrze ufundowane i dowodzenie przez indukcję.
- Homomorfizmy i kongruencje. Równościowe definiowanie klas algebr.
- Składnia i semantyka klasycznego rachunku zdań i rachunku predykatów. Pojęcie dowodu formalnego. Twierdzenia o pełności.
- Zbieżność ciągów i szeregów funkcyjnych. Miara i całka Lebesgue'a. Związek z całką Riemanna.
- Liniowa zależność wektorów. Rząd przekształcenia liniowego. Związek macierzy z przekształceniami liniowymi.
- Arytmetyka zmiennopozycyjna, zakres liczb reprezentowalnych i oszacowanie błędu reprezentacji. Przykład analizy błędu wytworzonego zaokrągleniami. Kwadratury. Rząd kwadratury, zbieżność procesu kwadratur. Zagadnienie rozwiązalności układu równań liniowych. Numeryczne rozwiązywanie układów równań, obliczanie wyznacznika, odwracanie macierzy. Uwarunkowanie zadania.
- Gramatyki formalne i automaty oraz ich klasyfikacja. Rozstrzygalne i nierozstrzygalne problemy decyzyjne. Klasy złożoności obliczeniowej, NP-zupełność.
- Semantyczna poprawność algorytmu, koszt pesymistyczny, oczekiwany i zamortyzowany.
- Algorytmy sortowania i selekcji.
- Abstrakcyjne struktury danych (słowniki, kolejki priorytetowe, stosy), metody ich implementacji i zastosowania.
- Formalna semantyka języków programowania. Metoda Floyda-Hoare'a dowodzenia poprawności programów.
- Programowanie imperatywne i deklaratywne. Programowanie obiektowe.
- Analiza leksykalna, składniowa i kontekstowa programu. Generacja kodu. Algorytmy optymalizacji. Zjawiska czasu wykonania programu.
- Metody synchronizacji i komunikacji procesów w systemach scentralizowanych i rozproszonych, przykładowe formalizmy.
- Poprawność programu współbieżnego, podstawowe założenia. Przykłady naruszenia własności poprawności. Klasyczne problemy współbieżności.
- Podstawowe zadania systemu operacyjnego. Typowe problemy powstające przy ich realizacji i główne metody rozwiązywania tych problemów.
- Systemy rozproszone: aspekty sprzętowe i programowe funkcjonowania systemów rozproszonych, metody komunikacji, rozproszone systemy plików, rozproszona pamięć dzielona, przykłady algorytmów rozproszonych.

