Programowanie w szkole: Scratch, Python, Blockly i roboty edukacyjne w świetle podstawy programowej

Programowanie w szkole nie powinno być sprowadzane wyłącznie do nauki konkretnego języka lub obsługi jednego programu. Podstawa programowa informatyki ujmuje je szerzej: jako sposób rozwiązywania problemów, tworzenia algorytmów, testowania rozwiązań i świadomego korzystania z narzędzi cyfrowych. Dlatego Scratch, Blockly, Python, roboty edukacyjne czy środowiska typu CodeBlocks warto traktować jako narzędzia do realizacji celów podstawy programowej, a nie jako cel sam w sobie.

Cytat – Rozporządzenie Ministra Edukacji z 28 czerwca 2024 r., załącznik nr 1, podstawa programowa dla szkoły podstawowej, informatyka, wstęp:

„Elementem powszechnego kształcenia staje się również umiejętność programowania.”

Programowanie w podstawie programowej szkoły podstawowej

W edukacji wczesnoszkolnej programowanie pojawia się jako układanie poleceń, sekwencji i prostych działań prowadzących do celu. Uczeń ma m.in. układać w logicznym porządku obrazki, teksty i instrukcje, tworzyć polecenia oraz programować wizualnie proste sytuacje lub historyjki. Na tym etapie uzasadnione są więc narzędzia oparte na prostym sterowaniu, ikonach, sekwencjach i elementach wizualnych.

Od klasy IV zajęcia informatyki mają bardziej formalny charakter. W klasach IV–VI uczeń projektuje, tworzy i zapisuje rozwiązania w wizualnym języku programowania, w tym proste algorytmy z poleceniami sekwencyjnymi, warunkowymi i iteracyjnymi. W klasach VII–VIII dochodzą programy z instrukcjami wejścia i wyjścia, zmiennymi, tablicami, funkcjami, instrukcjami warunkowymi i iteracyjnymi. To naturalnie otwiera drogę do języków tekstowych, takich jak Python.

Cytat – Rozporządzenie Ministra Edukacji z 28 czerwca 2024 r., załącznik nr 1, informatyka, cele kształcenia, wymaganie ogólne II:

„układanie i programowanie algorytmów”

Zestawienie programów do nauki programowania dla uczniów

Scratch najlepiej wpisuje się w klasy IV–VI, ponieważ odpowiada wymaganiu tworzenia programów w wizualnym języku programowania. Może być także wykorzystywany pomocniczo w klasach VII–VIII jako pomost do zapisu algorytmów w języku tekstowym. Zintegrowana Platforma Edukacyjna pokazuje przykłady przechodzenia od programu zapisanego w Scratchu do programu w Pythonie.

Blockly jest dobrym narzędziem dla klas IV–VI oraz dla uczniów rozpoczynających przejście do bardziej formalnego zapisu algorytmów. Materiały ZPE wskazują Blockly obok Scratcha jako wizualny język programowania, czytelny i prosty w obsłudze, który może poprzedzać pracę z Pythonem.

Python jest najbardziej uzasadniony w klasach VII–VIII, gdy uczniowie przechodzą do programowania tekstowego i stosują zmienne, funkcje, instrukcje warunkowe, pętle oraz tablice. W podstawie programowej nie wskazano obowiązkowego języka programowania, ale wymagania dla klas VII–VIII odpowiadają pracy w języku tekstowym. ZPE udostępnia materiały wprowadzające do Pythona dla szkoły podstawowej IV–VIII.

Ozoboty i inne roboty edukacyjne można powiązać z wymaganiami dotyczącymi sterowania robotem lub innym obiektem. W klasach I–III powinny służyć prostym sekwencjom i poleceniom. W klasach IV–VI mogą wspierać tworzenie programu sterującego robotem. W klasach VII–VIII mogą być wykorzystywane do testowania algorytmów i utrwalania programowania w zadaniach problemowych.

CodeBlocks i inne środowiska blokowe można traktować jako narzędzia odpowiednie głównie dla klas IV–VI, jeżeli pozwalają uczniom tworzyć programy wizualne, sekwencje, warunki, powtórzenia i proste algorytmy. W starszych klasach mogą pełnić funkcję przejściową, ale nie powinny zastępować rozwijania umiejętności bardziej formalnego zapisu programu, jeżeli nauczyciel realizuje wymagania przewidziane dla klas VII–VIII.

Klasy I–III: sekwencje, polecenia i programowanie wizualne

W klasach I–III najważniejsze jest rozwijanie myślenia algorytmicznego w prostych, dostępnych dla dziecka sytuacjach. Dobrze sprawdzają się aktywności bez komputera, proste gry, układanie instrukcji, sterowanie obiektem, programowanie wizualne i zadania, w których uczeń natychmiast widzi efekt swoich decyzji.

