Zestaw zagadnień na egzamin dyplomowy inżynierski Matematyka; matematyka dyskretna 1. Podstawowe działania na macierzach. 2. Przestrzeń wektorowa: definicja, przykłady, odwzorowania liniowe 3. Układy równań liniowych: definicje, metody rozwiązywania 4. Funkcje: składanie, odwracanie. Funkcje częściowe i całkowite. 5. Właściwości funkcji ciągłych 6. Właściwości funkcji różniczkowalnych 7. Całka Riemanna: definicja, właściwości, twierdzenie Newtona-Leibniza 8. Zbiory i relacje. Działania na nich i zastosowania w informatyce. 9. Formuły logiczne jako narzędzie do wyrażania faktów informatycznych. 10. Relacje równoważności i porządku oraz ich rola w informatyce. 11. Podstawowe własności grafów. Typy grafów ważne w informatyce. 12. Rola rekurencji przy definiowaniu pojęć informatycznych i indukcji przy dowodzeniu poprawności programów. 13. Zmienna losowa i jej podstawowe charakterystyki. 14. Kombinatoryczne techniki zliczania. Programowanie -pojęcia podstawowe 15. Struktura programów w Javie lub C++. 16. Klasyfikacja zmiennych w Javie lub C++. 17. Deklarowanie i definiowanie funkcji w Javie lub C++. 18. Metody przekazywania parametrów 19. Pojęcie wskaźnika i operacje na wskaźnikach; podstawowe zastosowania wskaźników 20. Podstawowe cechy obiektów dynamicznych 21. Zasady hermetyzacji w Javie lub C++. 22. Problematyka dziedziczenia w Javie lub C++. 23. Istota polimorfizmu Metody programowania 24. Narzędzia wspomagające budowanie aplikacji w Javie na przykładzie programu ant 25. Testowanie jednostkowe w Javie na przykładzie JUnit 26. Dostęp do relacyjnych baz danych w Javie na przykładzie JDBC 27. Koncepcja Inversion of Control na przykładzie frameworka Spring 28. Główne cechy programowania strukturalnego (proceduralnego) i obiektowego Algorytmy i struktury danych
29. Metoda dziel i zwyciężaj: przykłady. 30. Organizacja dostępu do zbiorów skończonych, m.in.: stosy, kolejki; Metody reprezentacji i złożoność podstawowych operacji. 31. Pesymistyczna, optymistyczna i średnia złożoność obliczeniowa algorytmów; przykłady. 32. Algorytmy sortowania; przykładowe algorytmy i ich złożoność. 33. Metody wyszukiwania informacji, m.in.: w tablicach i drzewach binarnych. 34. Dynamiczne struktury danych, m.in.: listy i drzewa; metody reprezentacji i złożoność podstawowych operacji. 35. Słowniki i ich implementacje. 36. Algorytmy z powrotami. 37. Podstawowe algorytmy grafowe. Bazy danych 30. Podstawowe cechy relacyjnych baz danych. 38. Znaczenie zależności funkcyjnych i postaci normalnych przy projektowaniu schematu bazy danych. 39. Podstawowe elementy i znaczenie diagramów związków encji przy projektowaniu schematu bazy danych. 40. Problemy z dostępem współbieżnym, rozwiązania tych problemów (transakcje, blokady). 41. Podstawowe konstrukcje języka SQL. 42. Podstawowe zasady optymalizacji zapytań, w tym rodzaje i znaczenie indeksów w bazie danych. 43. Dwu- i wielo-warstwowa architektura aplikacji bazodanowych. 44. Co to jest i do czego służy ODBC? 45. Jakie są korzyści ze stosowania schematów w bazie danych? 46. Krótko omówić mechanizm dziedziczenia przywilejów (na przykładzie PostgreSQL lub innego systemu). Inżynieria oprogramowania 47. Główne zasady paradygmatu (podejścia) obiektowego. 48. Identyfikacja i specyfikacja wymagań względem systemu. 49. Modele notacji UML w analizie i projektowaniu oprogramowania (taksonomia diagramów i perspektywy UML) 50. Tradycyjne cykle życia oprogramowania; kształt, przydatność 51. Kaskadowy cykl życia oprogramowania; zalety i wady. 52. Wzorce analizy i projektowania; wykorzystanie wzorców 53. Metody i zakres planowania przedsięwzięcia projektowego 54. Proces i poziomy testowania oprogramowani 55. Pielęgnacja i ewolucja oprogramowania 56. Pojecie jakości oprogramowania; zapewnianie jakości
Społeczne aspekty informatyki. 57. Pojęcie i obszary problemowe etyki komputerowej. 58. Profesjonalizm zawodowy inżyniera informatyka. 59. Motywacje prowadzenia i kształt procesu analizy rozszerzonej. Systemy i sieci komputerowe; bezpieczeństwo 60. Struktura blokowa i działanie współczesnego komputera. 61. Organizacja i cechy mikroprocesora. 62. Organizacja pamięci i mechanizmy adresowania komputera 63. Cechy architekturalne procesorów typu RISC/CISC. 64. Klasyfikacje sieci komputerowych; standardy 65. Protokół TCP a UDP podobieństwa, różnice, budowa, zastosowanie 66. Konfiguracja i testowanie sieci LAN z wykorzystaniem routera (na dowolnym przykładzie). 67. Okablowanie w sieciach LAN. 68. Metody dostępu do urządzeń sieciowych; metody kontroli dostępu. 69. Kryptografia symetryczna i asymetryczna - na czym polegają, różnice, wady, zalety i zastosowania każdej z nich. 70. Omów główne typy zagrożeń bezpieczeństwa informacji i sposoby przeciwdziałania im. 71. Omów zasadę działania systemu detekcji intruzów z uwzględnieniem podziału na systemy wykrywające anomalie (nadużycia) i wykrywające sygnatury. 72. Na czym polega identyfikacja i uwierzytelnianie? Wymień i omów techniki identyfikacji i uwierzytelniania. Grafika i multimedia 73. Pojecie i etapy renderowania grafiki trójwymiarowej 74. Cele i zasady teksturowania obrazów. 75. Krzywa Beziera zasady tworzenia, wykorzystanie. 76. Algorytm śledzenia promieni (Raytracing) 77. Podstawowe macierze transformacji 2D. 78. Modele cieniowania w grafice 3D. 79. Zasady kodowania perceptualnego dźwięku/obrazu 80. Metody kompresji zastosowane w standardach MPEG. 81. Metody syntezy dźwięku. 82. Modele barw w grafice komputerowej. 83. Wybrane metody analizy obrazów (plików graficznych)
Podstawy elektroniki, techniki cyfrowej i systemów wbudowanych 84. Scharakteryzuj wady i zalety trzech wybranych metod analizy układów elektronicznych.. 85. Właściwości i zastosowanie typowych elementów półprzewodnikowych. 86. Scharakteryzuj fazy procesu pomiarowego na przykładzie pomiaru rezystancji lub mocy metodą bezpośrednią i pośrednią. 87. Podstawowe klasyfikacje i właściwości układów scalonych oraz współczesne trendy ich rozwoju. 88. Właściwości i zastosowanie układów kombinacyjnych i sekwencyjnych analiza porównawcza. 89. Metody redukcji poboru mocy współczesnych procesorów. 90. Programistyczne przyspieszanie pracy systemów czasu rzeczywistego. Technologie internetowe 91. Charakterystyka protokołu HTTP. 92. Charakterystyka języka JavaScript. 93. Charakterystyka języków (X)HTML i CSS 94. Rola standardów w zastosowaniach internetowych. 95. Kaskadowe arkusze stylów CSS2 selektory, reguły, kaskada, pozycjonowanie elementów, definiowanie układu strony. Tu? 96. Języki znacznikowe i ich wykorzystanie do strukturalizacji dokumentów WWW. 97. Obiektowy model dokumentu (DOM) selekcja i modyfikowanie elementów za pomocą DOM API języka JavaScript. 98. Metodologia AJAX - zasada działania, programowanie po stronie klienta (JavaScript) oraz serwera, JSON. 99. Technologie Java EE warstwy webowej (JavaServlets, JSP, framework JSF) 100. Warstwy w typowej webowej aplikacji Java EE z dostępem do bazy danych Systemy operacyjne 101. Szeregowanie procesów w systemach operacyjnych komputerów. 102. Metody synchronizacji procesów w programach komputerowych. 103. Adresy logiczne i fizyczne w systemach komputerowych, mechanizmy tłumaczenia adresów. 104. Blokada (zakleszczenie) w programie: geneza, wykrywanie i zapobieganie. 105. Pamięć wirtualna, strategie wymiany informacji w pamięci operacyjnej 106. Strategie przydziału segmentów pamięci w systemach operacyjnych. 107. Fragmentacja zewnętrzna i wewnętrzna w programach komputerowych. 108. Podsystemy wejścia wyjścia w systemach cyfrowych. 109. System plików i jego realizacja w systemie komputerowym.
Sztuczna inteligencja 110. Metody przeszukiwania grafów i przykładowe ich zastosowania 111. Pojęcie przestrzeni stanów i jego zastosowanie w rozwiązywaniu problemów 112. Wnioskowanie logiczne jako narzędzie rozwiązywania problemów 113. Zastosowanie koncepcji zbioru rozmytego w sztucznej inteligencji 114. Wykorzystanie koncepcji sieci neuronowych w sztucznej inteligencji. 115. Metody konstrukcji drzew decyzyjnych. 116. Podstawowy algorytm genetyczny i jego zastosowanie w problemie poszukiwania optymalnej wartości 117. Grupowanie a klasyfikacja