Education Application

Desktopowa aplikacja do nauki matematyki i języka angielskiego.

Example image

Uruchomiona aplikacja wyświetla w określonych odstępach czasu na ekranie losowe zadaia z matematyki lub z języka angielskiego. Zadania są przechowywane w lokalnej bazie danych. Prawdopodobieństwo wylosowania danego typu zadania zależy od skuteczności użytkownika na tym zadaniu (trudniejsze dla użytkownika zadania pojawiają się częściej) oraz całkowitej liczby wystąpień tego zadania (zadania, które losowane były rzadziej mają większe prawdopodobieństwo wylosowania). Dodatkowo co tydzień wysyłany jest wiadomość e-mail zawierająca tygodniową oraz całkowitą skuteczność użytkownika na zadaniach. Jedynym sposobem zamknięcia aplikacji jest poprawne wykonanie określonej liczby zadań. W przeciwnym wypadku generowane są nowe zadania.

Prawdopodobieństwo wylosowania zadania

Prawdopodobieństwo wylosowania każdego rodzaju zadania wyznaczane jest na podstawie poniższych reguł:

  1. Dla każdego zadania obliczana jest wartość prob będąca różnicą pomiędzy całkowitą liczbą wystąpień tego zadania i liczbą poprawnych odpowiedzi użytkownika na to zadanie
  2. Dla każdego zadania do wartości prob dodawana jest różnica całktowitej liczby wystąpień wszystkich zadań oraz całkowitej liczby rozwiązań tego zadania
  3. Dla każdego zadania wartość prob jest normalizowana poprzez podzielenie przez sumę wartości prob dla wszystkich zadań. W ten sposóv wyznaczane jest prawdopodobieństwo wylosowanie tego zadania

Wysyłanie maili

Aby skonfigurować wysyłanie maila z raportem należy wykonać poniższe kroki (2023):

  1. (opcjonalne) Założyć nowe konto Google
  2. Włączyć Weryfikację Dwuetapową - Zarządzaj kontem Google -> Bezpieczeństwo -> Weryfikacja dwuetapowa
  3. Wejść na stronę https://myaccount.google.com/u/0/apppasswords
  4. Dodać nową aplikację i zapisać 16-literowe hasło
  5. Otworzyć plik credentials_template i wypełnić pola:
    • EMAIL_SENDER: własny adres e-mail lub adres e-mail stworzony w punkcie 1.
    • EMAIL_PASSWORD: 16-literowe hasło z punktu 4.
    • EMAIL_RECEIVER: adres e-mail, na który ma być wysyłany tygodniowy raport
    • USERNAME: nazwa użytkownika rozwiązującego zadania

Konfiguracja

Modyfikując pola w pliku properties można zmienić następujące parametry aplikacji:

  • DELAY: odstęp czasowy (w sekundach) między kolejnymi wyświetleniami zadań
  • NUM_TASKS: liczba zadań w jednej serii (od 4 do 45)
  • ADD_RANGE: zakres liczbowy dla zadań z dodawaniem w formacie MIN,MAX
  • SUB_RANGE: zakres liczbowy dla zadań z odejmowaniem w formacie MIN,MAX
  • MUL_RANGE: zakres liczbowy dla zadań z mnożeniem w formacie MIN,MAX
  • DIV_RANGE: zakres liczbowy dla zadań z dzieleniem w formacie MIN,MAX
  • THRESHOLD: liczba zadań, które należy wykonać poprawnie, żeby móc zamknąć aplikację (od 0 do NUM_TASKS)

Dokumentacja doxygen

Pełna dokumentacja doxygen dostępna jest tutaj