Na tym etapie właściwe będą proste środowiska blokowe, aplikacje do sterowania obiektami oraz roboty edukacyjne wykorzystywane na poziomie sekwencji, kierunków, kolejności działań i prostych poleceń. Nie chodzi jeszcze o składnię języka programowania, lecz o rozumienie instrukcji, kolejności i celu działania.

Klasy IV–VI: Scratch, Blockly i pierwsze algorytmy

W klasach IV–VI uczeń powinien już projektować i zapisywać programy w wizualnym języku programowania. Scratch, Blockly, CodeBlocks lub podobne środowiska mogą służyć do tworzenia historyjek, animacji, prostych gier, algorytmów oraz programów sterujących robotem lub obiektem na ekranie.

To etap, na którym szczególne znaczenie ma testowanie programu, poprawianie błędów i objaśnianie działania utworzonego rozwiązania. Nauczyciel powinien więc wybierać takie narzędzia, które nie ograniczają się do atrakcyjnej zabawy, lecz pozwalają uczniowi zaprojektować, uruchomić, sprawdzić i poprawić własny program.

Klasy VII–VIII: Python i przejście do programowania tekstowego

W klasach VII–VIII uczeń projektuje, tworzy i testuje programy w procesie rozwiązywania problemów. Stosuje instrukcje wejścia i wyjścia, wyrażenia arytmetyczne i logiczne, instrukcje warunkowe, pętle, funkcje, zmienne i tablice. To uzasadnia wprowadzanie języków tekstowych, w tym Pythona, szczególnie wtedy, gdy uczniowie wcześniej pracowali już w środowiskach wizualnych.

Materiały ZPE pokazują przejście od Scratcha i Blockly do Pythona jako naturalny etap nauki. Środowiska blokowe nie tracą wtedy sensu, ale ich rola się zmienia: stają się narzędziem porównawczym, pomocą w analizie algorytmu albo etapem przygotowującym do zapisu tekstowego.

Roboty edukacyjne i mikrokontrolery w szkolnym programowaniu

Roboty edukacyjne, takie jak Ozoboty, mogą wspierać realizację podstawy programowej, jeżeli są używane do rozwiązywania problemów, sterowania obiektem, testowania algorytmu i pracy projektowej. Sama obecność robota na lekcji nie przesądza o wartości dydaktycznej zajęć. Znaczenie ma to, czy uczeń planuje działanie, przewiduje efekt, sprawdza wynik i poprawia rozwiązanie.

Cytat – Uchwała nr 98 Rady Ministrów z 12 września 2024 r., załącznik „Polityka Cyfrowej Transformacji Edukacji – 2024–2035”, pkt 3:

„różnorodne roboty oraz mikrokontrolery są już w rękach uczniów”

Dokument rządowy wskazuje, że roboty i mikrokontrolery są już dostępne uczniom, także poza szkołą, a część z nich może pełnić różne funkcje w zależności od potrzeb projektu. Dla dyrektora oznacza to, że zakup sprzętu powinien być powiązany z celami zajęć, przygotowaniem nauczycieli i możliwością wykorzystania narzędzi na różnych poziomach edukacyjnych.

Dobór narzędzia do klasy, a nie odwrotnie

Podstawa programowa nie tworzy zamkniętej listy programów obowiązkowych dla szkół. Nie wskazuje, że każda szkoła ma uczyć konkretnego środowiska, np. Scratcha, Blockly, Pythona albo pracy z określonym robotem. Opisuje natomiast efekty, które uczeń powinien osiągnąć: rozumienie problemu, tworzenie algorytmu, programowanie, testowanie, współpracę, odpowiedzialne korzystanie z technologii i bezpieczeństwo w Internecie.

Dlatego właściwy dobór narzędzi można ująć prosto: klasy I–III – proste sekwencje i programowanie wizualne; klasy IV–VI – Scratch, Blockly, CodeBlocks i roboty w językach blokowych; klasy VII–VIII – Python, bardziej formalne algorytmy, testowanie programów oraz projekty z użyciem robotów lub innych urządzeń cyfrowych.

Podsumowując, programowanie w szkole powinno tworzyć spójną ścieżkę: od prostych instrukcji i zabaw algorytmicznych, przez Scratcha i Blockly, po Pythona oraz bardziej samodzielne projekty. Dobrze dobrane narzędzie pomaga realizować podstawę programową, ale nie zastępuje celu zajęć: uczeń ma rozumieć problem, zaplanować rozwiązanie, zaprogramować je, sprawdzić wynik i świadomie korzystać z technologii.

Źródła

Udostępnij artykuł: