Arduino daje uczniom coś, czego trudno uzyskać przy nauce programowania wyłącznie na komputerze: efekt działania programu można zobaczyć w rzeczywistym świecie.
Dioda się zapala. Czujnik reaguje na światło. Silnik zaczyna się obracać. Robot wykonuje zaprogramowane polecenie.
To właśnie dlatego Arduino świetnie sprawdza się podczas zajęć z programowania, elektroniki i robotyki.
Problem zaczyna się wtedy, gdy na jednym stanowisku pojawia się Arduino, płytka stykowa, kilkanaście przewodów, kilka elementów elektronicznych, a do tego różne wersje bibliotek i konfiguracji programu.
Wtedy nauczyciel zamiast prowadzić zajęcia zaczyna rozwiązywać problemy techniczne:
„Dlaczego u Ciebie dioda nie świeci?”
„Czy dobrze podłączyłeś przewód?”
„Sprawdź jeszcze raz pin.”
„A teraz zobaczmy, czy masz dobrą bibliotekę.”
Z naszego doświadczenia wynika, że dobrze prowadzone zajęcia z Arduino powinny wyglądać inaczej.
Nie chodzi o całkowite wyeliminowanie elektroniki czy przewodów. Chodzi o to, aby elementy techniczne służyły nauce, a nie przesłaniały jej celu.

Arduino zostało stworzone jako platforma umożliwiająca łatwe prototypowanie urządzeń elektronicznych. To ogromna zaleta.
Jednocześnie typowy zestaw hobbystyczny nie zawsze jest wygodnym rozwiązaniem podczas pracy z większą grupą uczniów.
Na pojedynczym stanowisku można bez problemu eksperymentować z przewodami, płytką stykową i różnymi komponentami.
W klasie sytuacja wygląda inaczej.
Nauczyciel musi jednocześnie kontrolować kilkanaście stanowisk, odpowiadać na pytania uczniów i pilnować realizacji programu zajęć.
Każde dodatkowe połączenie jest więc kolejnym potencjalnym miejscem wystąpienia błędu.
Początkujący uczeń może pomylić przewody, pin lub sposób podłączenia elementu.
Sam błąd może być wartościową częścią nauki.
Problem pojawia się wtedy, gdy znalezienie błędu zajmuje więcej czasu niż zrozumienie programu.
Jeżeli każdy uczeń ma inaczej zbudowany układ, nauczyciel musi najpierw ustalić, jak wygląda konkretne stanowisko.
To utrudnia prowadzenie grupy i sprawia, że pomoc jednemu uczniowi nie zawsze pomaga pozostałym.
Na początku nauki uczniowie mogą mieć trudności nie tylko z programowaniem.
Dochodzi konfiguracja płytki, bibliotek, portów, wersji środowiska czy plików projektu.
To kolejne elementy, które mogą odciągać uwagę od właściwej lekcji.
To jeden z najważniejszych problemów.
Jeżeli większość pytań podczas zajęć brzmi:
„Dlaczego mi nie działa?”
a nauczyciel musi kolejno sprawdzać przewody, bibliotekę, port i konfigurację, to trudno mówić o efektywnym wykorzystaniu czasu lekcyjnego.
Nie ma jednego idealnego sposobu prowadzenia zajęć. Są jednak zasady, które sprawdzają się niezależnie od wieku uczniów czy poziomu zaawansowania.
Jeżeli każdy uczeń pracuje na takim samym zestawie, nauczyciel może przygotować jedno rozwiązanie i wykorzystać je dla całej grupy.
Uczeń również wie, czego oczekiwać.
Powtarzalność daje nauczycielowi możliwość prowadzenia całej grupy według tego samego schematu.
Przewód może być elementem nauki elektroniki.
Nie powinien jednak być przeszkodą w nauce programowania.
Jeżeli celem lekcji jest poznanie instrukcji warunkowej, odczytu czujnika czy działania pętli, nie ma potrzeby, aby uczeń jednocześnie wykonywał kilkanaście połączeń na płytce stykowej.
Im mniej wyjątków, tym łatwiej prowadzić zajęcia.
Jeżeli wszyscy uczniowie korzystają z tego samego środowiska, tego samego typu sprzętu i tego samego scenariusza, nauczyciel może skupić się na wyjaśnianiu zagadnienia zamiast na ciągłym rozwiązywaniu problemów organizacyjnych.
W edukacji szczególnie ważny jest moment, w którym uczeń widzi:
„Napisałem program i naprawdę coś się wydarzyło.”
Dlatego warto projektować zajęcia tak, aby pierwsze działające efekty pojawiały się możliwie szybko.
Jednym ze sposobów rozwiązania problemu jest wykorzystanie płytki edukacyjnej, na której najczęściej używane elementy są już przygotowane i połączone.
Education Board powstał właśnie z takiego założenia.
Zamiast budować każde ćwiczenie od podstaw, uczeń może korzystać z elementów znajdujących się bezpośrednio na płytce.

Dzięki temu można pracować między innymi z:
Takie podejście ogranicza liczbę połączeń wykonywanych przez ucznia i przede wszystkim zapewnia powtarzalność stanowisk.
To ważne rozróżnienie.
Płytka edukacyjna nie musi zastępować klasycznej płytki stykowej.
Może natomiast być bardzo dobrym narzędziem do pierwszego etapu nauki.
Najpierw uczeń poznaje programowanie i zależność:
program → Arduino → element elektroniczny → efekt
Dopiero później można zwiększać poziom trudności i pozwolić mu samodzielnie budować bardziej skomplikowane układy.
Sam sprzęt nie rozwiązuje całego problemu.
Drugim elementem dobrze zorganizowanych zajęć jest środowisko, w którym uczniowie tworzą swoje programy.
Code Designer IDE zostało zaprojektowane z myślą o nauce programowania i elektroniki poprzez rzeczywiste projekty.

