Aplikacje komputerowe w służbie nauki

Chyba wszyscy pamięta scenę z filmu Matrix, kiedy główny bohater w mgnieniu oka uczył się sztuk walki. Każdy z nas chciałby osiągnąć podobną biegłość w wybranej dziedzinie, a dzięki rzetelnej pracy i odrobinie pomocy odpowiednich programów komputerowych, jest to w naszym zasięgu.

Jednym z najważniejszych wyzwań stojących przed ludźmi w XXI wieku jest szybka, skuteczna nauka a następnie, praktyczne wykorzystanie informacji w praktyce. W tym artykule chciałbym poruszyć kwestię aplikacji, które mają realny wpływ na doskonalenie naszych umiejętności w dowolnie wybranej aktywności.

Metoda powtórek w interwałach

Większość programów wspomagających naukę opiera się na badaniach Hermanna Ebbinghausa, który pod koniec XIX wieku opracował termin “krzywej zapominania”. Można przedstawić ją w prostych słowach - jeśli nie powtarzamy informacji, to je zapominamy. Powtórki informacji w odpowiednim czasie pozwalają na utrwalenie informacji. Metodę tę wykorzystywano na przykład przez tworzenie fiszek - karteczek zawierających na jednej stronie pytanie, a na drugiej odpowiedź.  W 1985 roku tematem spaced repetition zajął się polski naukowiec Piotr Woźniak, tworząc pierwszą aplikację do powtórek w interwałach, czyli Super Memo. Z czasem powstały darmowe programy wykorzystujące tę metodę, na przykład Anki.

Nauka z aplikacjami tego typu jest prosta. Po pierwsze, tworzymy własną pulę pytań z odpowiedziami lub wykorzystujemy pule dostępne online. Aplikacja dopytuje nas o odpowiedzi na kolejne pytania. Jeśli odpowiemy prawidłowo, zostaniemy zapytani ponownie o kartę w takim czasie, który gwarantuje najlepsze zapamiętanie karty, zgodnie z krzywą zapamiętywania. Jeśli odpowiemy źle, aplikacja zapyta nas o kartę ponownie na następny dzień.

W ten sposób prosty program umożliwia nam opanowanie dowolnego tematu - zapamiętywania słów i zwrotów w obcych językach, nauki programowania czy rozszerzania wiedzy na temat naszego hobby. Podstawowym efektem treningu z taką aplikacją, jest dużo lepsze zrozumienie terminów, które do tej pory nasz mózg pomijał jako mało ważne. Wiedza staje się “upakowana”, rozumiemy więcej definicji i dzięki temu, możemy posługiwać się bardziej abstrakcyjnymi symbolami. Jest to znaczne ułatwienie w codziennej pracy.

Ucząc się metodą fiszek, musimy przyjąć kilka założeń:

  • Nauka musi odbywać się codziennie, jeśli zrobimy kilka dni przerwy nawarstwi się nam sporo materiału do powtórki, a sama nauka nie będzie skuteczna
  • Talie tworzymy samodzielnie, skupiając się w nich na poznaniu użytecznych rzeczy
  • Podczas nauki staramy się maksymalnie skupić - tylko wtedy w mózgu wykształcą się odpowiednie połączenia między neuronami
  • Jeśli niektóre tematy stały się nieaktualne, najlepiej jest usunąć lub deaktywować fiszki, które ich dotyczą. Technologie programistyczne szybko się zmieniają i nie warto trzymać w taliach przestarzałych, szczegółowych informacji. Jeśli robimy fiszki na uniwersalne tematy, takie jak na przykład wzorce projektowe czy algorytmy, fiszki zawsze będą aktualne.

Metodę powtórek stosuję od ponad półtora roku, ucząc się angielskich zwrotów oraz kwestii dotyczących programowania. Na naukę poświęcam około pół godziny dziennie i staram się tworzyć karteczki z wszystkich nowych rzeczy, których się dowiedziałem. Jakie daje to efekty?

