Serwisy internetowe Uniwersytetu Warszawskiego Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Algorithms for Data Science

Informacje ogólne

Kod przedmiotu: 2400-DS1AL Kod Erasmus / ISCED: 14.3 / (0311) Ekonomia
Nazwa przedmiotu: Algorithms for Data Science
Jednostka: Wydział Nauk Ekonomicznych
Grupy: Anglojęzyczna oferta zajęć WNE UW
Przedmioty obowiązkowe dla I roku Data Science
Punkty ECTS i inne: 6.00
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:

Poniżej przedstawiamy listę poruszanych zagadnień. Istnieje możliwość jej modyfikacji (szerszego omówienia tematu, bądź skróconego) w zależności od zainteresowań grupy. Gwiazdki sugerują, które tematy zamierzamy omówić mniej szczegółowo.

1. Wprowadzenie

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

-- Jak samemu się uczyć algorytmiki

-- Przykładowy algorytm

2. Podstawowe definicje

-- model obliczeniowy: maszyna RAM

-- definicja problemu obliczeniowego

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

3. Prawidłowość algorytmów: niezmienniki i niezmienniki pętli

4. Klasyczne algorytmy sortowania

5. Programowanie dynamiczne

6. Słowniki

– listy i tablice

– zrównoważone drzewa binarne *

– tablice haszujące *

7. Inne struktury danych

– kopce

– drzewa przedziałowe

– Find&Union *

8. Grafy

– definicje i zastosowania

– BFS

– DFS

– Algorytm Dijkstry

– skojarzenia i przepływy

9. NP-zupełność

– najważniejsze klasy złożoności: P, NP

– Redukcje i NP-trudność

– Przykłady problemów NP-trudnych

10. Poza klasyczną algorytmiką: symulowane wyżarzanie

Literatura:

Obowiązkowa:

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

Dodatkowa:

- 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ści i oszacować ich złożoność obliczeniową

– Jest w stanie zastosować wiedzę w praktyce: rozpoznaje typowe obszary, w których standardowe struktury danych i algorytmy mogą być zastosowane lub stosuje je w swoich projektach

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

Metody i kryteria oceniania:

Ocena końcowa jest ważoną średnią ocen uzyskanych z egzaminu końcowego, zadań programistycznych oraz kartkówek. Egzamin pisemny składa się z części teoretycznej i praktycznej. Zadania programistyczne i kartkówki są obowiązkowe. Nalezy uzyskać co najmniej połowę punktów z zadań programistycznych i kartkówek, połowę punktów z części teoretycznej egzaminu oraz połowę punktów z części praktycznej egzaminu.

Zajęcia w cyklu "Semestr letni 2020/21" (w trakcie)

Okres: 2021-02-22 - 2021-06-13
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Ćwiczenia, 15 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Fleszar
Prowadzący grup: Krzysztof Fleszar, Arka Ghosh, Jakub Radoszewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Ćwiczenia - Zaliczenie na ocenę
Wykład - Egzamin
Tryb prowadzenia:

zdalnie

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.