Uniwersytet Warszawski, Wydział Nauk Ekonomicznych - Centralny System Uwierzytelniania
Strona główna

Algorithms for Data Science

Informacje ogólne

Kod przedmiotu: 2400-DS1AL
Kod Erasmus / ISCED: 14.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0311) Ekonomia Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Algorithms for Data Science
Jednostka: Wydział Nauk Ekonomicznych
Grupy: Anglojęzyczna oferta zajęć WNE UW
Przedmioty kierunkowe do wyboru - studia II stopnia IE - grupa 2 (2*30h)
Przedmioty obowiązkowe dla I roku Data Science and Business Analytics
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Rodzaj przedmiotu:

obowiązkowe

Skrócony opis:

Celem kursu jest nauka podstawowych algorytmów i struktur danych. Każdy temat będzie omawiany zarówno teoretycznie jak i aplikacyjnie (w popularnych językach programowania, takich jak C++ czy Python).

Ocena końcowa zależna jest od wyników uzyskanych w zadaniach programistycznych, kartkówkach i pisemnym egzaminie.

Pełny opis:

1. Wprowadzenie

-- Języki programowania, których będziemy używać

-- Jak samemu się uczyć algorytmiki

-- Przykładowy algorytm

-- Prawidłowość algorytmów: warunek stopu i niezmienniki pętli

2. Podstawowe definicje

-- Model obliczeniowy: maszyna RAM

-- Definicja problemu obliczeniowego

-- Złożoność algorytmiczna i notacja asymptotyczna

3. Analiza złożoności algorytmów

4. Metoda dziel i zwyciężaj

-- Twierdzenie o rekurencji uniwersalnej

5. Klasyczne algorytmy sortowania

-- Struktura danych: kopiec

6. Programowanie dynamiczne

7. Słowniki

-- Tablice i listy

-- Zrównoważone drzewa binarne

-- Tablice haszujące

8. Grafy

-- Definicje i zastosowania

-- Przeszukiwanie wstecz i w głąb

-- Minimalne drzewo rozpinające

-- Algorytm Dijkstry

-- Algorytm Floyda-Warshalla

-- Algorytm Kruskala

-- Struktury danych: stos, kolejka, kolejka priorytetowa

-- Struktura danych: find&union

9. Trudne problemy

-- Najważniejsze klasy złożoności: P, NP

-- Redukcje i NP-trudność

-- Przykłady problemów NP-trudnych

-- Rozwiązywanie trudnych problemów

Literatura:

Polecana:

- Cormen T.H, Leiserson Ch.E, Rivest R.L, Stein C. Introduction to algorithms. The MIT Press.

- Banachowski L., Diks K., Rytter W. Algorytmy i struktury danych. WNT, 2011.

Efekty uczenia się:

Dzięki kursowi, student:

– Zna podstawy teorii algorytmów i struktury danych

– Wie, jak zaprojektować własne algorytmy, dowieść ich poprawność i oszacować ich złożoność obliczeniową

– Rozumie istotność korzystania z właściwych struktur danych i wydajnych algorytmów w swojej pracy

– Jest w stanie zastosować wiedzę w praktyce, wybierając najbardziej odpowiednie struktury danych i metody algorytmiczne dla danych sytuacji, i używając ich we własnych projektach.

Metody i kryteria oceniania:

Ocena końcowa jest ważoną średnią ocen uzyskanych z egzaminu końcowego, zadań programistycznych oraz kartkówek. Żeby zaliczyć przedmiot (egzamin i ćwiczenia) należy uzyskać co najmniej połowę punktów z zadań programistycznych i kartkówek oraz połowę punktów z egzaminu.

Obecność na ćwiczeniach jest obowiązkowa przy czym dwie usprawiedliwione nieobecności są dozwolone.

Zajęcia w cyklu "Semestr letni 2023/24" (w trakcie)

Okres: 2024-02-19 - 2024-06-16
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Fleszar
Prowadzący grup: Krzysztof Fleszar
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski, Wydział Nauk Ekonomicznych.
ul. Długa 44/50
00-241 Warszawa
tel: +48 22 55 49 126 https://www.wne.uw.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.1.0-2 (2024-02-19)