1. Dlaczego Python w LEGO Education to dobry wybór na naukę pierwszego języka programowania?

Zacznijmy od tego, dlaczego w ogóle warto wdrożyć programowanie w Pythonie, na jakim etapie nauki programowania i dlaczego wybór pada właśnie na ten język.

Po pierwsze, Python od lat pozostaje jednym z najpopularniejszych języków programowania, niezależnie od tego, czy weźmiemy pod uwagę jego znajomość, ilość projektów czy ofert pracy dla programistów. Wynika to w głównej mierze ze względu na jego wszechstronne możliwości i relatywnie prostą, i czytelną składnię. Oczywiście działa tutaj też efekt kuli śnieżnej – początkujący programiści chętniej sięgają po ten język, który jest popularny, intuicyjny oraz można dla niego znaleźć dużą liczbę kursów i poradników.

Jego znaczenie wzrosło w erze rozwoju systemów AI i szeroko pojętego uczenia maszynowego. To właśnie Python jest niekwestionowanym liderem w dziedzinie machine learningu i sieci neuronowych, między innymi dzięki dostępności dedykowanych bibliotek takich jak TensorFlow czy PyTorch. To właśnie w Pythonie powstaje znaczna część współczesnych narzędzi wykorzystujących modele AI, analizę danych czy sieci neuronowe.

Jednocześnie Python nie jest językiem zarezerwowanym wyłącznie dla zawodowych programistów. Korzystają z niego naukowcy, inżynierowie, analitycy danych, astronomowie, biolodzy, ekonomiści oraz przedstawiciele wielu innych dziedzin. Wykorzystywany jest do analizy danych, automatyzacji powtarzalnych zadań, sterowania urządzeniami, tworzenia aplikacji internetowych, obliczeń naukowych, czy właśnie programowania robotów i mikrokontrolerów. Tak szerokie zastosowanie sprawia, że nauka Pythona może okazać się przydatna nie tylko dla tych, którzy chcą związać swoją przyszłość z programowaniem.

2. Kiedy podjąć decyzję o nauce z Pythonem?

Podstawa programowa dla klas IV-VI w części dotyczącej programowania wyraźnie wskazuje na wykorzystanie wizualnych języków programowania, takich jak Scratch czy oparte na nim środowiska programowania blokowego wykorzystywane m.in. w rozwiązaniach LEGO Education. W przypadku klas VII-VIII takie ograniczenie nie występuje, co daje nauczycielowi możliwość wprowadzenia standardowych, tekstowych języków programowania, takich jak Python.

Oczywiście, w przypadku pracy na zajęciach dodatkowych, w ramach warsztatów z kodowania czy robotyki, gdzie nie ogranicza nas podstawa programowa, możemy przejść do tego kroku wcześniej.

Przed przejściem do programowania tekstowego warto jednak upewnić się, że uczniowie:

  1. Biegle posługują się programowaniem wizualnym oraz rozumieją podstawowe koncepcje, takie jak instrukcje warunkowe, pętle, zmienne, operacje logiczne czy tworzenie prostych algorytmów.
  2. Posiadają podstawową znajomość języka angielskiego, który stanowi podstawę składni większości języków programowania oraz jest wykorzystywany w interfejsach wielu edytorów kodu i środowisk programistycznych (IDE).
  3. Osiągnęli odpowiedni poziom biegłości w obsłudze komputera, pozwalający na swobodne korzystanie z narzędzi programistycznych, takich jak VS Code.

Oczywiście, w przypadku pracy na dodatkowych zajęciach czy warsztatach z robotyki i kodowania podstawa programowa nie ogranicza nas aż w takim zakresie.

3. Co to jest API LEGO® Education i dlaczego jest przydatne?

Do pracy z Pythonem w LEGO Education potrzebujemy tzw. API LEGO® Education. To zestaw bibliotek dla Pythona, które pozwala na komunikację i sterowanie urządzeniami w tym języku, który instalujemy dla całego środowiska Python na naszym komputerze. Wiele osób może się zastanawiać, dlaczego implementacja Pythona w przypadku zestawów Informatyka i AI odbywa się w taki sposób. W końcu w przypadku aplikacji SPIKE Python  w LEGO Education był dostępny bezpośrednio w środowisku programistycznym i wystarczyło przełączyć się z programowania blokowego na tekstowe, i można było od razu rozpocząć pracę. Tymczasem teraz musimy samodzielnie przygotować środowisko programistyczne, zainstalować interpreter Pythona, odpowiednie biblioteki oraz edytor kodu. Na pierwszy rzut oka może wydawać się to krokiem wstecz i niepotrzebnym utrudnieniem. Jednak takie podejście ma swoje znaczące plusy, zwłaszcza, jeżeli planujemy wykorzystać nowe zestawy LEGO® Education do nauki programowania na zaawansowanym poziomie, czy to w klasach 7-8, szkole średniej czy na zajęciach dodatkowych.