Najważniejszym z nich jest wychwytywanie z kontekstu zwrotów, o których kiedyś wydawało mi się, że je znam, a teraz, znam je rzeczywiście. Po drugie, programowanie staje się prostsze, ponieważ mam większy zasób mentalnych modeli dotyczących różnych konstrukcji programistycznych, które dodatkowo często łączą się ze sobą. Praca z programem Anki pozwala wychwytywać niewielkie, ale znaczące niuanse między różnymi określeniami. Kolejną kwestią jest łatwiejsza nauka trudnych zagadnień. Przykładowo - w tym roku intensywnie pracuję nad rozwojem w technologiach backendowych z naciskiem na Node.js. Dzięki nauce w interwałach mogę rozbijać nieznane mi wcześniej koncepcje na części składowe i dokładać je do bazy wiedzy. W ten sposób można stopniowo uczyć się obszernych tematów. Przykładowo - HTML zawiera kilkaset różnych tagów, biblioteka RXJS ma ponad 100 operatorów, a liczba rzeczy do nauki w CSS idzie w tysiące. Przyswojenie tego za jednym razem jest niemożliwe, ale jeśli codziennie nauczymy się czegoś nowego i powtórzymy to, co już wiemy, będziemy się rozwijać.

Niektóre dziedziny wiedzy, jak na przykład matematyka czy fizyka, są kompletnie niezrozumiałe jeśli nie mamy szerokich podstaw dotyczących zapisu i terminologii. Ludzie widząc skomplikowane wzory, tekst pisany obcym alfabetem, czy kod w innym języku niż ten, w którym pracują na co dzień, zwykle wyłączają myślenie i omijają te niezręczne zapisy. Nauka tych rzeczy nie jest możliwa w jeden dzień, ale można podzielić materiał i następnie czerpać ogromną satysfakcję z nowo uzyskanej wiedzy.

Nauka w pracy

Podobno większość osób uczy się w pracy nowych rzeczy tylko przez pierwszy rok, a następnie w żaden sposób nie rozwija swoich umiejętności. Wskazują na to wyniki badań opublikowanych w książce Andersa Ericssona Peak, how to master almost anything. Codzienna praca, konferencje czy oglądanie materiałów na temat związany z zawodem mają niewielki wpływ na poprawę biegłości w wybranej dziedzinie. Odkryto natomiast, że takie działanie ma dobrze dobrany, intensywny i praktyczny trening. W XXI wieku jest on możliwy dzięki programom komputerowym.

Aplikacje komputerowe wspomagające trening, zwykle opierają się na prostym mechanizmie. Uczącemu się przedstawia się wiele przykładów, a osoba musi odpowiedzieć na pytania, które ich dotyczą. Program daje informację zwrotną, dzięki której uczący się poprawia swoje umiejętności. Przykładowo - lekarz może widzieć serię zdjęć rentgenowskich i odpowiadać na ich podstawie, czy przedstawiają one groźne zmiany. Następnie podobnie jak w metodzie powtórek, program ponawia pytania o te przypadki, które sprawiły odpowiadającemu trudność.

Odpowiedź zwrotna jest bardzo ważna w procesie nauki, wg. Ericssona jedyną grupą lekarzy, którzy osiągali poprawę umiejętności bez treningu byli chirurdzy, ponieważ widzą oni od razu efekty swoich działań. Przekłada się to na inne dziedziny zawodowe. Sprzedawcy mogą rozwijać umiejętności sprzedaży czy doskonalić wiedzę o swoim produkcie, prawnicy - doskonalić swoje pisma. Z mojej perspektywy nauka jest szczególnie ważna kiedy wykonujemy mniej ważne, ale też potrzebne prace i myślimy o zmianie pracy. Znajomość języka obcego, doskonałe umiejętności interpersonalne czy techniczne - są wyuczalne i dają dużą przewagę na rynku pracy.

