Semantyka eksperymentalna - moduł programistyczny 3501-KOG-SE-MPRG
1. Organizacja pracy badawczej
Zajęcia 1. Dlaczego badanie powinno być reprodukowalne i jak to zrobić?
- poszczególne etapy przeprowadzania badania
- potrzeba automatyzacji poszczególnych elementów przygotowywania, przeprowadzania i analizy badania
- cel praktyczny: student rozumie dlaczego właściwa organizacja pracy badawczej jest niezbędna w naukach eksperymentalnych, widzi również korzyści w dokumentowaniu i automatyzacji różnych etapów badania
Zajęcia 2. Wprowadzenie do Jupyter Notebook
- Jupyter Notebook jako realizacja idei literate computing
- tworzenie raportów badawczych w programie Jupyter Notebook
- eksport dokumentów z Jupytera do innych formatów
- cel praktyczny: student potrafi stworzyć dokument za pomocą programu Jupyter Notebook oraz wyeksportować go do innych formatów
2. Programistyczna obsługa poznanych narzędzi
Zajęcia 1. Programistyczna obsługa Limesurvey za pomocą API.
- wprowadzenie do interfejsu XML-RPC i odpowiedniej biblioteki w Pythonie
- omówienie funkcji API oferowanego przez Limesurvey
- wprowadzenie do języka szablonu jinja2
- cel praktyczny: student potrafi wgrać ankietę i poszczególne jej elementy za pomocą prostego skryptu w języku Python, potrafi również w ten sposób zmodyfikować różne elementy ankiety oraz ściągnąć wyniki badania na dysk, potrafi również wygenerować za pomocą systemu jinja2 całą ankietę lub zestaw pytań
Zajęcia 2. Używanie PsychoPy jako biblioteki do programowania eksperymentów
- programowanie eksperymentów w Pythonie z użyciem PsychoPy jako biblioteki
- tworzenie podstawowych rodzajów bodźców i odpowiedzi z użyciem PsychoPy
- kontrolowanie przebiegu eksperymentu (próby, pętle, sesja treningowa i główna)
- cel praktyczny: student potrafi zaprogramować w Pythonie różne rodzaje eksperymentów wykorzystywanych w badaniach z zakresu semantyki eksperymentalnej
- Analiza i wizualizacja wyników danych
Zajęcia 1. Wprowadzenie do pakietu pandas
- podstawowe struktury danych w pakiecie pandas
- prosta manipulacja ramkami danych
- eksport i import danych (csv, xlsx, formaty programów: Stata, R, SPSS)
- proste statystyki opisowe
- cel praktyczny: student potrafi wczytać za pomocą pakietu pandas dane w szerokiej gamie formatów oraz posiada podstawowe umiejętności pracy z danymi
Zajęcia 2. Krótkie przypomnienie ze statystyki. Wprowadzenie do pakietów scipy i statsmodels.
- omówienie najpopularniejszych w semantyce eksperymentalnej testów statystycznych
- omówienie przeprowadzania tych testów za pomocą odpowiednich pakietów Pythona
- cel praktyczny: student potrafi przeprowadzić prostą analizę danych eksperymentalnych
Zajęcia 3. Wprowadzenie do pakietów do wizualizacji danych matplotlib i seaborn.
- tworzenie różnych rodzajów wykresów za pomocą biblioteki matplotlib - histogramy, wykresy słupkowe, wykresy punktowe, wykresy pudełkowe
- tworzenie różnych rodzajów łączonych wykresów za pomocą biblioteki seaborn - wykresy skrzypcowe, wykresy z linią regresji
- przygotowanie wykresów do publikacji w internecie/druku/do prezentacji
- dobór właściwych wizualizacji do celów
- cel praktyczny: student potrafi stworzyć wizualizację danych eksperymentalnych zarówno w celach eksploracyjnych, jak i do druku.
Rodzaj przedmiotu
Tryb prowadzenia
Założenia (opisowo)
Efekty kształcenia
Nabyta wiedza:
- student zna podstawy organizacji pracy badawczej
- student zna pojęcia reprodukowalnych badań (reproducible research) oraz programowania piśmiennego (literate programming)
Nabyte umiejętności:
- student potrafi obsłużyć programistycznie wybrane narzędzia używane w semantyce eksperymentalnej
- potrafi przygotować przystosowane do jego potrzeb procedury i materiały badawcze za pomocą odpowiednich narzędzi (ankiety, prezentacja bodźców itd.)
- student potrafi stworzyć wizualizację otrzymanych danych eksperymentalnych
Nabyte kompetencje społeczne:
- student potrafi zorganizować zespołową pracę badawczą
- student potrafi samodzielnie i systematycznie się uczyć
- student rozumie etyczny wymiar odpowiedniej organizacji badań związany z ich przejrzystością i reprodukowalnością
Kryteria oceniania
W każdym tygodniu pojawi się praca domowa (łącznie 7 prac domowych, po 10 punktów każda). Ocena końcowa zależy tylko od poprawnego wykonania prac domowych.
0-35 - 2
35-50 - 3
50-60 - 4
60-70 - 5
Literatura
Bibliografia/linki (Bibliography and useful links)
Strona programu Jupyter Notebook (Jupyter Notebook webpage): http://jupyter.org/
Strona biblioteki scipy (scipy library webpage): https://www.scipy.org/
Strona biblioteki pandas (pandas library webpage): http://pandas.pydata.org/
Strona biblioteki statsmodels (statsmodels library webpage): http://www.statsmodels.org/
Strona biblioteki matplotlib (matplotlib library webpage): https://matplotlib.org/
Strona biblioteki seaborn (seaborn library webpage): https://seaborn.pydata.org/
Strona biblioteki jinja2 (jinja2 library webpage): http://jinja.pocoo.org
Różne materiały (various materials)
- https://reproducible-science-curriculum.github.io/rr-jupyter-workshop/ -
- http://ropensci.github.io/reproducibility-guide/sections/introduction/ -
- https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3383002/?utm_content=buffer518fc&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
- Stodden, V., Leisch, F., & Peng, R. D. (Eds.). (2014). Implementing reproducible research. CRC Press.
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: