# Programowanie w pythonie Materiały do zajęć Programowanie w Pythonie prowadzone na Wydziale Matematyki i Informatyki UAM w ramach studiów podyplomowych Przetwarzanie danych - Big Data. Kurs 2023/2024 ## Informacja o przedmiocie Prowadzący: mgr inż. Jakub Pokrywka. Kontakt przez komunikator MS TEAMS lub mailowy (jakub.pokrywka@amu.edu.pl). ## Materiały do przedmiotu i jak się uczyć Program jest wzorowany na https://github.com/tomekd/python . Spora cześć zadań się pokrywa, ale nie wszystkie. Do nauki można wykorzystać wiele tutoriali internetowych python (w wersji python3). Pomocne mogą byc w szczególności: * Learning Python, 5th Edition by Lutz, Mark * [datacamp.com](https://datacamp.com): Portal DataCamp zawiera wiele interaktywych kursów nt. poszczególnych elementów języka Python (również dla języka R.). * [Python3: From None to Machine Learning](https://python.astrotech.io/) * [Real Python](https://realpython.com/) * [Dive in Python](https://diveintopython3.net/): Klasyczny kurs programowania w Pythonie. * [Filmy na Youtubie](https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6): seria filmów od Microsoftu nt. podstaw programowania w Pythonie. ## Ogólny Plan zajęć - Zajęcia 1 - Wprowadzenie do python - Zajęcia 2 - Analiza danych - Zajęcia 3 - Analiza danych, instalacja środowiska, IDE - Zajęcia 4 - Podstawy uczenia maszynowego w python - Zajęcia 5 - Podstawy uczenia maszynowego w python, obługa maszyny wirtualnej - Zajęcia 6 - Tworzenie REST API - Zajęcia 7 - Tworzenie REST API, testowanie aplikacji ## Zaliczenie przedmiotu - Projekt wykonujemy w grupach (1-3) osoby - Kod źródłowy powinien być umieszczony na git wraz z plikiem `environment.yml` przeznaczonym do instalacji środowiska dla conda - Prezentacja całego projektu powinna trwać 5-15 minut - Przykładowa prezentacja: https://docs.google.com/presentation/d/1UeUB8s7Go8Dsjk0RyZZdcr6TSgDLuM9gmewOwlm86qU/edit?usp=sharing - przykładowa aplikacja do serwowania modelu ML: http://kubapok.projektstudencki.pl:8000/docs (dostępny tylko w sieci wydziałowej) - Przykłady są bardzo podstawowe. Zachęcam do stworzenia bardziej rozbudowanego projektu bazującego na Państwa zainteresowaniach - Proszę uwzględnić, że dodatkowo należy będzie pokazać repozytorium kodu oraz testy Skala ocen - Należy wybrać zbiór danych (akceptacja grup oraz zbioru danych przez prowadzącego na pierwszych 17.11.21 lub drugich zajęciach 18.11.23), zaprezentować analizę tego zbioru danych (tabelki, wykresy, wnioski) w max 10 minut- zaliczenie na ocenę 3) - Należy wytrenować prosty model uczenia maszynowego (lub użyć gotowego modelu) i zaprezentować jego wyniki na zbiorze testowym. Jakość modelu nie będzie oceniana, ale powinien radzić sobie lepiej niż bardzo prosty model (klasa większościowa dla klasyfikacji lub średnia dla regresji)- zaliczenie na ocenę 4 - Należy wystawić model z poprzedniego punktu w prostej aplikacji REST i zaprezentować jego działanie. Do aplikacji powininy być napisane conajmniej 2-3 proste przypadki testowe- zaliczenie na llocenę 4.5 - Należy udostępnić aplikację w sieci wydziałkowej 5 W celu prezentacji projektu należy umowić sie z prowadzącym na prezentacje zdalną lub na wydziale (tylko w dni pracujące). Termin oddania zadań do koniec stycznia 2024. Dodatkowo można zgłosić prezentacje do końca 2023- wtedy prowadzący proponuje ocenę i zespół może albo ją przyjąć lub nie i spróbować jeszcze raz w styczniu.