Nazwa przedmiotu:
Podstawy algorytmiki
Koordynator przedmiotu:
dr inż. Andrzej Czerepicki, Wydział Transportu Politechniki Warszawskiej, Zakład Systemów Informatycznych i Mechatronicznych w Transporcie
Status przedmiotu:
Fakultatywny ograniczonego wyboru
Poziom kształcenia:
Studia I stopnia
Program:
Transport
Grupa przedmiotów:
Obieralne
Kod przedmiotu:
Semestr nominalny:
8 / rok ak. 2018/2019
Liczba punktów ECTS:
2
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
60 godzin, w tym: praca na wykładach 18 godz., studiowanie literatury przedmiotu 18 godz., konsultacje 2 godz., udział w egzaminach 2 godz., przygotowanie się do egzaminu z wykładu 20 godz.
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1,0 pkt ECTS (22 godz., w tym: praca na wykładach 18 godz., konsultacje 2 godz., udział w egzaminach 2 godz.)
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
0
Formy zajęć i ich wymiar w semestrze:
  • Wykład18h
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Brak
Limit liczby studentów:
Brak
Cel przedmiotu:
Zapoznanie studentów z podstawowymi strukturami danych oraz bazowymi algorytmami operującymi na tych strukturach. Nabycie wiedzy praktycznej z zakresu implementacji często używanych algorytmów z wykorzystaniem wybranego języka programowania. Oszacowanie kosztów pamięciowych oraz czasowych rozwiązania zadania z wykorzystaniem wybranego algorytmu. Dobór najlepszego algorytmu rozwiązującego sformułowany problem oraz jego uzasadnienie.
Treści kształcenia:
Wstęp do algorytmów. Podstawowe zasady analizy algorytmów: poprawność, złożoność obliczeniowa algorytmu, koszt algorytmu. Elementarne struktury danych: stosy, kolejki, listy. Podstawowe techniki i struktury: metoda dziel i zwyciężaj, metoda zachłanna, programowanie dynamiczne, iteracja, rekurencja. Algorytmy sortowania: algorytm bąbelkowy, sortowanie zaawansowane. Złożoność problemu sortowania. Algorytmy wyszukiwania: wyszukiwanie liniowe i binarne. Wyszukiwanie zaawansowane. Drzewa poszukiwań binarnych, haszowanie. Złożoność algorytmów wyszukiwania. Drzewa. Drzewa AVI oraz binarne. Realizacja oraz złożoność algorytmów wykorzystujących drzewa. Grafy. Rodzaje grafów oraz metody ich reprezentacji w komputerze. Algorytmy grafowe: problem wyszukiwania ścieżki, algorytm Dijkstry. Algorytmy grafowe w transporcie. Algorytmy tekstowe: problem wyszukiwania wzorca w tekście, algorytm K-M-P. Tekstowe struktury danych. Słowniki i drzewa sufiksowe. NP-zupełność. Pojęcie NP. Problemy NP-trudne oraz NP-zupełne, oraz ich zastosowanie w rozwiązywaniu problemów logistycznych.
Metody oceny:
Egzamin odbywa się w postaci testu zamkniętego składającego się z 15 pytań i przeprowadzanego na komputerze. Każde pytanie posiada tylko jedną poprawną odpowiedź. Ocena końcowa zależy od liczby poprawnych odpowiedzi wg skali: 5.0 (>90%), 4.5 (>80%), 4.0 (>70%), 3.5 (>60%), 3.0 (>50%), 2.0 (<50%)
Egzamin:
tak
Literatura:
1) L.Banachowski, K.Dicks, W.Rytter, „Algorytmy i struktury danych”, WNT, 2001 2) Piotr Wróblewski, „Algorytmy, struktury danych i techniki programowania”, Helion, 1997 3) R.Neapolitan, K.Naimipour, „Podstawy algorytmów z przykładami w C++”, Helion, 2004
Witryna www przedmiotu:
http://www.simt.wt.pw.edu.pl/dydaktyka/
Uwagi:
Przedmiot z uchwalonego przez Radę Wydziału wykazu dodatkowych przedmiotów obieralnych na rok akademicki 2017/2018. O ile nie powoduje to zmian w zakresie powiązań danego modułu zajęć z kierunkowymi efektami kształcenia w treściach kształcenia mogą być wprowadzane na bieżąco zmiany związane z uwzględnieniem najnowszych osiągnięć naukowych.

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt W01
Zna elementarne struktury danych oraz ich zastosowanie
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_W06
Powiązane efekty obszarowe: T1A_W02, InzA_W05
Efekt W02
Zna podstawowe metody algorytmiczne
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_W06
Powiązane efekty obszarowe: T1A_W02, InzA_W05
Efekt W03
Zna metody oceny złożoności algorytmu oraz obliczenia jego kosztów
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_W06
Powiązane efekty obszarowe: T1A_W02, InzA_W05

Profil ogólnoakademicki - umiejętności

Efekt U01
Potrafi dobrać strukturę danych właściwą do postawionego zadania
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_U01
Powiązane efekty obszarowe: T1A_U01
Efekt U02
Potrafi wykorzystać wybraną strukturę w algorytmie
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_U11
Powiązane efekty obszarowe: T1A_U09, InzA_U02
Efekt U03
Potrafi przeanalizować działanie algorytmu
Weryfikacja: Zaliczenie w postaci testu na komputerze
Powiązane efekty kierunkowe: Tr1A_U11
Powiązane efekty obszarowe: T1A_U09, InzA_U02

Profil ogólnoakademicki - kompetencje społeczne

Efekt K01
Rozumie rolę algorytmiki w rozwiązywaniu współczesnych problemów w transporcie oraz potrzebę podnoszenia swoich kwalifikacji w tym obszarze informatyki
Weryfikacja:
Powiązane efekty kierunkowe: Tr1A_K01
Powiązane efekty obszarowe: T1A_K01
Efekt K02
Potrafi wykorzystać zdobytą wiedzę do zespołowego rozwiązania problemów informatycznych w transporcie
Weryfikacja:
Powiązane efekty kierunkowe: Tr1A_K04, Tr1A_K03
Powiązane efekty obszarowe: T1A_K04, T1A_K03