Przede wszystkim otrzymujemy w pełni otwarte środowisko programistyczne, nieograniczone do możliwości jednej aplikacji. W przypadku środowiska SPIKE Python działał wewnątrz zamkniętej aplikacji, udostępniającej jedynie wybrane funkcje i biblioteki implementacji microPython. Tymczasem tutaj korzystamy z pełnoprawnego Pythona, uruchamianego dokładnie w taki sam sposób, jak w profesjonalnych projektach programistycznych. Oprócz API Lego® Education możemy bowiem korzystać z całego bogactwa bibliotek i pakietów Python. Samo główne repozytorium Pythona, PyPi zawiera ponad pół miliona gotowych bibliotek i modułów (w tym nasze API). Oznacza to dostęp do narzędzi służących między innymi do analizy danych, tworzenia interfejsów graficznych, komunikacji sieciowej, obsługi baz danych, grafiki komputerowej, automatyzacji zadań, sterowania urządzeniami czy wykorzystania algorytmów sztucznej inteligencji.

Dzięki temu model, który zbudujemy z pomocą zestawów Informatyka i AI może stać się częścią dużo większych projektów. Możemy go połączyć z innymi urządzeniami, czy bazami danych albo nawet rozbudowanym algorytmem sztucznej inteligencji, analizującym dane z wielu czujników, nie tylko z tych, które są obecne w zestawie.

Znaczenie ma też aspekt edukacji cyfrowej, związany z tym, że uczniowie uczą się nie tylko programować, ale też pracować w środowisku oraz przy wykorzystaniu narzędzi używanych przez zawodowych programistów. Poznają środowiska programistyczne, sposoby instalacji bibliotek i zależności czy obsługę systemów kontroli wersji. Są to uniwersalne umiejętności i kompetencje przyszłości, zwiększające poziom biegłości w zakresie umiejętności cyfrowych, które mogą być szczególnie przydatne dla tych, którzy zdecydują się na karierę związaną z programowaniem, analizą danych czy sztuczną inteligencją.

4. Czy można używać AI w Pythonie?

Po zapoznaniu się z dokumentacją naszego API, możemy zobaczyć, że o ile wyjaśnia ona sposób działania poszczególnych urządzeń, tak nie znajdziemy w niej informacji o implementacji AI. Faktycznie, systemy wykrywania pozycji ciała nie są w niej bezpośrednio zawarte, co jednak nie znaczy, że przechodząc z zestawami LEGO® Education Informatyka i AI na programowanie w Pythonie, jesteśmy pozbawieni możliwości prowadzenia lekcji w tematyce sztucznej inteligencji. Wręcz przeciwnie.

Dzięki wspomnianej we wcześniejszym rozdziale otwartości, możemy korzystać z zewnętrznych bibliotek i frameworków, a jednym z nich jest MediaPipe, stworzony przez Google otwarty zestaw wielu bibliotek pozwalających na stosunkowo łatwą i szybką implementację uczenia maszynowego i rozwiązań z zakresu sztucznej inteligencji. Gotowe modele obejmują nie tylko detekcję pozy, analogiczną do tej dostępnej w aplikacji Coding Canvas, ale też klasyfikację obrazów, dźwięków i tekstu, wykrywanie obiektów, gestów, twarzy, mimiki czy rozpoznawanie języka. Już z pomocą tylko tego jednego rozwiązania możemy wyjść daleko poza możliwości tego, co znajdziemy w aplikacji Coding Canvas, a to przecież jeszcze nie koniec.

Dostępność wspomnianych wcześniej bibliotek PyCharm czy TensorFlow pozwala nie tylko na korzystanie z gotowych modeli czy trening prostych modeli, ale również na tworzenie ich niemal od podstaw. To już oczywiście wykracza daleko poza zakres podstawy programowej dla klas 7-8 oraz wymaga wydajnych stacji roboczych, jednak może być wykorzystane w technikach czy liceach z klasami o profilu informatycznym, w których zaczynają się pojawiać pracownie AI dysponujące odpowiednio wydajnym sprzętem.

5. Jakie środowisko do Pythona jest najlepsze? Porównanie 3 możliwości implementacji

