9. Bazy danych i zarządzanie informacją
Obowiązkowo: Systemy baz danych. Modelowanie danych. Relacyjne bazy danych. Języki zapytań do baz danych. Projektowanie relacyjnych baz danych. Przetwarzanie transakcji.
Opcjonalnie: Rozproszone bazy danych. Fizyczne projektowanie bazy danych. Modele i systemy informacyjne. Eksploracja danych. Składowanie i odtwarzanie informacji. Hipertekst i hipermedia. Informacja multimedialna. Biblioteki cyfrowe.
Umiejętności: Formułowanie zapytań w języku SQL. Przygotowanie schematu relacyjnej bazy danych na podstawie modelu encja-związek. Tworzenie transakcji przez zanurzanie zapytań SQL-owych w języku programowania. Ocena różnych strategii wykonywania zapytań o charakterze rozproszonym.
10. Inżynieria oprogramowania
Obowiązkowo: Projektowanie oprogramowania. Korzystanie z API. Narzędzia i środowiska wytwarzania oprogramowania. Procesy wytwarzania oprogramowania. Wymagania i ich specyfikacja. Walidacja i testowanie oprogramowania. Ewolucja oprogramowania. Zarządzanie przedsięwzięciem programistycznym.
Opcjonalnie: Komponenty. Metody formalne. Niezawodność oprogramowania. Budowa systemów specjalizowanych.
Umiejętności: Posługiwanie się wzorcami projektowymi. Projektowanie
oprogramowania zgodnie z metodyką strukturalną lub obiektową. Dokonywanie przeglądu projektu oprogramowania. Korzystanie z przeglądarek klas wspomagających programowanie z użyciem API. Wybieranie narzędzi wspomagających budowę oprogramowania. Dobór modelu procesu wytwarzania oprogramowania do specyfiki przedsięwzięcia. Specyfikowanie wymagań dotyczących oprogramowania i przeprowadzanie ich przeglądu. Tworzenie, ocena i realizacja planu testowania. Uczestniczenie w inspekcji kodu. Zarządzanie konfiguracją oprogramowania. Opracowywanie planu przedsięwzięcia dotyczącego budowy oprogramowania.
11. Systemy wbudowane
Obowiązkowo: Mikrokontrolery. Programy wbudowane. Systemy operacyjne czasu rzeczywistego. Przetwarzanie z uwzględnieniem zużycia energii. Projektowanie systemów niezawodnych. Metodyki projektowania.
Opcjonalnie: Narzędzia. Wieloprocesorowe systemy wbudowane. Sieci
komputerowe w systemach wbudowanych. Przetwarzanie sygnałów analogowo-cyfrowych.
Umiejętności: Programowanie prostych systemów wbudowanych. Podnoszenie niezawodności systemu wbudowanego. Projektowanie systemu wbudowanego zgodnie z jedną z popularnych metodyk.
12. Obliczenia naukowe i metody numeryczne
Opcjonalnie: Analiza numeryczna. Badania operacyjne. Modelowanie i symulacja.
Umiejętności: Umiejętność wykorzystania metod informatyki w obszarze obliczeń naukowych.
7