Skrócony opis
Przetwarzanie dużej ilości danych, zwykle niemieszczących się na pojedynczym komputerze stanowią wyzwanie dla analityków danych. Celem przedmiotu jest zaznajomienie studentów z przygotowaniem i przetwarzaniem tego typu danych. Na zajęciach przedstawione zostaną różne problemy praktyczne wraz ze sposobami ich rozwiązania. Celem wykładu jest możliwie szerokie przedstawienie samej problematyk przetwarzania dużych zbiorów danych jak i dostępnych narzędzi, które w tym celu mogą być użyte. Laboratorium poświęcone będzie nabyciu praktycznych umiejętności posługiwania się narzędziami wykorzystywanymi przy przetwarzaniu dużych zbiorów danych, np. pracy z jedną wybraną rodziną produktów (np. HBase, Hadoop oraz Spark).
Wymagania wstępne
Podstawy programowania obiektowego.
Efekty kształcenia
Po zakończonym kursie student:
- w zakresie WIEDZY
- Zna podstawowe pojęcia związane z aplikacją dla systemu macOS.
- Zna podstawowe konstrukcje jednego z głównych języków programowania na platformę macOS.
- w zakresie UMIEJĘTNOŚCI
- Swobodnie programuje w podstawowym zakresie w jednym z głównych języków programowania na platformę macOS.
- Osługuje się środowiskiem Xcode.
- Tworzy proste aplikacje działające w systemie macOS.
- w zakresie KOMPETENCJI
- Potrafi samodzielnie kształcić się w oparciu o źródła krajowe, ale przede wszystkim zagraniczne.
- Potrafi kreatywnie rozwiązywać postawione zadania i napotkane problemy.
Treści kształcenia
Zajęcia (28h) składają się z trzech części:
- Wprowadzenie do języka Swift (8h)
- Podstawy języka Swift.
- Praca z Xcode oraz Playgrounds.
- Podstawy tworzenia aplikacji na platformę macOS (12h)
- Podstawowe komponenty insterfejsu użytkownika (m.in. przyciski, etykiety, pola tekstowe).
- Tworzenie menu, alertów, prostych okien dialogowych.
- Elementy grafiki.
- Komunikacja sieciowa.
- Wykonywanie zadań poza głównym wątkiem aplikacji.
- Praca nad projektem zaliczeniowym (8h)
Metody i kryteria oceniania
Na ocenę ogólną z zajęć składa się:
- ocena z ćwiczeń (100%)
Na ocenę z ćwiczeń składa się:
-
- Przygotowanie projektu (lub projektów) według podanych wymagań.
- Zaproponowanie i zrealizowanie własnego projektu.
Student realizuje albo opcję 1 albo opcję 2. Ocena końcowa zależy od
- staranności wykonania aplikacji (z punktu widzenia użytkownika) (25%),
- dbałości o kod (25%),
- wykorzystania omawianych na zajęciach mechanizmów i koncepcji (50%).
Projekt sprawdza efekty kształcenia w zakresie wiedzy, umiejętności i kompetencji (efekty: xxx)
Literatura podstawowa
Literatura uzupełniająca
- W języku polskim
- Nathan Marz, James Warren, Big Data. Najlepsze praktyki budowy skalowalnych systemów obsługi danych w czasie rzeczywistym, Helion
- W języku angielskm
- Nathan Marz, James Warren, Big Data. Principles and best practices of scalable realtime data systems, Manning Publications, April 2015
- By Thomas Erl, Wajid Khattak, Paul Buhler, Big Data Fundamentals: Concepts, Drivers & Techniques, Part of the The Prentice Hall Service Technology Series from Thomas Erl series, Published Jan 5, 2016 by Prentice Hall.