Sylabus
- Status:
- Gotowy
Przedmiot nieaktywny - nie jest już prowadzony.
DI1302 - Algorytmy i struktury danych
- Nazwa w drugim języku:
- Algorithms and Data Structures
- Nazwa skrócona:ASTRUK
- Numer katalogowy:DI1302
- Reprezentuje kierunek: I,D,PL - Informatyka Stosowana
- Odpowiedzialny za przedmiot: prof. dr hab. inż. Jacek Starzyński
-
Strona WWW przedmiotu:
http://wikidyd.iem.pw.edu.pl/index.cgi/Aisd
- Język wykładowy:PL
- Liczba punktów ECTS:6
- Poziom przedmiotu: Podstawowy
- Forma zaliczenia przedmiotu:Egzamin
- Wymiar godzin:
- W: 30, L: 30
- Przedmiot realizowany w planach wzorcowych:
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski, Wersja programu studiów: 1
- Obieralny dla katalogów:
- Znalazłem 0 pozycji. (Pokaż szczegóły)
- Skrócone treści:
- Podstawy algorytmów i struktur danych. Przedstawienie najczęściej używanych struktur danych: listy, drzewa, kopce, tablice, grafy, hasze. Podstawowe abstrakcyjne typy danych: kolejki, zbiór, słownik. Podstawowe algorytmy przetwarzania danych: sortowanie tablic, operacje na drzewach binarnych i BST, kompresja, algorytmy dla grafów, wyszukiwanie wzorca. Metody budowy algorytmów. Dowodzenie poprawności algorytmów.
- Szczegółowe treści merytoryczne:
- Podstawowe pojęcia, złożoność obliczeniowa. Analiza algorytmów i dowodzenie poprawności. Algorytmy sortowania tablic. Sortowanie o złożoności liniowej. Struktury wykorzystujące wskaźniki: listy, drzewa, grafy. Listy liniowe, drzewa wyważone, haszowanie. Opakowywanie struktur danych, abstrakcyjne typy danych. Kontenery w Javie. Wybrane algorytmy kompresji. Programowanie dynamiczne. Wybrane algorytmy działające na grafach. Wyszukiwanie wzorca w napisach. Algorytmy ewolucyjne. Problemy NP-zupełne.
- Bibliografia:
- 1. Cormen, Leiserson, Rivest, Stein - Wprowadzenie do algorytmów, wyd. 2, WNT 2004;
2. Lafore - Java. Algorytmy i struktury danych, Helion 2003
3. Knuth - Sztuka programowania, WNT 2002 - Kryteria oceny:
- Przedmiot kończy się egzaminem. Egzamin składa się z dwóch części: pisemnej i ustnej. Aby zaliczyć przedmiot trzeba zdać egzamin i zaliczyć laboratorium. Ocena końcowa składa się w 70% z punktacji egzaminu (50% cz. pisemna i 20% cz. ustna), a w 30% z punktacji laboratorium.
- Efekty kształcenia:
- umiejętność analizy algorytmów, znajomość podstawowych struktur danych, algorytmów, abstrakcyjnych typów danych
- Uwagi:
- Standardowe treści kształcenia ujęte w Rozporządzeniu MNiSW:
-
- Informatyka Semestr: 3 Etap: Model 2, inżynierskie I-go stopnia, stacjonarne, polski
- [Kierunkowe] Kształcenie w zakresie podstaw programowania : Podstawowe struktury danych i wykonywane na nich operacje; Dynamiczny przydział pamięci; Pojęcie algorytmu; Implementacje algorytmów w językach programowania; Podstawowe konstrukcje programistyczne; Rekurencja i jej implementacja w językach wysokiego poziomu; Metody weryfikacji poprawności programów; Podstawowe struktury danych i wykonywane na nich operacje; Dynamiczny przydział pamięci; Implementacje algorytmów w językach programowania; Podstawowe konstrukcje programistyczne; Rekurencja i jej implementacja w językach wysokiego poziomu; Metody weryfikacji poprawności programów; Pojęcie algorytmu;
- [Kierunkowe] Kształcenie w zakresie inżynierii oprogramowania : Korzystanie z API (Application Programming Interface); Walidacja i testowanie oprogramowania; Zarządzanie przedsięwzięciem programistycznym; Narzędzia i środowiska wytwarzania oprogramowania; Projektowanie oprogramowania; Wymagania i ich specyfikacja; Procesy wytwarzania oprogramowania; Ewolucja oprogramowania; Zarządzanie przedsięwzięciem programistycznym; Wymagania i ich specyfikacja; Procesy wytwarzania oprogramowania; Korzystanie z API (Application Programming Interface); Walidacja i testowanie oprogramowania; Narzędzia i środowiska wytwarzania oprogramowania; Projektowanie oprogramowania; Ewolucja oprogramowania;
- Przedmioty na których bazuje dany przedmiot (prerekwizyty):
- [DI1108] Języki i metody programowania 1
- [DI1206] Języki i metody programowania 2