Wydział Informatyki
Kierunek studiów Matematyka Stosowana Poziom i forma studiów drugiego stopnia stacjonarne
Specjalność / Ścieżka dyplomowania Analityka Danych i Modelowanie Matematyczne Profil kształcenia praktyczny
Nazwa przedmiotu Wybrane techniki programistyczne Kod przedmiotu MAT2WTP
Rodzaj przedmiotu obieralny
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 1
30 45 Punkty ECTS 6
Przedmioty wprowadzające
Cele przedmiotu

Celem przedmiotu jest nauczenie studentów programowania oraz przećwiczenie wybranych technik programistycznych niezbędnych na kolejnych etapach nauczania na kierunku. Studenci poznają wybrane techniki programistyczne związane z programowaniem strukturalnym i obiektowym. Nabędą również umiejętności przygotowania programów w wybranych językach z wykorzystaniem poznanych technik.

Treści programowe

Wykład:
Struktura i składnia kodu. Techniki programowania strukturalnego: zmienne, instrukcje sterujące, tablice, funkcje, rekurencja. Podstawy algorytmów: programowanie dynamiczne, technika "dziel i zwyciężaj", różne metody sortowania. Programowanie obiektowe: obiekty i klasy, metody, konstruktory, hermetyzacja, kompozycja, dziedziczenie, polimorfizm, posługiwanie się wyjątkami. Wybrane algorytmy grafowe. Operacje słownikowe na drzewach binarnych.

Pracownia specjalistyczna:
Środowisko programistyczne. Struktura i składnia kodu. Techniki programowania strukturalnego - ćwiczenia praktyczne. Implementacja podstawowych algorytmów z zakresu programowania dynamicznego, techniki "dziel i zwyciężaj" oraz metod sortowania. Techniki programowanie obiektowe - ćwiczenia praktyczne. Ćwiczenia z dziedziczenia. Ćwiczenia z polimorfizmu. Posługiwanie się wyjątkami. Implementacja wybranych algorytmów grafowych. Operacje słownikowe na drzewach binarnych.

Metody dydaktyczne

wykład konwersatoryjny,   dyskusja związana z wykładem,   programowanie z użyciem komputera,   symulacja,  

Forma zaliczenia

Wykład - egzamin pisemny.
Pracownia specjalistyczna - sprawozdania z realizacji zadań.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 zna różne techniki programowania strukturalnego i obiektowego K_W07
EU2 zna podstawowe algorytmy i techniki ich implementacji K_W07
EU3 potrafi stworzyć i uruchomić program K_U13
K_U15
EU4 identyfikuje i znajduje błędy w działaniu programu K_U13
K_U15
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin pisemny W
EU2 egzamin pisemny W
EU3 sprawozdanie z zajęć Ps
EU4 sprawozdanie z zajęć Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach 30
2 - Udział w pracowni specjalistycznej 45
3 - Przygotowania do pracowni specjalistycznej oraz wykonanie zadań domowych 25
4 - Opracowanie sprawozdań z pracowni specjalistycznej 30
5 - Udział w konsultacjach 5
6 - Przygotowanie do egzaminu 13
7 - Udział w egzaminie 2
RAZEM: 150
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 82
(1)+(5)+(2)+(7)
3.3
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 100
(3)+(2)+(4)
4.0
Literatura podstawowa

1. B. Eckel, Thinking in Java, Helion, 2003.
2. L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, PWN, Warszawa 2018.
3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, Wprowadzenie do algorytmów, Wydawnictwa Naukowo-Techniczne, Warszawa 2003.

Literatura uzupełniająca

1. R. J. Wilson, Wprowadzenie do teorii grafów, PWN, Warszawa 2012.
2. C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, 2014.
3. A. Drozdek, D. L. Simon, Struktury danych w języku C, Wydawnictwa Naukowo-Techniczne, Warszawa 1996.

Jednostka realizująca Katedra Systemów Informacyjnych i Sieci Komputerowych Data opracowania programu
Program opracował(a) dr inż. Tomasz Grześ 2020.04.06