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
- 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
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.