Human-Computer Interaction
Przedmiot prowadzony jest dla studentów 2-ego roku kierunku kognitywistyka na Uniwersytecie Adama Mickiewicza w Poznaniu. 🎓
- zaj. 1-4: mgr Agnieszka Smolnicka,
agnieszka.smolnicka[at]amu.edu.pl, dyżur: pon. 14:00-15:00, pok. 110 - zaj. 5-11: mgr Dawid Ratajczyk,
dawid.ratajczyk[at]amu.edu.pl, dyżur: śr. 12:00-13:00, pok. 110 - zaj. 12-14: dr Aleksandra Wasielewska,
aleksandra.wasielewska[at]amu.edu.pl, dyżur: czw. 13:30-15:30, pok. LBR - wykład: dr inż. Marcin Jukiewicz (koordynator),
marcin.jukiewicz[at]amu.edu.pl
Kurs składa się z czterech części:
- Elementy Computer Science
- Tworzenie stron internetowych
- Analiza biosygnałów
- Elementy Human-Robot Interaction
Oceny wystawiane są na podstawie zadań wykonywanych w trakcie zajęć lub w domu, wejściówek oraz na podstawie projektu dotyczącego interfejsów mózg komputer.
Uwaga 🏢 Zgodnie z regulaminem studiów obowiązują dwie nieobecności, niezależnie od tego, czy są one usprawiedliwione, czy nie. 📘
| lp. | Temat | Data (czwartek/piątek) | Zadanie | Liczba punktów |
|---|---|---|---|---|
| 1. | Liczby binarne | 2/3.10.25 | Praca domowa | 2 |
| 2. | Bramki logiczne | 9/10.10.25 | - | - |
| 3. | HTML | 16/17.10.25 | - | - |
| 4. | CSS | 23/24.10.25 | - | - |
| 5. | Analiza sygnałów 1 | 6/7.11.25 | Arkusz z zajęć | 2 |
| 6. | Analiza sygnałów 2 | 13/14.11.25 | Praca domowa | 2 |
| 7. | Analiza sygnałów 3 | 20/21.11.25 | - | - |
| 8. | Wykrywanie mrugnięć | 27/28.11.25 | - | - |
| 9. | Zbieranie danych do projektu | 4/5.12.25 | - | - |
| 10. | Zbieranie danych do projektu 2 | 11/12.12.25 | - | - |
| 11. | Praca nad projektem | 18/19.12.25 | - | - |
| 12. | Elementy Human-Robot Interaction | 8/9.01.26 | Praca na zajęciach/domowa | 3 |
| 13. | Elementy Human-Robot Interaction 2 | 15/16.01.26 | - | - |
| 14. | Elementy Human-Robot Interaction 3 | 22/23.01.26 | - | - |
| 15. | Poprawka | 30.01.26 | - | - |
| Wejściówki | 9 | |||
| Projekt | 12 | |||
| Suma | 30 |
Zadania domowe proszę wysyłać na adres mailowy prowadzącego dane zajęcia. Czas na wykonanie to tydzień.
Celem projektu jest zrozumienie, jak sygnały mięśniowe związane z mrugnięciem mogą być wykorzystywane w komunikacji człowiek–komputer lub w analizie reakcji użytkownika na bodźce.
Dane EMG będą zbierane offline (oddzielne logi mrugnięć i bodźców), a analiza zostanie wykonana w środowisku Python / Jupyter Notebook.
Pracujecie w zespołach 2-osobowych i wybieracie jeden z dwóch wariantów projektu.
Odtworzenie słowa wymruganego przez użytkownika na podstawie dwóch plików:
litery_czas.txt– zapis momentów wyświetlania litermrugniecia.txt– zapis momentów wykrycia mrugnięć
Należy dopasować momenty mrugnięć do liter i sprawdzić, jakie słowo zostało „wymrugane”.
Projekt koncentruje się na analizie danych i dekodowaniu offline (bez synchronizacji online).
Do zajęć 4–5 grudnia 2025 r. należy przygotować program do wyświetlania liter, który:
- wyświetla kolejne litery alfabetu w pętli (np. co 1 sekundę; z uwzględnionymi przerwami na swobodne mruganie)
- zapisuje literę i czas jej wyświetlenia do pliku
litery_czas.txt:
with open("litery_czas.txt", "a") as f:
f.write(f"{litera},{time.time():.6f}\n")Sprawdzenie, czy ludzie mrugają inaczej w zależności od rodzaju prezentowanych bodźców (np. neutralnych, emocjonalnych, zaskakujących).
Podczas zbierania danych program wyświetla bodźce (obrazy, słowa itp.) i zapisuje:
bodzce_czas.txt– czasy wyświetlenia i kategorię bodźcamrugniecia.txt– czasy wykrycia mrugnięć, np.:
with open("bodzce_czas.txt", "a") as f:
f.write(f"{kategoria},{bodziec},{time.time():.6f}\n")Analiza offline polega na porównaniu częstości lub rytmu mrugnięć między kategoriami bodźców.
Do zajęć 4–5 grudnia 2025 r. należy przygotować program do wyświetlania bodźców, który:
- wyświetla serię obrazków, słów lub innych bodźców w różnych kategoriach
- zapisuje nazwę bodźca, jego kategorię i czas wyświetlenia do pliku
bodzce_czas.txt
| Element | Punkty | Opis |
|---|---|---|
| Wczytanie i wizualizacja danych | 2 | Poprawne wczytanie i podstawowa eksploracja |
| Analiza główna (dekodowanie / porównanie) | 4 | Kluczowa część projektu |
| Analiza błędów lub porównanie wariantów | 3 | W przypadku błędów: próba poprawy, test alternatyw |
| Refleksja i raport | 3 | Interpretacja wyników i wnioski |
- 4–5 grudnia 2025 r. – przygotowanie programu (liter lub bodźców) na zajęcia z rejestracją danych
- 11 stycznia 2026 r. – termin oddania projektu
Wysyłacie w jednej spakowanej paczce (.zip):
projekt.ipynb(Jupyter Notebook) iprojekt.pdf(raport)- Dane:
litery_czas.txtlubbodzce_czas.txt(w zależności od wariantu)mrugniecia.txt
- Program użyty do prezentacji:
wyswietlacz_liter.pylubbodzce.py
- Do dopasowania czasów mrugnięć i bodźców można użyć funkcji łączenia danych według najbliższego czasu (np. pd.merge_asof()).
- Do wizualizacji wyników przydadzą się biblioteki:
matplotliblubseaborn. - Raport powinien krótko opisywać przebieg pracy, zastosowane metody, uzyskane wyniki oraz wnioski (plik pdf).
| Ocena | L. punktów |
|---|---|
| bardzo dobry (5,0) | ⩾ 27 |
| dobry plus (4,5) | 24 - 26,5 |
| dobry (4,0) | 21 - 23,5 |
| dostateczny plus (3,5) | 19,5 - 20,5 |
| dostateczny (3,0) | 18 - 19 |
| niedostateczny (2,0) | < 18 |
- Przeczytaj polecenie i wykonaj dokładnie to o co jesteś proszony/a
- Ustrukturyzuj kod i odpowiedzi w zadaniach, aby jasne było co miałeś/aś na myśli
- Pamiętaj o opisywaniu osi wykresów - jaka zmienna jest prezentowana oraz w jakich jednostkach
- Podpisz się na arkuszu
W wierszu poleceń:
pip install notebook
Aby uruchomić notebook wpisujemy w wierszu poleceń:
jupyter notebook
lub (bardziej skuteczne, jeśli nie mamy polecenia "jupyter")
python -m notebook
Środowisko Dziobak: http://150.254.90.119
Logowanie za pomocą loginu z USOSa i hasła ustalonego przy pierwszym logowaniu.