Nauka przez ocenę lub porównanie

Jeśli komputerowa ocena jest bardzo trudna lub niemożliwa, program może pomagać w uzyskaniu odpowiedzi zwrotnej na przykład od kolegi z zespołu przez system porównywania zmian. Prawnik w ten sposób może dostać uwagi do napisanego przez siebie pisma w Wordzie, a programista - do kodu przez platformę Github lub Bitbucket. Gdy uczysz się gry w szachy, każdy Twój ruch jest oceniany przez odpowiedź przeciwnika i prowadzi do poprawy lub pogorszenia pozycji.

Może to odbywać się jeszcze w inny sposób. Programista może zaangażować się w rozwiązywanie zadań na przykład na serwisie Codewars. Zabawa polega na tym, że najpierw rozwiązujemy zadanie programistyczne, a następnie możemy podejrzeć kod innych osób, którym udało się to przed nami. Często byłem zaskoczony, że rozwiązanie którego stworzenie zajęło mi pół dnia i wiele linii kodu, można uzyskać w znacznie prostszy i bardziej elegancki sposób. W ten sposób uczymy się innego sposobu myślenia, poznajemy nowe konstrukcje językowe. Zadania publikowane na takich platformach będą nas zmuszały do doczytywania o nowych rzeczach (często z dziedziny matematyki), dbanie o szybkość działania algorytmów i sprawdzanie edge cases.

W wielu zawodach możliwy jest trening w tradycyjny sposób, czyli przez przedstawianie uczącemu się informacji, a następnie, zadawanie pytań do materiału. Aby taka nauka miała sens, powinna być powtarzana zgodnie z krzywą zapamiętywania oraz konieczne jest mierzenie jej skuteczności. Ważnym elementem treningu jest właśnie odtwarzanie danych z pamięci i wykorzystywanie ich w praktyce. Nie poprzestawajmy na samym czytaniu. Warto wyznaczyć sobie jedną konkretną rzecz, której chcemy się nauczyć lub ją poprawić. Każdy z nas ma słabe strony, które ograniczają go w wybranej dziedzinie. Gdy już zlokalizujesz takie obszary do poprawy, warto zadziałać kilkutorowo i na przykład:

  • Przeczytać kilka książek na ten temat
  • Robić codziennie ćwiczenia, które pomogą nam podwyższyć poziom umiejętności
  • Otworzyć się na feedback dotyczący tej rzeczy od innych osób
  • Gdy wydaje nam się, że już nie mamy siły na aktywne działanie na rzecz poprawy danej umiejętności, starajmy się przynajmniej pasywnie oglądać materiały na jej temat

Takie skumulowane działanie sprawi, że nasze umiejętności w tym zakresie szybko wyrównają się z umiejętnościami innych osób, lub nawet ich przewyższymy. Jak pisałem wcześniej - większość osób uczy się jedynie na początku, potem przestają i zapominają.

Co ma do zaoferowania nowoczesna nauka dla dzieci?

Nauka przez aplikacje jest szczególnie atrakcyjna dla dzieci. Dzięki niej, mogą poprawić swoje wyniki w szkole, uczyć się języków obcych czy rozwijać inne talenty. Aplikacja może stanowić namiastkę nauczyciela, co jest szczególnie ważne dla dzieci wymagających więcej czasu i uwagi. Ogromną szansę w rozwoju nauki we wszystkich obszarach, można wiązać ze wzrostem popularności technologii VR, a także z wszędobylskością urządzeń wearables, które można wykorzystać w służbie nauki. Na tym możliwości się nie kończą - aby zaangażować dzieci w naukę przez zabawę, można wykorzystać w szkole wirtualną podłogę FunFloor lub Aktywną Tablicę, produkty dostępne na rynku od dłuższego czasu.

Symulatory poprawiające umiejętności