Zanim przejdziemy do konfiguracji środowiska, warto zrobić jeszcze krótkie porównanie najważniejszych informacji o imlementacji Pythona w LEGO® Education (nowe zestawy) z tym, co możemy spotkać w aplikacji Coding Canvas oraz z czym mieliśmy do czynienia w aplikacji SPIKE.

Cecha Coding Canvas Python w SPIKE Python w nowych zestawach LEGO® Education Informatyka i AI
Poziom nauczania Początkujący Średniozaawansowany Średniozaawansowany i zaawansowany
Rodzaj programowania Blokowe Tekstowe Tekstowe
Środowisko pracy Coding Canvas Aplikacja SPIKE Dowolne IDE (np. Visual Studio Code)
Wymagana dodatkowa konfiguracja Brak Brak Wymaga instalacji Pythona, API i IDE
Implementacja Python Brak Częściowo (microPython) Pełna
Instalacja zewnętrznych bibliotek Brak Brak Pełny dostęp
Łączenie z innymi urządzeniami Brak Brak Możliwe
Implementacja AI Ograniczona (klasyfikatory pozy) Brak Możliwość korzystania z zewnętrznych bibliotek.

6. Jak przygotować środowisko do programowania LEGO Education Informatyka i AI z wykorzystaniem języka Python? Sprawdź instrukcję

Pierwszym krokiem, do programowania nowych zestawów z wykorzystaniem języka Python jest przygotowanie odpowiedniego środowiska, na które składa się.

  1. Python w wersji 3.14 lub wyższej
  2. API Lego® Education
  3. Edytora kodu lub IDE (np. VS Code)

Poniższa instrukcja konfiguracji powstała w oparciu o system Microsoft Windows 11.

Instalacja Python

Zacznij od instalacji Pythona na komputerze. Można to zrobić na kilka sposobów, jednak najlepszym będzie pobranie menagera instalacji lub samodzielnego instalatora z oficjalnej strony projektu: https://www.python.org/downloads/

Podczas instalacji upewnij się, że zaznaczasz opcję Add Python to PATH lub Add Python to enviroment variables to pozwoli później używać Pythona z poziomu Windows PowerShell lub wiersza poleceń. Pozostaw też zaznaczoną opcję instalacji PIP.

Uwaga: Jeżeli nie masz pewności, czy Python jest już zainstalowany na danym komputerze, uruchom Windows PowerShell i wprowadź komendę python –version. Wersje poniżej 3.14 będą wymagały aktualizacji, której możesz dokonać z wykorzystaniem tego samego instalatora.

Instalacja API LEGO® Education

Kolejnym krokiem jest instalacja LEGO® Education Python API. To biblioteka pozwalająca na sterowanie i programowanie znajdujących się w zestawach LEGO® Education Informatyka i AI elementów elektronicznych, takich jak silniki, kontroler oraz czujnik koloru. Dodatkowo pozwala obsługiwać żyroskop wbudowany w podwójny silnik.

Uruchom Windows PowerShell.

W otwartym oknie wpisz:

pip install legoeducation

Poczekaj na zakończenie procesu instalacji.

Instalacja IDE

Ostatnim krokiem jest konfiguracja odpowiedniego środowiska programistycznego (IDE). Jego ostateczny wybór należy do ciebie, ale poniższe kroki zostały opisane dla IDE Visual Studio Code od Microsoft. Instalator programu pobierzesz z oficjalnej strony projektu https://code.visualstudio.com/

W przypadku VS Code po instalacji programu należy jeszcze pobrać rozszerzenie Python. W zakładce Extensions (Ctrl+Shift+x) wyszukaj odpowiedni dodatek i kliknij Install.

Weryfikacja

Teraz sprawdzamy, czy nasze środowisko działa poprawnie. W tym celu uruchomimy przykładowy program.

W VS Code w zakładce File wybierz New File, a następnie kliknij Python File.

Wprowadź lub wklej poniższy kod:

import legoeducation as le


# Connect to Single Motor

singlemotor = le.SingleMotor()

singlemotor.connect()


# Check if connected

if not singlemotor.connected:
    print('Error connecting to Single Motor.')
    exit(1) # error connecting


# Main Code:

singlemotor.motor_run_for_degrees(360) # run one rotation


# Disconnect from Single Motor

singlemotor.disconnect()

exit(0) # successful execution

Włącz pojedynczy silnik z zestawu Informatyka i AI i przełącz go w tryb połączenia klikając jeszcze raz na przycisk włącznika (dioda powinna zacząć migotać, a głośniczek pikać).

Zapisz plik i uruchom go przyciskiem w prawym górnym rogu.