Zamiast zaczynać od pustego edytora kodu, uczeń może pracować na gotowym projekcie i przechodzić przez kolejne etapy jego tworzenia.
Jedną z ważnych zasad nauki jest stopniowanie trudności.
Początkujący uczeń może rozpocząć od programowania blokowego, a następnie przejść do rzeczywistego kodu Arduino.
Nie musi przy tym zmieniać środowiska.
Pozwala to pokazać uczniowi, że program zbudowany z bloków nie jest „zabawkowym programowaniem”, ale reprezentuje rzeczywisty algorytm.
Nauczyciel nie powinien za każdym razem zaczynać przygotowania lekcji od pustej kartki.
Dlatego w Code Designer IDE dostępne są gotowe materiały i scenariusze, które prowadzą ucznia przez kolejne etapy projektu.
Przykładowe materiały dla Education Board obejmują m.in. diody LED, przyciski, buzzer, potencjometr, odbiornik IR, czujnik światła czy bardziej rozbudowane projekty, takie jak stacja pogody i gry.
Dobrze zaprojektowany kurs powinien pozwalać rozwijać ucznia bez konieczności zmiany całego środowiska.
Code Designer pozwala przejść od pierwszych bloków programistycznych do kodu C dla Arduino.
Dzięki temu nauczyciel może pracować z uczniami o różnym poziomie zaawansowania, wykorzystując to samo narzędzie.
Dobry sprzęt nie wystarczy, jeśli nauczyciel nie wie, co zrobić z nim podczas 45 czy 90 minut zajęć.
Dlatego przy projektowaniu zajęć warto myśleć o trzech elementach jednocześnie:
sprzęt + środowisko + scenariusz
Jeżeli zabraknie jednego z nich, prowadzenie zajęć staje się trudniejsze.
Przykładowo, gotowy scenariusz może prowadzić ucznia od:
To zupełnie inny sposób pracy niż pokazanie uczniowi gotowego kodu i polecenie jego przepisania.
Warto projektować pojedynczą lekcję tak, aby można było ją przeprowadzić w standardowym bloku zajęć.
W naszych materiałach przyjmujemy orientacyjnie 2 × 45 minut jako czas potrzebny na przeprowadzenie jednego scenariusza.
Nie oznacza to jednak, że każda grupa potrzebuje dokładnie 90 minut.
Tempo zależy między innymi od:
Najważniejsze jest to, aby scenariusz miał jasno określony cel i pozwalał nauczycielowi ocenić, co uczeń powinien osiągnąć podczas zajęć.
Dobry system edukacyjny powinien być przygotowany nie tylko dla ucznia.
Nauczyciel również potrzebuje jasnej ścieżki pracy.
Przed rozpoczęciem zajęć powinien wiedzieć:
Właśnie dlatego dokumentacja i materiały dla nauczyciela powinny być integralną częścią całego rozwiązania.
Pojedynczy zestaw można przygotować niemal dowolnie.
Pracownia dla 10, 15 czy 20 uczniów wymaga już zupełnie innego podejścia.
Każde stanowisko powinno być:
W przypadku szkoły warto myśleć o całej pracowni jako o jednym systemie edukacyjnym, a nie zbiorze przypadkowo dobranych zestawów.
Dobrze przygotowana pracownia może pełnić jeszcze jedną ważną funkcję.
Może być miejscem, które szkoła pokazuje uczniom i rodzicom podczas:
W takich sytuacjach szczególnie ważne jest, aby uczeń mógł szybko przejść od stanowiska do działającego projektu.
Nie chcemy przecież, aby podczas dnia otwartego pierwsze 20 minut zostało poświęcone na szukanie odpowiedniego przewodu.
Chcemy, aby odwiedzający zobaczył:
„Tutaj uczniowie naprawdę programują i budują działające urządzenia.”
W Code Designer rozwijamy kierunek rozwiązania przeznaczonego właśnie do takich zastosowań.
Docelowo chcemy łączyć w jednym rozwiązaniu:
Tak przygotowana pracownia może być wykorzystywana zarówno podczas regularnych zajęć, jak i podczas dni otwartych szkoły czy warsztatów pokazowych.
Jeżeli mielibyśmy sprowadzić całe doświadczenie prowadzenia zajęć do kilku zasad, wyglądałyby one następująco:
Każdy uczeń powinien pracować na możliwie podobnym zestawie.
Kabel powinien być środkiem do osiągnięcia celu, a nie celem samym w sobie.
Uczeń powinien możliwie szybko zobaczyć efekt swojego programu.
Nie każdy uczeń musi zaczynać od pisania kodu C.
Nauczyciel powinien wiedzieć, co wydarzy się podczas całych zajęć.
Im mniej czasu nauczyciel poświęca na konfigurację stanowisk, tym więcej może poświęcić uczniom.
Rozwiązanie dobre dla jednego ucznia nie zawsze będzie dobre dla dwudziestu.
Dobre zajęcia z Arduino nie polegają na tym, aby uczniowie połączyli jak najwięcej przewodów.
Ich celem jest zrozumienie zależności pomiędzy programem, elektroniką i rzeczywistym efektem działania.
Dlatego w edukacji warto świadomie ograniczać elementy, które nie są częścią celu lekcji.
Powtarzalny sprzęt, uporządkowane środowisko programistyczne i dobrze przygotowane scenariusze pozwalają nauczycielowi skupić się na tym, co najważniejsze – pracy z uczniami.
Właśnie na tej zasadzie rozwijamy Code Designer: jako połączenie programu, sprzętu i materiałów edukacyjnych przeznaczonych do nauki programowania, elektroniki i robotyki.