Miesięczne archiwum: Styczeń 2018

Programowanie blokowe robota za pomocą systemu strzałek

Programowanie blokowe robota za pomocą systemu strzałek

Programowanie strzałkowe jest jednym z najprostszych systemów programowania. Ćwiczenia i zadania wykonywane tym systemem nadają się zarówno dla dzieci starszych jak i dla dzieci w wieku przedszkolnym. Ten system programowania nawiązuje do gier i zabaw, które my starsi pamiętamy jeszcze z dzieciństwa – któż z nas nie bawił się w podchody, nie szukał strzałek by kierować się z ich wytycznymi i nie realizował zadań, które przy okazji trzeba należało wykonać.

Programowanie strzałkowe opiera się na zapisywaniu kodu dla robota za pomocą prostych strzałek i dzięki temu umożliwia ruch robota. Aby nadać zabawie, i dzieciom, większej aktywności podczas wykonywania programowania strzałkowego “offline”, warto dorzucić kilka poleceń, które dodatkowo zaktywizują dzieci, np. podskocz, obróć się, dotknij kolan, klaśnij w dłonie, stań na jednej nodze, wykonaj jakąś po polecenie słowne (powiedz “cześć”) itd. Wykonująć zadania z klasami starszymi warto jeszcze bardziej uatrakcyjnić zabawę. Świetną okazją do tego jest wprowadzenie kafelki “pętli”, wewnątrz której można umieścić kilka elementów a całą pętlę zamknąć ilością jej wykonań. Można też w tworzony program wprowadzić programowanie oparte na warunkach, np. Jeżeli jest przed 10:15/ jeżeli większość osób w tym momencie siedzi/ jeżeli przynajmniej 10 osób ma na sobie coś w kolorze niebieskim  – wykonaj ten program / jeżeli nie to inny.

Programowanie strzałkowe jest jednym z najprostszych i tym które można zastosować praktycznie wszędzie. Można bawić się w domu, można bawić się w szkole. Można zaktywizować jedną osobę, bądź też całą grupę czy też klasę. Warto zwrócić uwagę na to że programowanie strzałkowe należy do grupy programowania w systemie blokowym, gdzie zapis kodu odbywa się od strony lewej do strony prawej. Z młodszymi dziećmi jednak warto zacząć od układania programu (strzałek) zgodnie z kierunkiem ruchu robota.

Tutaj możesz bezpłatnie pobrać karty do zabawy i programowania (odpowiednie dla zabaw  offline, robotów DOC, BeeBot, BlueBot itd.). Wystarczy wydrukować, warto zalaminować, wyciąć i do zabawy! (link)

Kodowanie strzałkowe można też połączyć z kodowaniem kolorem, czy w systemie binarnym. Dzięki temu programowanie robota staje się jeszcze większą frajdą!

Programowaniem strzałkowym można bawić się zarówno bez maty, jak i na macie. Najprostsza mata, to zwykła kartka w kratkę. Dobrze, by kratki były większe. Roboty takie jak DOC, czy też BeeBot i Bluebot poruszają się na konkretną odległość w jednej akcji. Jeżeli bawimy się bez wykorzystania robotów warto ustalić tzw. Krok, bądź również ograniczyć go kratką.

Poruszanie się po matach daje dodatkowo wiele nowych możliwości zadaniowych służących do realizacji określonych celów. Maty można oczywiście rozdzielić dla poszczególnych grup a także połączyć w jedną całość.

Najprostsze zadania możliwe do realizacji za pomocą mat:

  1. Z punktu A do punktu B
  2. Przejście przez labirynt
  3. Przez A i B do C
  4. Znajdź najkrótszą drogę

Więcej zadań i mat zarówno najprostszych jak i tematycznych, wraz z całym zakresem zadań pokrywających elementy podstawy programowej i dodatkowych zadań rekreacyjnych można znaleźć tutaj. (link)

Umiejętności i postawy kształtowane podczas zajęcia z robotyki i programowania

1. KReatywność i spryt

Kreatywność to proces polegający na tworzeniu nowych pomysłów, służących do rozwiązań pojawiających się zadań, bądź problemów. Spryt jest natomiast umiejętnością radzenia sobie w sposób niekonwencjonalny z powstałymi  trudnościami. Mistrzowie otrzymując poszczególne zadania otwarte kształtują swoją kreatywność, wymyślając rozwiązania odpowiadające ich własnym pomysłom, nieraz wykorzystując do tego spryt.

2.  Umiejętność pracy w zespole

