Course Card

  • Status:
  • Ready

1DI2153 - Algorytmy w inżynierii danych

Course secondName name: 
Algorithms in data science
  • Short name:AWID
  • Course number:1DI2153
  • Reprezentuje kierunek: M,D,PL - Informatyka Stosowana
  • Responsible person: dr inż. Bartosz Chaber
  • WWW: Info  
  • Course language:PL
  • ECTS:4
  • Course level: Intermediate
  • Type of pass:Exam
  • Hours:
  • W: 30, P: 10
Course is a part of following study programmes:
  • Informatyka stosowana Semester: 1 Study stage: Model 2, magisterskie II-go stopnia, stacjonarne, polski, Study plan version (The specialization can have different study programme versions. This number indicates the study plan version.): WPS2023Z/2024L
  • Informatyka stosowana Semester: 1 Study stage: Model 2, magisterskie II-go stopnia, stacjonarne, polski, Study plan version (The specialization can have different study programme versions. This number indicates the study plan version.): WPS2022Z/2023L
  • Informatyka stosowana Semester: 1 Study stage: Model 2, magisterskie II-go stopnia, stacjonarne, polski, Study plan version (The specialization can have different study programme versions. This number indicates the study plan version.): WPS2019Z/2020L
  • Informatyka stosowana Semester: 1 Study stage: Model 2, magisterskie II-go stopnia, stacjonarne, polski, Study plan version (The specialization can have different study programme versions. This number indicates the study plan version.): WPS2020Z/2021L
  • Informatyka stosowana Semester: 1 Study stage: Model 2, magisterskie II-go stopnia, stacjonarne, polski, Study plan version (The specialization can have different study programme versions. This number indicates the study plan version.): WPS2021Z/2022L
