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