Zespół Blockly ma wieloletnie doświadczenie w projektowaniu aplikacji edukacyjnych. Oto niektóre z ich wniosków, które mogą Ci pomóc w projektowaniu własnej aplikacji edukacyjnej.
Wybieraj ćwiczenia z odpowiedzią swobodną zamiast tych z uzupełnianiem luk.
Ćwiczenia mające na celu nauczenie konkretnego pojęcia często zawierają częściowe rozwiązania, które uczeń musi zmodyfikować, aby osiągnąć pożądany efekt. W tym celu w Blockly utworzono klasę bloków, których nie można edytować, przenosić ani usuwać. Uczniowie jednak nie lubili tych ćwiczeń. Nie czują się właścicielami rozwiązania.
Zaprojektowanie ćwiczeń swobodnych, które uczą tych samych zagadnień, jest trudniejsze. Jedną z technik, która okazała się skuteczna, jest wykorzystanie rozwiązania jednego zadania przez ucznia jako punktu wyjścia do rozwiązania kolejnego zadania.
Rekomendacja: nie pisz kodu za użytkownika.
Korzystanie z trwałych instrukcji
Blockly Games to gra zaprojektowana specjalnie do samodzielnej nauki, bez potrzeby korzystania z pomocy nauczyciela czy planu lekcji. W tym celu pierwsza wersja Blockly Games zawierała instrukcje na każdym poziomie. większość uczniów nie przeczytałaby ich. Skróciliśmy je do jednego zdania, zwiększyliśmy rozmiar czcionki i wyróżniliśmy je w żółtej dymce. Większość uczniów nie przeczytałaby ich. Utworzyliśmy wyskakujące okienka modalne z instrukcjami. Większość uczniów instynktownie zamykała wyskakujące okienka bez czytania ich zawartości, a potem nie wiedziała, co robić dalej.
Wreszcie utworzyliśmy wyskakujące okienka, których nie można zamknąć. Są one zaprogramowane tak, aby monitorować działania ucznia i zamykać się dopiero wtedy, gdy wykona on wymagane działanie. Wyskakujące okienka uwzględniające kontekst są trudne do zaprogramowania, ale bardzo skuteczne. Ważne było też, aby znajdowały się w polu widzenia, ale nie przeszkadzały w pracy.
Zalecenie: instrukcje powinny być krótkie i trwałe, ale nie uciążliwe.
Używanie obrazów bloków na żywo w pomocy
Dokumentacja bloków powinna zawierać obrazy bloków, do których się odnosi. Robienie zrzutów ekranu jest proste. Jeśli jednak takich obrazów jest 50, a aplikacja jest przetłumaczona na 50 języków, nagle trzeba utrzymywać 2500 obrazów statycznych. Następnie schemat kolorów się zmienia i trzeba ponownie zaktualizować 2500 obrazów.
Aby wyjść z tego koszmaru związanego z konserwacją, w Blockly Games zastąpiliśmy wszystkie zrzuty ekranu instancjami Blockly działającymi w trybie tylko do odczytu. Wynik wygląda identycznie jak zdjęcie, ale jest zawsze aktualny. Tryb tylko do odczytu umożliwił internacjonalizację.
Zalecenie: jeśli obsługujesz więcej niż 1 język, używaj trybu tylko do odczytu.
Przygotuj strategię wyjścia dla uczniów
Programowanie blokowe jest często punktem wyjścia do nauki programowania. W kontekście nauczania programowania komputerowego jest to „narkotyk wprowadzający”, który uzależnia uczniów, zanim przejdą oni do trudniejszych zagadnień. Czas trwania tego okresu programowania blokowego jest przedmiotem gorącej debaty, ale jeśli Twoim celem jest nauczanie programowania, powinien on być tymczasowy.
W związku z tym środowiska programowania blokowego używane do nauczania programowania muszą mieć odpowiednie rozwiązanie dla uczniów, którzy chcą przejść na bardziej zaawansowane metody. Blockly Games ma 4 strategie:
Cały tekst na blokach (np. „if”, „while”) jest pisany małymi literami, aby pasował do tekstowych języków programowania.
Wersja kodu ucznia w JavaScript jest zawsze wyświetlana po każdym poziomie, aby zwiększyć znajomość tego języka.
W przedostatniej grze tekst blokowy jest zastępowany rzeczywistym kodem JavaScript (jak pokazano po prawej stronie). Na tym etapie uczeń programuje w JavaScript.
W ostatecznej wersji gry edytor bloków zostanie zastąpiony edytorem tekstu.
Środowiska programowania blokowego używane do nauczania programowania muszą mieć konkretny plan przejścia uczniów na wyższy poziom. Solidna strategia wyjścia z programowania blokowego może też przekonać osoby, które twierdzą, że programowanie blokowe nie jest „prawdziwym programowaniem”.
Rekomendacja: weź pod uwagę cele użytkownika i odpowiednio zaprojektuj aplikację.