Ellective in catalogs:
Found 0 items. (Show details)
Short content: 
Celem przedmiot jest przygotowanie studentów do świadomego wykorzystywania algorytmów, metodyk programowania oraz środowisk programistycznych ukierunkowanych na przetwarzanie i analizę danych numerycznych. Ukończenie przedmiotu umożliwi studentom tworzenie rzeczywistych aplikacji uwzględniających analizę danych pomiarowych, symulacyjnych oraz z zakresu statystyki i systemów rekomendacyjnych. Przedmiot ma za zadanie przygotować słuchaczy do krytycznego doboru, dostosowanego do konkretnego zagadnienia metod numerycznych oraz ich implementacji w nowoczesnych językach programowania. Zasadniczym celem jest przygotowanie do samodzielnej analizy i implementacji algorytmów z naciskiem na ich zajętość pamięciową oraz złożoność obliczeniową.
Syllabus details: 
* Wprowadzenie do nowoczesnych języków przetwarzania danych (Python, Julia)
* Metodyka przetwarzania danych (praca interaktywna, skryptowa oraz tworzenie systemów przetwarzania danych)
* Przetwarzanie danych statystycznych (rodzaje regresji)
* Systemy uczące (ang. Machine Learning) z nauczycielem i bez nauczyciela
* Algorytmy przetwarzania danych tekstowych
* Implementacja algorytmów geometrycznych (struktury danych do przechowywania danych topologicznych)
* Modelowanie układów dynamicznych (na przykładzie wyznaczania optymalnej trasy z predykcją czasu osiągnięcia celu)
* Programowanie dynamiczne, algorytmy zachłanne
* Problemy NP-zupełne
Literature: 
1. Cormen Thomas H., Leiserson Charles E., Rivest Ronald L, Clifford Stein, Wprowadzenie do algorytmów, 2018
2. Martin Kleppmann, Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, 2017, O’Reilly Media, 2017, ISBN: 1449373321, 9781449373320
3. Mykel Kochenderfer, Tim Wheeler, Algorithms for Optimization, MIT Press, 2019, ISBN: 0262039427, 978-0262039420
4. Chris Rackauckas †, ""A Deep Introduction to Julia for Data Science and Scientific Computing"", url: http://ucidatascienceinitiative.github.io/IntroToJulia/, dostęp: 27.02.2020.
5. Ben Lauwens, Allen Downey, 2018, ""Think Julia"", url: https://benlauwens.github.io/ThinkJulia.jl/latest/book.html, dostęp: 27.02.2020
Grading criteria: 
Ocena końcowa jest wystawiana na podstawie pisemnego testu oraz oceny zrealizowanego projektu. Projekt końcowy musi być dostarczony w formie raportu oraz musi zostać obroniony w formie prezentacji.
Notes: 
-
Courses which this course is based on (prerequisities):
  • Educational effect for specialization Informatyka Stosowana:
  • Wiedza
    Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania
    I2_W01 Ma rozszerzoną i pogłębioną wiedzę z zakresu matematyki przydatną do formułowania i rozwiązywania złożonych zadań z zakresu informatyki obejmującą wybrane zagadnienia dotyczące: a) analizy matematycznej, b) algebry, c) probabilistyki, d) metod numerycznych, e) optymalizacji. ++ (66%)
    W ramach przedmiotu student zdobywa wiedzę z zakresu metod numerycznych w zastosowaniach ukierunkowanych na przetwarzanie danych (zarówno klasycznych zbiorów jak i wielkich zbiorów danych).
    Ocena odpowiedzi na pytania opisowe na egzaminie pisemnym.
    I2_W01b ma rozszerzoną i pogłębioną wiedzę z zakresu matematyki przydatną do formułowania i rozwiązywania złożonych zadań z zakresu informatyki, obejmującą wybrane zagadnienia dotyczące

    algebry

    + (33%)
    Student zdobywa wiedzę związana z efektywną implementacją metod z zakresu algebry liniowej wykorzystując algorytmy bezpośrednie jak i iteracyjne.
    Ocena implementacji projektu oraz odpowiedzi na pytania na egzaminie pisemnym.
    I2_W01d ma rozszerzoną i pogłębioną wiedzę z zakresu matematyki przydatną do formułowania i rozwiązywania złożonych zadań z zakresu informatyki, obejmującą wybrane zagadnienia dotyczące

    metod numerycznych

    +++ (100%)
    Student zdobywa wiedzę związaną z implementacją struktur danych oraz algorytmów numerycznych ukierunkowaną na przetwarzanie
    danych.
    Ocena implementacji projektu oraz odpowiedzi na pytania na egzaminie pisemnym.
    I2_W04b ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu

    algorytmów i złożoności

    ++ (66%)
    Student zdobywa wiedzę an temat metod analizy złożoności zaawansowanych algorytmów numerycznych.
    Ocena wniosków oraz analizy wyników uzyskanych w ramach projektu.
    I2_W06a ma wiedzę o trendach rozwojowych i najistotniejszych nowych osiągnięciach z zakresu

    informatyki

    + (33%)
    Student zapoznanej się z nowoczesnymi językami programowania algorytmów numerycznych.
    Ocena odpowiedzi na egzaminie pisemnym dotyczących nowoczesnych rozwiązań zastosowanych w języku programowania Julia. Ocena przeglądu literatury oraz wyboru narzędzi do rozwiązania zadania projektowego.
    I2_W08c zna podstawowe, stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu informatyki

    narzędzia

    + (33%)
    Student wykorzystuje zaawansowane narzędzia programistyczne oraz wizualizacji danych do przeprowadzania eksploracji danych.
    Ocena zastosowanych narzędi do wizualizacji i eksploracji danych w ramach zaimpleentowanego projektu.
  • Umiejętności
    Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania
    I2_U01 Potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł w wersji drukowanej i elektronicznej, w tym w Internecie, także w języku angielskim albo francuskim lub niemieckim w zakresie informatyki, potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski, formułować i wyczerpująco uzasadniać opinie. + (33%)
    Potrafi przeygotować analizę bieżącego stanu wiedzy związanego z metodami symulacyjnymi dla konkretnego zagadnienia technicznego i przygotować jej opracowanie.
    Ocena przygotowanego raportu końcowego zwłaszcza w kontekście sekcji dotyczącej analizy bieżącego stanu wiedzy.
    I2_U08 Potrafi planować i przeprowadzać eksperymenty, w tym pomiary, symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski. + (33%)
    Student potrafi zaplanować eksperyment potwierdzający założenia teoretyczne oraz wykonać ich krytyczną analizę.
    Ocena implementacji projektu zwłaszcza w kontekście zaprojektowanego samodzielnie przez studenta eksperymentu numerycznego potwierdzającego tezę związaną z własności wybranego algorytmu przetwarzania danych.
    I2_U15 Potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić, zwłaszcza w powiązaniu z informatyką, istniejące rozwiązania techniczne, w szczególności maszyny, urządzenia, obiekty, systemy, procesy i usługi. + (33%)
    potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić narzędzia programistyczne do wykonania postawionego zadania technicznego
    Ocena zastosowanych rozwiązań oraz wniosków w raporcie zrealizowanego projektu.
    I2_U18 Potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania zadania inżynierskiego charakterystycznego dla informatyki, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi, stosując także koncepcyjnie nowe metody, rozwiązywać złożone zadania inżynierskie, charakterystyczne dla informatyki, w tym zadania nietypowe oraz zadania zawierające komponent badawczy. + (33%)
    potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania zadań związanych z wizualizacją oraz przetwarzaniem dużych zbiorów danych numerycznych zwracając uwagę na ich wiarygodność oraz czytelność.
    Ocena analizy wyników zrealizowanego projektu, którego celem jest porównanie efektywności wybranych algorytmów przetwarzania danych, odpowiedź na pytania egzaminacyjne.
  • Kompetencje społeczne
    Kod Efekt Kształcenia dla kierunku Procent Efekt kształcenia dla przedmiotu Sposób sprawdzania
    Brak efektów kształcenia
    • ECTS with teacher assistance: 2 
    • ECTS on practical activities: 3 
    • ECTS justification:
    • Zajęcia kontaktowe z nauczycielem: 
      Uczestnictwo w wykładach prowadzonych w formie warsztatowej przed komputerem (30h). Wprowadzenie oraz krytyczna ocena realizacji projektów, prezentacja opracowanych projektów w grupie (10h).
    • Classes / work without teacher assistance: 
      (25h) - Przygotowanie i utrwalanie materiałów z wykładu.
      (30h) - Samodzielna realizacja projektu.
      (25h) - Rozwiązanie ćwiczeń postawionych na części wykładowo- warsztatowej.
      • Total number of student hours: 120 
    • Total number of ECST reflects the total number of hours of student's work.