Celem przedmiotu jest rozszerzenie i uzupełnienie wiedzy studentów w zakresie technik programistycznych i struktur danych wykorzystywanych w programowaniu w małej i średniej skali.

Testowanie różnych algorytmów oraz struktur danych, ich dobór dla konkretnych wymagań stawianych w rozważanych problemach praktycznych. 

Rozwijanie umiejętności pisania wydajnych klas w wybranym języku programowania. 

Treści:

Zaawansowana obiektowość, klasy generyczne, interfejsy, delegaty, zbiory, listy, kolejki, słowniki, zapytania Linq oraz tworzenie testów jednostkowych.

Praktyczne wykorzystanie algorytmów i struktur danych, ich dobór i optymalizacja kodu pod kątem wydajności czasowej i pamięciowej.

Wykorzystanie szybkiej transformaty Furiera w zastosowaniach praktycznych, związanych np. z analizą sygnałową.