Zaawansowane C++
Zaawansowane C++
Na tym przedmiocie wejdziesz na ekspercki poziom programowania w języku C++, poznając jego nowoczesne standardy, zasady projektowania oprogramowania oraz wzorce konstrukcyjne stosowane w inżynierii i analizie danych.
Nauczysz się tworzyć wydajne, stabilne i bezpieczne aplikacje, w tym moduły wspierające akwizycję, przetwarzanie oraz wizualizację danych. Poznasz też techniki optymalizacji kodu, testowania oraz utrzymania rozbudowanych projektów.
Podczas zajęć:
-
zgłębisz paradygmat obiektowy w praktyce – dziedziczenie wielokrotne, polimorfizm, klasy abstrakcyjne,
-
opanujesz szablony, konstrukcje uogólnione oraz podejście template metaprogramming (TMP),
-
nauczysz się korzystać z najważniejszych elementów Standard Template Library (STL) – algorytmów, kontenerów i iteratorów,
-
przećwiczysz implementację i testowanie aplikacji wykorzystywanych w systemach pomiarowych oraz diagnostyce.
W części projektowej zrealizujesz kompletną aplikację C++ – od koncepcji, przez projekt techniczny, po uruchomienie, testy jednostkowe i dokumentację.
Efekty uczenia się
Wiedza – zrozumiesz:
-
nowoczesne standardy C++ i ich wpływ na bezpieczeństwo oraz wydajność aplikacji,
-
rolę paradygmatów obiektowych w rozwoju oprogramowania biomedycznego,
-
jak dobierać struktury danych i wzorce projektowe do złożonych zadań obliczeniowych.
Umiejętności – nauczysz się:
-
projektować i implementować rozbudowane aplikacje w C++, również w środowiskach zdalnych i systemach pomiarowych,
-
stosować biblioteki standardowe STL oraz szablony do optymalizacji pracy kodu,
-
testować i debugować systemy oprogramowania służące do akwizycji i analizy danych,
-
dokumentować i utrzymywać kod źródłowy na poziomie profesjonalnym.
Kompetencje społeczne – rozwiniesz:
-
odpowiedzialność za jakość i stabilność projektowanego oprogramowania,
-
świadomość roli nowoczesnych technologii programistycznych w funkcjonowaniu współczesnych organizacji, laboratoriów i jednostek badawczych,
-
umiejętność współpracy w zespole projektowym w ramach pełnego cyklu wytwarzania oprogramowania.