1. Metody testowania oprogramowania.
  2. Struktury danych umożliwiające efektywne wyszukiwanie.
  3. Rodzaje baz danych i charakterystyka.
  4. Co to jest hurtownia danych i czym się charakteryzuje.
  5. Postacie normalne baz danych.
  6. Paradygmaty programowania obiektowego.
  7. Paradygmaty programowania strukturalnego.
  8. Co to jest programowanie zdarzeniowe. Przykłady.
  9. Kryteria podziału na moduły.
  10. Klasyfikacja języków programowania.
  11. Cykl życia oprogramowania.
  12. Modele tworzenia oprogramowania (wodospadowy, spiralny).
  13. Budowa kompilatora.
  14. Złożoność algorytmów.
  15. Architektury przetwarzania równoległego (klasyfikacja Flynn’a).
  16. Windows vs UNIX: różnice dla programisty.
  17. Wady i zalety programowania wieloprocesowego względem wielowątkowego.
  18. Co to są systemy czasu rzeczywistego.
  19. Mechanizmy synchronizacji międzyprocesowej.
  20. Mechanizmy komunikacji międzyprocesowej.
  21. Sposoby obsługi urządzeń zewnętrznych.
  22. Siedmiowarstwowy model sieci ISO/OSI.
  23. Wyjaśnić pojęcia: repeater, bridge, router, gateway.
  24. Topologie sieci komputerowych.
  25. Co to są wirtualne sieci prywatne.
  26. Wyjaśnić pojęcia: semafor, mutex, monitor Hoare’a, monitor Hansena.
  27. Co to są transakcje. Własności transakcji (ACID).
  28. Typy systemów operacyjnych (monolityczne, warstwowe, z mikrojądrem) i ich charakterystyka.
  29. Kody liczbowe.
  30. Metody rozbioru składniowego.
  31. Wyjaśnić pojęcia: uwierzytelnienie, autoryzacja, kontrola dostępu, rozliczalność.
  32. Usługi ochrony informacji (integralność, uwierzytelnienie, poufność, niezaprzeczalność).
  33. Co to jest podpis cyfrowy i jak się go realizuje.
  34. Co to jest uwierzytelnienie, jakie są jego rodzaje i jak się je realizuje.
  35. Kryptografia: algorytmy symetryczne i asymetryczne.
  36. C++ vs Java – różnice dla programisty.
  37. Co to są systemy tolerujące błędy. Przykłady rozwiązań.
  38. Projektowanie oprogramowania z wykorzystaniem UML.
  39. Co to są systemy klient-serwer. Model 2 i 3 warstwowy.
  40. Co to są metody heurystyczne. Przykłady.
  41. Co to są automaty, jaki jest ich związek z językami.
  42. Co to są wyjątki, porównać z innymi mechanizmami obsługi błędów.
  43. Co to jest zdalne wywołanie procedury. Wady, zalety, problemy, różnice względem wywołania lokalnego. Przykłady implementacji.
  44. Algorytmy sortowania.
  45. Algorytmy kompresji danych.
  46. Przerwania i ich obsługa.
  47. Pamięć wirtualna i metody jej realizacji.
  48. Co to są biblioteki dynamiczne, jakie są zasady ich stosowania. Wady. Zalety.
  49. Wyjaśnić pojęcia: kopiec, drzewo, drzewo wyważone, b-drzewo.
  50. Programowanie oparte na komponentach.