Dekompozycja to podstawowa umiejętność informatyczna, niezbędna do rozwijania u uczniów długoterminowej wiedzy na temat rozwiązywania problemów z kodowaniem. W tym artykule omówiono, czym jest dekompozycja, dlaczego jest ważna i jak ułatwić uczniom naukę dekompozycji.
Co to jest rozkład?
Dekompozycja to proces dzielenia złożonego problemu na mniejsze, łatwiejsze w zarządzaniu części. Upraszcza to proces tworzenia projektu kodowania, umożliwiając uczniom rozwiązanie jednego elementu problemu na raz.
Dlaczego rozkład jest ważny?
Kiedy uczniowie zaczynają uczyć się kodowania, stają przed myśleniem o języku w nowy i pełen wyzwań sposób. Muszą przejść od komunikowania się językiem mówionym, pełnym wniosków i niuansów, na rzecz precyzyjnej i logicznej struktury wymaganej w kodowaniu. Dostosowanie to jest niezwykle trudne dla uczniów i często staje na drodze do ich sukcesu. Dekompozycja to kluczowa umiejętność informatyki, którą uczniowie muszą zdobyć, aby skutecznie kodować, ponieważ umożliwia uczniom rozpoczęcie od języka mówionego i udoskonalanie go, aż stanie się czymś, co będzie można wykorzystać w projekcie kodowania.
Rozkładanie problemu na czynniki pierwsze pozwala na jego rozwiązanie małymi krokami, dzięki czemu nie staje się on przytłaczający dla uczniów. Kiedy uczniowie rozkładają problemy na mniejsze części, zanim zaczną kodować, mogą następnie zbudować każdą małą sekcję projektu i przetestować ją, aby upewnić się, że działa zgodnie z oczekiwaniami, przed przejściem do następnej części. Jest to znacznie łatwiejsze niż próba kodowania wszystkich kroków niezbędnych do osiągnięcia celu na raz i pozwala uniknąć frustracji uczniów związanej z zagubieniem się w długim projekcie podczas próby rozwiązywania błędów.
Proces dekompozycji zapewnia także uczniom systematyczne podejście do tworzenia projektu, eliminując pokusę zgadywania i sprawdzania drogi do rozwiązania. Zgadywanie i sprawdzanie to nieefektywny sposób rozwiązania problemu, który staje się nieskuteczny, gdy uczniowie zaczynają zajmować się coraz bardziej złożonymi wyzwaniami związanymi z kodowaniem.
Ponadto dekompozycja projektu pozwala uczniom zidentyfikować wzorce w kodzie oraz budować, modyfikować i ponownie wykorzystywać sekcje kodu. Ułatwia to zarówno tworzenie projektów, jak i rozwiązywanie problemów, zapewniając jednocześnie uczniom głębsze zrozumienie tworzonego przez nich kodu, co pozwala im wykorzystać tę wiedzę w przyszłych projektach.
Wreszcie dekompozycja ułatwia także współpracę między uczniami podczas wspólnej pracy nad tworzeniem projektów robotyki w grupach. Rozłożony projekt zapisany w notatniku inżynierskim stanowi artefakt, który uczniowie mogą wykorzystać podczas omawiania projektów grupowych lub dzielenia się nimi z innymi grupami.
Ułatwienie rozkładu
Dekompozycja ma miejsce, gdy uczniowie są na etapie planowania, zanim w ogóle zaczną opracowywać swoje projekty. Uczniowie powinni zapisać proces dekompozycji w swoich notatnikach inżynierskich i podzielić się nim z Tobą, zanim zaczną kodować. Więcej informacji na temat korzystania z notesów inżynierskich w pracy z uczniami można znaleźć w tym artykule.
Przekaż uczniom prosty, trzyetapowy schemat podejścia do rozkładu:
- Zidentyfikuj główny cel projektu , podając wynik, jaki zademonstruje robot, gdy projekt zakończy się sukcesem. Zapisz ten cel w notatniku inżynierskim.
- Określ główne kroki, jakie musi wykonać robot, aby osiągnąć cel. Rozważ i zapisz główne, czyli ogólne kroki, które robot będzie musiał wykonać, aby osiągnąć cel. Zapisz te kroki wysokiego poziomu w notatniku inżynierskim.
-
Podziel główne kroki na najmniejsze możliwe etapy zachowania robota. Podziel każdy z głównych kroków na najmniejsze zachowanie, jakie robot może wykonać. Zapisz te rozłożone kroki w notatniku inżynierskim.
- Każde zachowanie robota powinno dać się przypisać do jednego odpowiedniego bloku lub polecenia. Jeśli nie, kroki można dalej rozłożyć.
W tym przykładzie uczniowie rozkładają projekt, aby ukończyć labirynt w VEXcode VR Wall Maze + Playground.
Krok 1: Określ główny cel projektu. Zapisz cel w notatniku inżynierskim.
Krok 2: Określ główne kroki, które robot musi wykonać, aby osiągnąć cel.
- W tym przypadku uczeń przemyślał wszystkie zachowania, jakie robot będzie musiał podjąć, aby przejechać od punktu początkowego do końcowego labiryntu, i zapisał je w kolejności w zeszycie inżynierskim.
Krok 3: Podziel główne kroki na najmniejsze etapy zachowania robota.
- Uczniowie mogą zacząć określać przybliżone wartości potrzebne do wykonania każdego kroku. Wartości te będą musiały zostać przetestowane i dostosowane podczas budowania projektu w VEXcode.
- Uczestnicy kursu powinni sprawdzić, czy każdy rozłożony krok odpowiada bezpośrednio jednemu blokowi VEXcode. Jeśli nie, etap wymaga dalszego rozkładu.
Kiedy uczniowie rozłożą swój projekt na poziom poszczególnych bloków lub poleceń, mogą przejść z etapu planowania projektu do etapu realizacji. Powinni przenieść główne kroki określone w kroku 2 do komentarzy, a następnie dodać odpowiednie bloki lub polecenia dla każdego w pełni rozłożonego zachowania z kroku 3 do każdego z tych komentarzy, aby zbudować swoje projekty.
Uczniowie powinni budować swoje projekty krok po kroku, testując każde zachowanie (lub logicznie pogrupowany zestaw zachowań) przed przejściem do następnego. To na tym etapie uczniowie będą musieli wykorzystać posiadane zasoby, aby określić prawidłowe wartości parametrów. Na przykład w powyższym przykładzie VEXcode VR wartości odległości zostały określone przy założeniu, że każdy kwadrat labiryntu ma średnicę 300 mm. Metoda określania wartości będzie się różnić w zależności od okoliczności, ale zawsze konieczne będzie przetestowanie i dostosowanie wartości podczas procesu tworzenia projektu kodowania.
Wspieranie uczniów w nauce rozkładu
Zanim uczniowie zaczną pracować nad wyzwaniem z laboratorium STEM lub innego projektu VEXcode, poświęć trochę czasu na samodzielne przepracowanie dekompozycji, abyś był gotowy odpowiedzieć na pytania uczniów. Zachęć uczniów, aby pokazali rozłożony plan swojego projektu, zanim zaczną kodować, aby można było wzmocnić proces dekompozycji i upewnić się, że podzielili zadanie na najmniejsze możliwe zachowania robota. Przypomnij uczniom, że powinni potrafić zidentyfikować blok lub polecenie odpowiadające każdemu zachowaniu.
- Jeśli uczniowie mają trudności z wyobrażeniem sobie głównych lub ogólnych kroków, które robot musi wykonać, aby osiągnąć cel projektu, zachęć ich, aby:
- Narysuj ścieżkę, którą robot musi pokonać, aby osiągnąć cel.
- Odegraj kroki, które robot musi wykonać, aby osiągnąć cel.
- Omów kroki, które robot musi wykonać, aby osiągnąć cel.
- Jeśli uczniowie mają trudności z określeniem, czy ich kroki zostały rozłożone na poszczególne bloki lub poziom poleceń, zapytaj ich:
- Ile bloków lub poleceń zajęłoby robotowi wykonanie tego zachowania?
- Czy robot może wykonać ten krok, używając tylko jednego bloku lub polecenia?
- Jak rozłożyć to zachowanie na jeszcze mniejsze działania robota?
Wspieranie uczniów w nauce rozkładania się zapewni im solidne podstawy do przyszłego rozwiązywania problemów w informatyce.
Czy masz więcej pytań na temat ułatwiania uczniom nauki rozkładu w Twojej klasie? Poproś ich w społeczności PD+lub o zaplanowanie sesji 1 na 1 , aby porozmawiać z ekspertem VEX.