Podstawy Programowania Komputerów 1. Reprezentacja liczb w pamięci komputera. 2. Etapy rozwiązywania zadań z użyciem komputera. 3. Struktury listowe. 4. Struktury drzewiaste. 5. Sposoby przekazywania parametrów do funkcji i procedur w języku Pascal. Programowanie Komputerów II 6. Typy danych: Konwersje i rzutowanie typów w języku C. 7. Zmienne i stałe: inicjalizacja, operatory i ich priorytety. Instrukcje: warunkowe, wyboru, iteracyjne, niestrukturalne w języku C. 8. Struktura programu: Zakres i widoczność nazw. Funkcje: prototypy, wywoływanie, przekazywanie danych i zwracanie wartości w języku C. 9. Biblioteki standardowe: Funkcje biblioteczne. Operacje wejścia-wyjścia w języku C. 10. Preprocesor: Kompilacja rozdzielna i pliki nagłówkowe w języku C. Programowanie Komputerów III 11. Operatory, przeciążanie operatorów w C++ 12. Polimorfizm i metody wirtualne w C++ 13. Dziedziczenie wielobazowe w C++ 14. Mechanizm wyjątków w C++ 15. Szablony w C++ Java i Programowanie w Sieci Internet 16. Definiowanie klas i tworzenie obiektów w Javie 17. Projektowanie GUI z użyciem AWT i Swing w Javie 18. Komunikacja z użyciem strumieni w Javie 19. Testowanie jednostkowe w Javie 20. Podstawowe wzorce projektowe (GoF) i ich realizacja w Javie Inżynieria Oprogramowania 21. Modele cyklu życiowego oprogramowania, modele zarządzania projektem informatycznym 22. Szacowanie kosztów wytwarzania oprogramowania 23. Narzędzia CASE – idea, zakres stosowania, typowe składowe, ocena przydatności, ... 24. Sposoby radzenia sobie ze złożonością. Wybrane aspekty oceny jakości oprogramowania 25. Testowanie oprogramowania – idea, cele, zakres, rodzaje, podejścia/filozofia, dane wejściowe, ... Algorytmy i Struktury Danych 26. Złożoność obliczeniowa 27. Paradygmaty "dziel i zwyciężaj" oraz programowanie dynamiczne 28. Sortowanie 29. Algorytmy zachłanne 30. Algorytmy grafowe Obliczenia równoległe 31. Procesy współbieżne, równoległe, wielkości charakterystyczne algorytmów (złożoność, przyspieszenie, koszt, efektywność) 32. Modele obliczeń i komputery równoległe 33. Elementarne algorytmy równoległe 34. Prawo Amadahla, Gustafsona i Barsisa, miara Karpa i Flatta 35. Projektowanie algorytmów równoległych Metody Numeryczne 36. Źródła błędów obliczeń numerycznych. Co to znaczy utrata dokładności podać przykłady takich operacji arytmetycznych. Co oznacza zadanie źle uwarunkowane przykłady. 37. Dokładne i iteracyjne metody rozwiązywania układów równań liniowych-warunki oznaczoności układu i warunki zbieżności; złożoność czasowa oraz pamięciowa odpowiednich algorytmów. 38. Metody interpolacji wielomianowej; funkcje sklejane; różnice pomiędzy interpolacją a aproksymacją. 39. Metody aproksymacji funkcji; wady i zalety aproksymacji za pomocą wielomianów. 40. Metody rozwiązywania równań nieliniowych; równania nieliniowe jako przykład problemu niemożliwego do rozwiązania bez użycia podejścia algorytmicznego. Teoria Układów Cyfrowych 41. Algebra układów cyfrowych 42. Funkcjonalne bloki cyfrowe 43. Dynamika układów cyfrowych 44. Struktury sekwencyjnych układów asynchronicznych 45. Struktury układów mikroprogramowanych Arytmetyka Systemów Cyfrowych 46. Zasady realizacji działań arytmetycznych w systemach liczbowych o podstawie p 47. Arytmetyka liczb dziesiętnych o cyfrach kodowanych binarnie 48. Formaty słów liczbowych w systemach cyfrowych 49. Zasady działań arytmetycznych w arytmetyce stałoprzecinkowej 50. Zasady działań arytmetycznych w arytmetyce zmiennoprzecinkowej Języki Asemblerowe 51. Procedury i makrodefinicje – podobieństwa i różnice 52. Segmentacja w adresowaniu rzeczywistym i wirtualnym z ochroną. Podział programu na segmenty. 53. Przekazywanie parametrów do procedur i zwracanie wartości funkcji. Konwencje wywołań procedur dla różnych języków programowania. 54. Technika SIMD. Przykłady instrukcji wektorowych. 55. Ewolucja procesorów rodziny x86. Podstawowe rejestry 8086 i ich rozszerzenia w nowoczesnych procesorach 32- i 64-bitowych. Systemy Mikroprocesorowe i Wbudowane 56. Rodzaje przerwań i ich obsługa 57. Budowa i przeznaczenie pamięci Cache 58. Bezpośredni dostęp do pamięci 59. Magistrale w systemach mikroprocesorowych 60. Struktura i działanie przykładowego mikrokontrolera Konstrukcja Układów Cyfrowych 61. Podstawowe parametry układów cyfrowych 62. Klawiatury matrycowe 63. Zakłócenia w układach cyfrowych i sposoby ich ograniczania 64. Podstawowe rodzaje pamięci półprzewodnikowych 65. Konwersja danych binarnych z postaci równoległej na szeregową i z szeregowej na równoległą Budowa Komputerów 66. Układy reprogramowalne – budowa, struktura wewnętrzna, systemy CAD, HDL 67. Karty mikroprocesorowe – budowa, struktura wewnętrzna, programowanie 68. Metody zwiększania szybkości dostępu do danych w pamięciach operacyjnych i masowych 69. Sprzętowe metody ochrony przed utratą danych w pamięciach masowych – Backup, RAID, SFT, UPS 70. Magistrale w systemach komputerowych Interfejsy w systemach komputerowych 71. Własności portu znakowego: natura transmisji, parametry, protokoły sterowania przepływem danych; protokoły komunikacyjne i systemy oparte na asynchronicznej transmisji znakowej. 72. Własności portu USB: topologia systemu, podstawowe parametry, rodzaje transferów, protokół komunikacyjny, enumeracja, dystrybucja zasilania w systemie, zawieszenie i wznowienie aktywności urządzenia. 73. Własności portu IEEE 488 (GPIB): topologia systemu, organizacja magistrali, kontrola szeregowa; protokół wymiany komunikatów zgodnie z IEEE 488.2, język SCPI. 74. Zakłócenia w systemach komputerowych: ochrona systemów przed sprzężeniami: pojemnościowym, indukcyjnymi i na wspólnej impedancji. 75. Własności portu IEEE 1394 (FireWire): topologia systemu, interfejs fizyczny i sygnałowy, rodzaje transakcji, procedury arbitrażowe, w tym Tree_Id oraz Self_Id (uwaga: pytanie nr 80 będzie obowiązywać dopiero od roku akademickiego 2010/2011) Przemysłowe systemy czasu rzeczywistego 76. Mechanizmy tworzenia determinizmu czasowego w sieciach przemysłowych. Zjawisko „dziur” i jego wpływ na opóźnienia. 77. Informatyczne systemy rozproszone: rodzaje i klasyfikacje. Rozproszone systemy przemysłowe czasu rzeczywistego. 78. Niezawodność systemów scentralizowanych i rozproszonych. Ocena własna i ocena formalna. 79. Metody integracji podsieci w jednolite struktury rozproszone. 80. Software'owe metody skracania czasu trwania cyklu. Analiza i opis formalny. Przemysłowe sieci komputerowe 81. Problem buforowania transmisji w sieciach przemysłowych. Korzyści i zagrożenia. 82. Zastosowanie protokołów niedeterministycznych do rozwiązań przemysłowych. 83. Definicje i propozycje szacowania sprawności i przepustowości użytecznej. Interpretacja fizykalna i użytkowa obu parametrów. 84. Protokoły sieci deterministycznych. Modele formalne i opisy działania. Zastosowania Ethernet'u. 85. Wykorzystanie struktur redundantnych do przyspieszenia transmisji w sieciach przemysłowych. Programowanie Sterowników Przemysłowych 86. Przedstaw istotne cechy sterownika klasy PLC. 87. Język SFC – przeznaczenie języka, rozkazy i zasady składni. 88. Języki programowania urządzeń komputerowych klasy PLC - podział, przykłady, rozkazy. 89. Przedstaw cykl sterownika klasy PLC oraz tryby jego działania. 90. Przedstaw metody zarządzania wykonywaniem kodu wg normy IEC/PN 61131. Sieci komputerowe: 91. Co oznacza pojęcie "przezroczystość informacyjna protokołu", podaj przykłady jej zapewnienia (protokół, metoda) 92. Klasyfikacja, przykłady algorytmów dostępu do łącza 93. Na czym polega mechanizm zbiorczego potwierdzenia, podaj przykłady protokołów w których występuje 94. Klasyfikacja algorytmów routingu, 95. Metody zapobiegania przeciążeniom sieci, wpływ na wydajność protokołów komunikacyjnych. Architektura komputerów 96. Cechy procesorów o architekturach CISC, RISC i superskalarnej 97. Potokowa realizacja rozkazów o zależnych argumentach (hazard danych). 98. Metody przewidywania rozgałęzień przy potokowej realizacji rozkazów 99. Klasyfikacja systemów równoległych 100. Charakterystyka systemów wieloprocesorowych z pamięcią wspólną Bazy danych I 101. Algebra relacji jako podstawa języków zapytań 102. Więzy referencyjne w bazach danych 103. Zarządzanie transakcjami w bazach danych – blokady i poziomy izolacji transakcji, dziennik transakcji 104. Mechanizmy bezpieczeństwa w systemach zarządzania bazami danych 105. Normalizacja struktury relacyjnych baz danych Bazy danych II 106. Fazy obsługi zdania SQL w serwerze bazy danych 107. Wykorzystanie indeksu typu B+tree w fazie realizacji zapytania SQL 108. Poziomy izolacji transakcji w bazach danych 109. Dostęp do baz danych z wykorzystaniem modułów ADO.NET i JDBC 110. Infrastruktura odwzorowania obiektowo-relacyjnego na przykładzie modułu LINQ to SQL Podstawy Informatyki 111. Maszyna Turinga - budowa, sposób działania, programowanie 112. Pojęcie translacji na przykładzie translacji wyrażeń arytmetycznych zapisanych w notacji nawiasowej na odwrotną notację polską 113. Projektowanie układu sterującego komputera na przykładzie komputera W. Rola sygnałów sterujących. 114. Asemblacja programu zapisanego w języku symbolicznym. Generacja binarnego kodu wynikowego. 115. Pojęcie zasobów systemu oraz wzajemnej blokady i metody ochrony przed blokadą wzajemną Pytania z przedmiotu Systemy Operacyjne 116. Systemy operacyjne – typy, funkcje, budowa, modele komunikacji. 117. Algorytmy szeregowanie procesów w systemach operacyjnych. 118. Synchronizacja procesów – semafory, problem wzajemnej blokady. 119. Algorytmy zastępowania stron w realizacji pamięci wirtualnej. 120. Podstawowe metody alokacji pamięci dla plików na dyskach. Metody Statystyczne 121. Rozkład empiryczny cechy– definicja, opis graficzny i parametryczny (miary położenia, rozproszenia, asymetrii i koncentracji) 122. Zmienna losowa – definicja, rodzaje, charakterystyka rozkładu zmiennej: dystrybuanta, funkcja prawdopodobieństwa, gęstość, przykładowe rozkłady 123. Definicja i przykład estymatora punktowego, jego własności (nieobciążoność, efektywność, zgodność), błąd estymatora, definicja estymatora przedziałowego, estymacja nieparametryczna funkcji gęstości– metoda jądrowa 124. Procedura testowania hipotez – etapy, statystyka testowa i obszar krytyczny, błąd pierwszego i drugiego rodzaju, poziom istotności testu, test istotności dla średniej, test zgodności chi-kwadrat 125. Klasyczny model regresji liniowej, estymacja jego parametrów metodą najmniejszych kwadratów, diagnostyka modelu, przykład Biologicznie motywowane metody sztucznej inteligencji 126. Sztuczne sieci neuronowe a problem separowaności liniowej 127. Gradientowe metody uczenia sieci neuronowych 128. Operatory genetyczne w algorytmach ewolucyjnych 129. Rodzaje reprezentacji chromosomów w algorytmach ewolucyjnych 130. Sieć Hopfielda jako przykład sieci rekurencyjnej Przedmiot (Makrokierunek Katowice) „ Systemy przemysłowe” 131. Reprezentacja liczb całkowitych ze znakiem i ich arytmetyka. 132. Elementy architektury procesora istotne z punktu widzenia programisty. 133. Organizacja systemu przerwań procesora. 134. Organizacja wymiany danych między procesorem a układami zewnętrznymi. 135. Przeźroczystość protokołów komunikacyjnych. "Interfejsy w systemach komputerowych":