Głównymi założeniami otwartej nauki są: 1) otwarta metodologia, 2) otwarte oprogramowanie (a przynajmniej, jak najmniej komercyjne), 3) otwarte dane, 4) otwarty dostęp, 5) Open Peer Review, oraz 6) otwarte zasoby edukacyjne. By sprostać założeniom otwartej nauki i tym samym prowadzić, jak najlepsze badania replikujące wcześniejsze wyniki potrzebujemy narzędzi informatycznych. Oczywiście ideałem byłyby programy o otwartym kodzie źródłowym (open source), jednak nie zawsze jest to możliwe. Niemniej dysponujemy szeregiem darmowego i opartego o otwarte standardy oprogramowania, które możemy wykorzystać w naszym warsztacie badawczym. W trakcie mojego wystąpienia chciałbym skupić na tych rozwiązań, które szczególnie są przydatne w badaniach z zakresu nauk społecznych. Przede wszystkim pragnę zademonstrować informatyczne narzędzia: przetwarzania i analizy danych, pracy grupowej i umożliwiające otwarte upowszechnianie wyników badań.
2. Z A Ł O Ż E N I A O T W A R T E J N A U K I
H T T P S : / / W W W . F O S T E R O P E N S C I E N C E . E U /
3. AGENDA
1. Open Source – możliwości i trudności.
2. Open Science Tools – data science, machine
learning
i prowadzenie badań z wykorzystaniem narzędzi
informatycznych.
3. Open Hardware – urządzenia w otwartej
architekturze.
4. Open Team – narzędzia wsparcia pracy grupowej.
5. Open Dissemination – narzędzia do wizualizacji
danych i rozpowszechnienia wyników.
6. Open Conclusion – wnioski dotyczące narzędzi w
warsztacie „otwartego” naukowca.
4. OPEN SOURCE
Otwarte oprogramowanie – rodzaj
oprogramowania komputerowego, w którym
kod źródłowy jest wydawany na podstawie
licencji, na mocy której właściciel praw
autorskich przyznaje użytkownikom prawa do
badania, zmiany i rozpowszechniania
oprogramowania w ramach licencji wolnego
oprogramowania.
– https://opensource.org/osd
Zalety:
– Szybszy rozwój oprogramowania.
– Sprawniejsze wykrywanie luk i ich łatanie.
– Elastyczność.
6. PYTHON
Python – język programowania
wysokiego poziomu ogólnego
przeznaczenia, o rozbudowanym
pakiecie bibliotek standardowych,
którego ideą przewodnią jest
czytelność i klarowność kodu
źródłowego. Jego składnia cechuje się
przejrzystością i zwięzłością. Nie
oznacza to, że język ten jest intuicyjny i
prosty.
– https://www.python.org/
Gdzie się nauczyć Pythona:
– https://docs.python.org/3.10/
– https://www.learnpython.org/pl/
– https://www.codecademy.com/lear
n/learn-python-3
– https://www.w3schools.com/pytho
n/default.asp
– https://www.sololearn.com/learnin
g/1073 https://www.tiobe.com/tiobe-index/python/
7. BIBLIOTEKI PYTHONA
NumPy obsługa wielowymiarowych tablic.
– https://numpy.org/
Pandas odczytywanie i analiza danych.
– https://pandas.pydata.org/
Matplotlib wizualizacja danych w tym tworzenie wykresów.
– https://matplotlib.org/
Scikit-learn tworzenie modeli uczenia maszynowego.
– https://scikit-learn.org/
TensorFlow tworzenie modeli uczenia maszynowego i
głębokich sieci neuronowych.
– https://www.tensorflow.org/
Detekcja obiektu przy
wykorzystaniu
biblioteki TensorFlow
8. EKSPERYMENTY W APLIKACJI
WEBOWEJ
p5.js to biblioteka JavaScript do kreatywnego kodowania,
umożliwiająca tworzenie interaktywnych obiektów. p5.js
posiada bogaty zestaw funkcji rysowania w kanwach (canvas).
– https://p5js.org/
– The Coding Train https://www.youtube.com/user/shiffman
ml5.js jest biblioteką uczenia maszynowego przeznaczoną dla
szerokiego grona artystów, kreatywnych programistów oraz
naukowców. Biblioteka zapewnia dostęp do algorytmów i
modeli uczenia maszynowego w przeglądarce, opiera się na
bibliotece TensorFlow.js.
– https://ml5js.org/
MediaPipe oferuje wieloplatformowe, konfigurowalne
rozwiązania ML typu open source dla mediów na żywo i
strumieniowych.
– https://mediapipe.dev/
Model Handpose z ml5.js
umożliwiający
wykrywanie dłoni
9. WYTRENUJ SWÓJ WŁASNY MODEL
Transfer Learning służy do ponownego
wykorzystania wcześniej przygotowanego modelu
do nowego problemu. Jest bardzo popularny w
dziedzinie Deep Learning, ponieważ umożliwia
trenowanie sieci neuronowych przy stosunkowo
niewielkiej ilości danych.
Teachable Machine to narzędzie internetowe,
które umożliwia szybkie i łatwe tworzenie modeli
uczenia maszynowego. Teachable Machine oparte
jest o technikę transfer learning, opiera się na
wcześniej trenowanym modelu danych
MobileNets, opartym o zestaw danych ImageNet.
Teachable Machine umożliwia zebranie danych do
modelu (które nazywane są klasami), trenowanie
modelu, oraz testowanie modelu.
– https://teachablemachine.withgoogle.com/
11. OTWARTE
MIKROKONTROLERY
Open Hardware – termin odnoszący się do
sprzętu (zwykle elektronicznego oraz
komputerowego), który został stworzony na
podobnych zasadach co otwarte
oprogramowanie.
– https://www.oshwa.org/
– https://www.openhardware.io/
– https://ohwr.org/
Arduino to prosta w użyciu platforma
umożliwiająca łatwe i szybkie prototypowanie
złożonych układów elektronicznych, które
wymagają odpowiednio zaprogramowanego
sterowania. UNO to najpopularniejszy układ z
oferty Arduino.
12. OPEN BCI
OpenBCI to platforma interfejsu mózg-
komputer typu open hardware, stworzona
przez Joela Murphy'ego i Conora
Russomanno po udanej kampanii na
Kickstarterze pod koniec 2013 roku.
– https://openbci.com/
– https://github.com/OpenBCI
14. WSPARCIE PRACY ZESPOŁOWEJ
Google Drive - dysk Google usługa do przechowywania i synchronizacji plików. Pierwsze 15 GB
jest za darmo.
– https://drive.google.com
Google Colab umożliwia zespołowe pisanie i wykonywanie dowolnego kodu Pythona za
pośrednictwem przeglądarki. Colab jest hostowaną usługą notebooka Jupyter, która nie wymaga
konfiguracji, a jednocześnie zapewnia dostęp do zasobów obliczeniowych, w tym procesorów
graficznych.
– https://colab.research.google.com/
OpenProject internetowy system zarządzania projektami do niezależnej od lokalizacji współpracy
zespołowej.
– https://www.openproject.org
GitLab oraz GitHub systemy kontroli wersji Git, służące do śledzenia zmian głównie w kodzie
źródłowym oraz pomocy programistom w łączeniu zmian dokonanych w plikach przez wiele osób
w różnym czasie.
– https://gitlab.com oraz https://github.com/
Stack Overflow serwis społecznościowy, na którym programiści mogą zadawać pytania dotyczące
szeroko pojętego wytwarzania oprogramowania.
15. WZMOCNIJ MOTYWACJĘ
Discord oraz Slack – komunikatory internetowe
umożliwiające komunikację tekstową oraz głosową
wraz z możliwością wysyłania multimediów.
– https://discord.com/ oraz https://slack.com/
Trello – aplikacja umożliwiająca tworzenie wizualnych
tablic zadań zgodnie z metodyką Kanban.
– https://trello.com/
Habitica - to gra komputerowa, która pomaga ci
ulepszyć swoje nawyki. „Gamifikuje” twoje życie,
przedstawiając wszystkie zadania (pozytywne nawyki,
codzienne obowiązki i sprawy do załatwienia) jako
małe potwory, które musisz pokonać.
– https://habitica.com/
17. ROZPOWSZECHNIENIE WIEDZY W SOCIAL MEDIACH
JAK TEGO NIE ROBIĆ CO ZASTOSOWAĆ
Research Gate
– https://www.researchgate.net/
Academia.edu
– https://www.academia.edu/
LinkedIn
– https://www.linkedin.com
Google Scholar
– https://scholar.google.pl/
H T T P S : / / T W I T T E R . C O M / A N D R Z E J D U D A /
S T A T U S / 1 3 1 4 5 8 2 7 5 0 1 3 3 9 6 8 8 9 8
18. ABSTRAKT GRAFICZNY
Abstrakt graficzny to streszczenie artykułu
lub książki w formie graficznej.
Draw.IO lub Diagrams.net – proste
narzędzia do tworzenia diagramów oraz
architektury.
– https://www.draw.io/
– https://www.diagrams.net/
Inkscape – darmowe narzędzie do grafiki
wektorowej.
– https://inkscape.org/
Mind the graph oraz Biorender –
profesjonalne narzędzia do tworzenia
infografik i abstraktów graficznych.
– https://mindthegraph.com/
– https://biorender.com/
19. DRAMATYZACJA DANYCH
„Dramatyzacja danych (ang. data dramatisation), w przeciwieństwie do wizualizacji danych, przedstawia zbiór
danych nie tylko w sposób czytelny i przejrzysty, ale w taki sposób, aby wywołać empatyczną lub emocjonalną
reakcję u odbiorców” – Liam Young
– https://medium.com/@memoakten/data-dramatization-fe04a57530e4
Cechy dramatyzacji:
1. przemiana danych w dramatyczną formę,
2. ujęcie formy danych odpowiednią do sytuacji scenę,
3. wyrażenie danych w sposób żywy, emocjonalny lub uderzający.
Świetnym narzędziem do dramatyzacji danych jest Processing. Jest to język programowania oraz zintegrowane
środowisko programistyczne, stworzone głównie z myślą o twórcach nowych mediów i sztuki elektronicznej.
– https://processing.org/
https://guns.periscopic.com/
20. KOMUNIKACJA W BLOGOSFERZE
Blog czyli internetowy dziennik w ostatnich latach stał się popularnym narzędziem pracy
naukowej. Wielu naukowców na blogach publikuje postępy swoich prac, informacje o
wydarzeniach, popularyzuje swoje badania, a także dla wielu jest impulsem motywacji
podczas pisania artykułów naukowych czy prac doktorskich. Blog daje możliwość uzbierania
w jednym miejscu licznych materiałów w tym: literatury, odnośników, grafik i materiałów
wideo. Również w tej formie łatwiej jest podzielić się z innymi osobami pewnymi
przemyśleniami, zanim zostaną one ubrane w hermetyczny język naukowy. Także blog może
stać się miejscem aktywizacji pracy studentów.
• Przykłady blogów:
– Wordpress https://wordpress.com/
– Blogger https://www.blogger.com
– Wix https://www.wix.com/
– Jekyll https://jekyllrb.com/
• Blog z kursu „Transhumanizm” z pracami moich studentów:
– http://artur.socialroboticslab.edu.pl/
22. JAKIE ZALETY MA „OTWARTY” WARSZTAT
Zadanie Stary warsztat „Otwarty” warsztat
Przebieg prac
Przygotowanie danych Ręcznie (ew. w Excelu) Kodowanie w Pythonie lub R
Modelowania Funkcje wielu języków
programowania
Biblioteki Pythona lub pakiety R
Kontrola wersji Duplikacja plików i zmiana
nazwy
Git
Organizacja Konwencje indywidualne Ujednolicona konwencja
zespołowa
Współpraca
Kontakt Mail, telefoniczny Przypisanie zadań,
powiadomienie Pop-up
Zarządzanie projektem Indywidualne konwencje Przepływ pracy w GitHub
Komunikacja
Udostępnianie danych pobieranie z ftp Wszystkie wersje i wydania
dostępne online
Udostępnianie metodologii Publikacja książkowa Publikacja preprintów i różnych
23. LITERATURA
• Toelch, U., & Ostwald, D. (2018). Digital open science—Teaching digital tools for
reproducible and transparent research. PLoS biology, 16(7), e2006022.
• Wimmer, H., & Powell, L. M. (2016). A comparison of open source tools for data
science. Journal of Information Systems Applied Research, 9(2), 4.
• Neylon, C., & Wu, S. (2009). Open Science: tools, approaches, and implications. In
Biocomputing 2009 (pp. 540-544).
• Lowndes, J. S. S., Best, B. D., Scarborough, C., Afflerbach, J. C., Frazier, M. R., O’Hara, C.
C., ... & Halpern, B. S. (2017). Our path to better science in less time using open data
science tools. Nature ecology & evolution, 1(6), 1-7.