Program powinien połączyć się z silnikiem, uruchomić jego obrót o 360 stopni, a następnie rozłączyć się.

7. Jak parować urządzenia w aplikacji Coding Canvas?

Podobnie jak w przypadku pracy w standardowym programie Coding Canvas, łączenie się z urządzeniami odbywa się bezprzewodowo z wykorzystaniem technologii Bluetooth Low Energy.

Jak można było zauważyć w przykładowym programie z poprzedniego rozdziału, wystarczy wykorzystanie metody .connect()

Jednak ten sposób zadziała jedynie, gdy pracujemy na jednym stanowisku z jednym urządzeniem danego typu. W realiach pracowni komputerowej, gdzie jednocześnie będzie pracowało kilka zespołów, będziemy musieli sprecyzować w kodzie to, z którym konkretnie urządzeniem chcemy się połączyć. W tym celu potrzebujemy kolorowych kart połączeniowych z zestawów Informatyka i AI. Każda z nich posiada unikalny kod, napisany na jej awersie.

singlemotor.connect(card_color=le.LEGO_COLOR_RED, card_serial="4547")

Powyższy kod połączy nas z pojedynczym silnikiem, który wcześniej został sparowany z czerwoną kartą połączeniową o numerze 4547.

Do programów możne też dołączać kod sprawdzający stan połączenia.

if not singlemotor.connected:
	print('Error connecting to Single Motor.')
	exit(1) # error connecting

W przypadku, gdy nie uda się połączyć z urządzeniem (w tym przypadku z pojedynczym silnikiem), wyświetli on  odpowiedni komunikat w konsoli.

Gdy wszystko działa prawidłowo, możemy być pewni, że środowisko zostało poprawnie skonfigurowane i jest gotowe na pracę uczniów.

8. Co Python w LEGO® Education oznacza dla uczniów i nauczycieli?

Wprowadzenie programowania w języku Python w LEGO Education – w nowych zestawach Informatyka i AI – może być dużym krokiem na przód w edukacji cyfrowej uczniów i kształtowaniu w nich kompetencji przyszłości. Z jednej strony podstawy, związane z samą obsługą urządzeń, są na tyle proste, że mogą stanowić płynne przejście dalej, po etapie programowania blokowego, dla uczniów klas VII i VIII. Z drugiej strony dalsze możliwości, które zapewnia otwartość środowiska, są niemal nieograniczone, przez co dla wielu będzie to przyjazne w formie wejście w świat dojrzałego programowania.

Dla nauczyciela oznacza to możliwość płynnego przejścia od programowania blokowego do tekstowego, bez konieczności rezygnowania z praktycznych projektów opartych na robotyce. Z kolei dla uczniów jest to okazja do rozwijania umiejętności, które będą mogli wykorzystać nie tylko podczas dalszej nauki informatyki, ale również na studiach i w przyszłej pracy zawodowej.

Pytania i odpowiedzi

1. Czy LEGO® Education Informatyka i AI można programować w Pythonie?

Tak, nowe zestawy LEGO® Education Informatyka i AI można programować w Pythonie z wykorzystaniem dedykowanego API LEGO® Education.

2. Jak zacząć programowanie LEGO® Education w Pythonie?

Aby rozpocząć, należy zainstalować Pythona, API LEGO® Education oraz wybrane środowisko programistyczne, np. Visual Studio Code.

3. Czy LEGO® Education Python działa w Visual Studio Code?

Tak, zestawy LEGO® Education można programować w Pythonie przy użyciu Visual Studio Code oraz odpowiedniego rozszerzenia Python.

4. Czy Python w LEGO® Education jest odpowiedni dla uczniów klas 7-8?

Tak, Python może być naturalnym kolejnym etapem nauki programowania dla uczniów, którzy wcześniej poznali programowanie blokowe.

5. Czy LEGO® Education Informatyka i AI pozwala tworzyć projekty ze sztuczną inteligencją?

Tak, dzięki Pythonowi można korzystać z zewnętrznych bibliotek AI i uczenia maszynowego, takich jak MediaPipe czy TensorFlow.

6. Jak połączyć LEGO® Education z komputerem podczas programowania w Pythonie?

Urządzenia LEGO® Education łączą się z komputerem bezprzewodowo za pomocą technologii Bluetooth Low Energy.

7. Czym różni się Python w nowych zestawach LEGO® Education od Python w SPIKE™?

W nowych zestawach można korzystać z pełnego środowiska Python i zewnętrznych bibliotek, podczas gdy Python w SPIKE™ działał w bardziej ograniczonym środowisku

Skip to content