Trening na symulatorach pozwala na zmniejszenie kosztu nabywania i doskonalenia umiejętności.  Są szeroko stosowane w chirurgii, gdzie studenci mogą nauczyć się przeprowadzania operacji bez ryzyka dla pacjenta i konieczności angażowania innych lekarzy. Przykładem takiego systemu jest Teleos. Wg twórców, osoby które uczyły się operowania w tej aplikacji, popełniają mniej błędów na sali operacyjnej. Sim-Ortho™ idzie krok dalej, przenosząc w wirtualną rzeczywistość całą salę operacyjną. W ten sposób można niemal idealnie odwzorować przebieg operacji z użyciem prawdziwych narzędzi. Po ‘operacji’ wykonanej w aplikacji, system wyświetla statystyki na temat jej przebiegu i powodzenia. Od wielu lat dostępne są także symulatory do szkolenia kierowców starających się o prawo jazdy. Symulatory są stosowane także w treningu kierowców rajdowych. Pozwalają na dokładne zapoznanie się z torem oraz odwzorowują w jak największym stopniu jazdę prawdziwym samochodem.  Wojsko to kolejny obszar, w którym regularnie wykorzystuje się symulatory. Są one potrzebne zarówno do treningu dowodzenia, jak i nauki obsługi samolotów, wozów bojowych czy broni.

Symulatory wykorzystuje się też w takich obszarach, jak:

  • nauka spawania
  • latanie dronami
  • żeglarstwo
  • jazda na nartach
  • jazda konna
  • inwestowanie na giełdzie
  • położnictwo

Symulatory to także jeden z najbardziej popularnych rodzajów gier w XXI wieku. Można zadać sobie pytanie, czy osoba która zjadła zęby w takich grach, jak Car Mechanic Simulator czy Microsoft Flight Simulator, poradziłaby sobie lepiej w warsztacie lub w szkoleniu pilota od kogoś, kto zaczyna trening od zera. Trening na symulatorze stanowi namiastkę uczestnictwa w danej czynności. Daje pełne bezpieczeństwo oraz możliwość symulowania sytuacji skrajnych, które w rzeczywistości pojawiają się bardzo rzadko a mimo to, wymagają określonego, wytrenowanego postępowania.

Podsumowanie

Wyzwania, które stawia przed nami XXI wiek wpływają na to, że każdy kto chce wykonywać swoją pracę na najwyższym możliwym poziomie, musi świadomie trenować. Ericsson w swojej książce Peak przedstawił pojęcie Homo Exercens, czyli Człowiek Uczący się, które moim zdaniem idealnie odpowiada podejściu, jakie warto przyjąć by być ekspertem w swojej dziedzinie.

Nauka wspomagana komputerowo nie musi odnosić się jedynie do pracy czy szkoły. Trening może poprawić poziom gry w szachy, dawać informację zwrotną na temat gry na instrumencie albo wpływać korzystnie na celność w ulubionej grze komputerowej.

Obecnie dostępnych jest wiele programów komputerowych wspomagających uczenie, jednak jest też duże pole do ich rozwoju, nie wyciągamy z nich jeszcze wszystkiego. Wydaje mi się też, że stare, nieskuteczne metody nauki, proponowane między innymi przez uczelnie, niedługo odejdą do w zapomnienie, ponieważ nie wytrzymają konkurencji z nowym modelem nauki przez działanie.

Jeśli chcemy być coraz lepsi w tym co robimy, musimy pracować z rzeczami trudnymi, wymagającymi od nas wysiłku i powtarzania - często wielokrotnego lub (jak w przypadku powtórek w interwałach) - nawet trwającego przez całą karierę. W ten sposób, eksponując umysł na coraz większe obciążenia, budujemy ‘mentalne mięśnie’, doskonalimy się i stajemy się ekspertem.


Kamil

Programista Front-end w Nexio Management

Powrót