Podczas zajęć z dziećmi warto zwrócić uwagę na umiejętność pracy w grupie. Możliwości do takiej współpracy jest wiele. Najprostszą formą pracy grupowej jest praca w parach. Mamy przecież osobę odpowiedzialną za robota i osobę odpowiedzialną za program. W ramach ćwiczeń robotem może też być osoba, niekoniecznie zabawka bądź maszyna. Mamy również konstruktorów i oczywiście osoby odpowiedzialne za całokształt – liderów. Dopiero wspólna praca grupowa, wymiana pomysłów, idei i połączenie ich w jedno przyniesie oczekiwany rezultat. Umiejętność pracy w zespole uczy szacunku ale uczy też pokory. Uczy doceniać pomysły grupy, traktując je jako dobro wspólne. 

Warto oczywiście zwrócić uwagę na to, by na etapie tworzenia drużyn role w zespole zmieniały się.  

Szczególnie ważną rolą jest rola lidera grupy. Umiejętność bycia liderem to jedna z bardzo ważnych umiejętności i kompetencji wykorzystywana w dzisiejszym świecie, bo to przecież liderzy zostają w przyszłości menadżerami, dyrektorami, kierownikami, którzy potrafią kreatywnie zarządzać swoim zespołem.

3. Umiejętność myślenia komputacyjnego

Dzięki kształtowaniu tej umiejętności uczniowie uczą się analizować problem,  szukają kilku rozwiązań, omawiają je w grupie i następnie wybierają najlepsze rozwiązanie. Umiejętność ta kształtuje nawyk rozkładania problemu na czynniki pierwsze, analizy i tworzenia rozwiązania krok po kroku. Podczas zajęć związanych z programowaniem czy kodowaniem dzięki tej umiejętności dzieci otrzymując  zadanie (problem), mogą po jego analizie zaprogramować robota, wykonać jakąś akcję i w ten sposób owo zadanie rozwiązać.

4.  Myślenie matematyczne

Kształtowanie kompetencji związanych z matematyką jest niezwykle istotne w życiu młodego człowieka. Programowanie nawet najprostszych robotów umożliwia wykonywanie obliczeń matematycznych, np. mierzenie odległości, sumowanie ilości powtórzeń, wielokrotności w programach zapętlanych. Warto też zwrócić uwagę na to że część zadań tematycznych może być bezpośrednio połączona z matematyką, tzn. że matematyka nie tylko jest podmiotem służącym do pracy ale też przedmiotem pracy. Trzeba też dodać, że praca z robotami dla dzieci starszych (np. Lego Mindstorms)  jest ściśle połączona z matematyką i analizą matematyczną, a do poruszania się robota bardzo często wykorzystywane są działania matematyczne określone odpowiednimi wzorami i blokami wykonującymi obliczenia.

5. Umiejętność myślenia przestrzennego

Ćwiczenia tej kompetencji, kształtowanej już od najmłodszych lat, wspierają proces lateralizacji i orientacji zarówno na mapie jak i w terenie. Dzięki zabawie nawet najprostszymi robotami, na najprostszych matach edukacyjnych ćwiczymy takie pojęcia jak strona lewa/prawa, czy też odbicie lustrzane. Dzięki odpowiedniemu kierunku zwrotu robota w stosunku do zapisanego programu możemy w łatwy i przejrzysty sposób włączając w to proces zabawy nauczyć myślenia przestrzennego i wizualizacji odpowiednich stron prawa/lewa (względem punktu odniesienia) młodego mistrza.

6. Szacunek i pokora

To dwie ważne cechy które charakteryzują mistrzów robotyki. Niestety nie zawsze jest tak, że to co chcemy wykonać, w tym wypadku napisany przez nas kod, udaje się od razu.  Również w programowaniu robotów w ogromnych fabrykach bardzo często zdarza się, że kod który wydaje się być dobry niekoniecznie takim jest.  Zajęcia robotyki i programowania dają więc sposobność do otrzymania bardzo dużej lekcji pokory.  Nieraz należy znaleźć błędy, poprawić je tak, byśmy nasze akcje mogli wykonać w pełni, w zgodzie z zapisanym językiem zrozumiałym dla robota.

Równie ważna jest też postawa szacunku, zarówno dla partnerów, jak i dla innych zespołów, ponieważ współpraca nie opiera się jedynie na pracy własnej, bądź we własnym zespole.  Warto więc zwracać uwagę na to w jaki sposób dany problem rozwiązują inne drużyny, uczyć się od nich, czerpać z ich doświadczeń i na nich budować własne.