Przewodnik dla nauczycieli Mission Zero
Mission Zero Mentor Guide
Witamy w European Astro Pi Challenge 2024/25: Mission Zero. Mission Zero oferuje młodym ludziom niesamowitą okazję napisania programu komputerowego, który będzie działał na komputerach Astro Pi na pokładzie Międzynarodowej Stacji Kosmicznej (ISS) i wyświetlał astronautom kolorowy obraz lub animację.
This guide for mentors provides information and tips to help you support your teams to take part.
Po pierwsze, chcielibyśmy serdecznie podziękować wszystkim, którzy prowadzą Mission Zero z młodymi ludźmi. Dziękujemy za dzielenie się swoim czasem, wiedzą i entuzjazmem, aby wspierać nowe pokolenie twórców technologii.
Zanim zaczniesz, sprawdź kryteria kwalifikacyjne.
Nie jest wymagane wcześniejsze doświadczenie
Nie musisz mieć żadnego wcześniejszego doświadczenia w Astro Pi Challenge, aby wziąć udział w Mission Zero. Udostępniamy szereg przydatnych zasobów, które wesprą Ciebie i Twój zespół podczas misji.
Więcej informacji na temat innych zasobów, które mogą pomóc Tobie i Twojemu zespołowi, znajdziesz w dalszej części przewodnika.
Przegląd Astro Pi Mission Zero
Celem Mission Zero jest stworzenie programu, który może działać na ISS przez 30 sekund i w tym czasie będzie zbierać dane z czujnika światła komputera Astro Pi i wykorzysta je do dostosowywania kolorów obrazu lub animacji, które będą wyświetlane na matrycy LED Astro Pi.
Działania te mogą być realizowane indywidualnie lub przez zespoły składające się z maksymalnie czterech młodych ludzi pracujących razem. Gdy twoje zespoły napiszą i przetestują swoje programy, prześlą ją do sprawdzenia przez specjalistów z Fundacji Raspberry Pi oraz Europejskiej Agencji Kosmicznej. Wszystkie programy zgodne z zasadami Mission Zero otrzymają wówczas „status lotu”, który pozwoli na uruchomienie ich w kosmosie.
Zasoby i przygotowanie do misji
In addition to this mentor’s guide, we provide a number of resources for Mission Zero for you and your teams.
Wytyczne Mission Zero zawierają wszystkie wymagania i instrukcje techniczne, które pomogą młodym ludziom w tworzeniu programu w Pythonie, któremu można przyznać status lotu (uruchomić na ISS). Pomyśl o tym jako o specyfikacji, którą program musi spełniać, aby mógł zostać wzięty pod uwagę przy uruchomieniu na ISS.
Przewodnik krok po kroku Mission Zero przeprowadzi Cię przez proces tworzenia programu gotowego do lotu w kosmos, ale jeśli masz jakiekolwiek pytania, skontaktuj się z Astro Pi Mission Control, wysyłając wiadomość e-mail na adres [email protected]. Nie wahaj się z nami skontaktować — chętnie Cię wysłuchamy.
Aby pomóc Ci przedstawić Astro Pi Challenge i Mission Zero, możesz użyć tego zestawu slajdów. Zawiera on link do widoku ISS w Google Street View, który Twój zespół może użyć, aby znaleźć komputery Astro Pi na pokładzie stacji. Slajd pokazuje również i zawiera link do tego interaktywnego kolażu PDF niektórych pikselowych dzieł sztuki stworzonych na potrzeby wyzwania 2022/23.
Aby ukończyć Mission Zero, zespoły będą potrzebować:
Komputera z dostępem do Internetu
Aktualną przeglądarkę internetową
Udział w Mission Zero wymaga około 1–2 godzin kontaktu/czasu pracy nad projektem.
Twoje zespoły będą pisać swoje programy, korzystając z naszego edytora kodu online, który zapewnia również emulację komputera Astro Pi, dzięki czemu zespoły będą mogły zobaczyć, jak ich dzieło będzie wyglądało na ISS.
Co dokładnie musi robić program?
There are 4 requirements that a Mission Zero program has to meet. These are helpfully displayed at the bottom of the online code editor.
Po spełnieniu każdego z wymogów pojawi się zielony znacznik. Programy, które działają przez ponad trzydzieści sekund z powodu powolnego urządzenia lub słabego połączenia internetowego, otrzymają komunikat o błędzie zamiast zielonego znacznika. Możesz przesłać program swojego zespołu, jeśli jest on przekroczony z takich powodów.
Naprawdę zabawną częścią ćwiczenia jest projektowanie obrazów, które będą wyświetlane na matrycy LED 8x8. Powinieneś zachęcić swoje zespoły, aby przeznaczyły dużo czasu na tę część wyzwania.
Przewijając wiele obrazów z niewielkimi zmianami pomiędzy nimi, łatwo jest stworzyć naprawdę zabawną animację. Wiele wpisów z zeszłego roku zaczynało się od przykładowych obrazków podanych w przewodniku krok po kroku, a następnie je animowano, jak na przykład kłapiący krokodyl, dziobiący kurczak i pełzający wąż z początku tego przewodnika.
Lub jeśli czują się naprawdę kreatywni, Twój zespół może zaprojektować nową postać i animować jej ruchy.
To help your teams with their designs, you could print out some grids for them to fill in with coloured pencils, or use one of the many online pixel art tools, like the one at pixilart.com (make sure they select an 8x8 grid). Creating new colours can also really enliven a project. There are plenty of online colour-mixing tools like this that can be used to craft a particularly vivid shade of whatever.
Możesz zachęcać swoje zespoły, aby były tak kreatywne jak im się podoba, ale przypomnij im, że istnieje kilka ograniczeń dotyczących rodzaju treści, które można wyświetlać na ISS. W obrazach i animacjach niedozwolone są takie elementy:
Wszystko, co można zinterpretować jako nielegalne, powiązane politycznie lub drażliwe
Flagi, ponieważ niestety w niektórych kontekstach można je uznać za drażliwe politycznie
Wszystko, co odnosi się do nieprzyjemności lub krzywdy wyrządzanej innej osobie
Dane osobowe, takie jak numery telefonów, kontakty z mediów społecznościowych i adresy e-mail
Nieprzyzwoite obrazy
Wulgarny język lub przekleństwa
Wszystkie zgłoszenia są dokładnie sprawdzane, a podstępne próby przepuszczenia czegoś przez zespół testujący nie powiodą się. Na przykład pisanie nieodpowiedniej wiadomości po jednym znaku na raz. Dobrym pomysłem jest upewnienie się, że każda młoda osoba biorąca udział w badaniu jest świadoma tych ograniczeń. Co roku musimy rozczarować niektórych uczestników, nie uruchamiając ich programów ze względu na obecność flag.
How to register as a Mission Zero mentor
You can register as a Mission Zero mentor via the Astro Pi website. Click on the Mission Zero link at the top of the page. Then scroll down and click on the registration link.
Jest to prosty proces, który polega jedynie na założeniu konta Raspberry Pi. Jeśli masz już jedno z nich, sprawa jest jeszcze łatwiejsza i możesz po prostu się zalogować.
Jeśli nie masz konta Raspberry Pi to kliknij link aby je utworzyć i podaj typowe informacje. W ramach procesu rejestracji otrzymasz e-mail z kodem weryfikacyjnym.
Po zalogowaniu się zostaniesz poproszony o wyrażenie zgody na niektóre zasady ochrony prywatności. Następnie wybierz Mission Zero.
Zostaniesz poproszony o odpowiedzi na kilka prostszych pytań, w tym o to, gdzie chcesz prowadzić Mission Zero. Może to być szkoła, klub, drużyna harcerska lub inne miejsce, lub być może każde z nich. Jeśli zamierzasz zgłaszać zespoły z różnych miejsc (np. grupa CoderDojo i drużyna harcerska), po prostu powiedz nam o tym, skąd sądzisz, że pojawią się większość Twoich zgłoszeń.
Następnie zobaczysz ekran taki jak ten, z wyświetlonym kodem Twojej klasy. To jest jedyna rzecz, której Twoje zespoły będą potrzebować, aby przesłać swoje programy, a on automatycznie połączy je z Twoim kontem.
Nie ma ograniczeń na liczbę zespołów, które mogą przesyłać zgłoszenia przy użyciu kodu Twojej klasy. Sprawdź, czy Twoje zespoły spełniają kryteria kwalifikacji tutaj.
Jak przesłać wpis
Kiedy Twoje zespoły mają działający program i zaznaczone są pola wyboru na dole edytora kodu, mogą przesłać swój program. Po wprowadzeniu kodu Twojej klasy i wybraniu nazwy zespołu przejdą do krótkiego formularza, w którym zostaną poproszone o podanie kilku szczegółów.
Jeśli istnieje więcej niż jeden uczestnik, który pracował nad tym programem, kliknij na +Dodaj członka zespołu, aby dodać również jego dane. Nazwa zespołu i imiona wszystkich członków zespołu pojawią się na unikalnych certyfikatach, które zostaną wysłane po uruchomieniu programów na ISS.
Na odwrocie każdego certyfikatu będzie także mapa pokazująca lokalizację ISS nad Ziemią w momencie uruchomienia programu.
Otrzymasz e-mail dla każdego zgłoszonego zespołu. Jeśli organizujesz Mission Zero z dużą grupą, możesz użyć tych e-maili, aby sprawdzić, czy wszystkie zgłoszenia zostały przesłane poprawnie. Informacje te możesz także sprawdzić logując się na swoje konto Raspberry Pi i sprawdzając hub Mission Zero.
Troubleshooting Mission Zero
Saving work between sessions Teams can save their programs by clicking the Save button on the Mission Zero starter project. They will need to enter a team name, each member’s name, and the classroom code you have given them. So please allow some time for this in your session.
Loading your program To load a program, your teams can simply enter the classroom code and their team name, and their saved program will appear in the Mission Zero starter project.
Why isn’t my program working? It is difficult to predict what programming errors your coders may encounter, but a few common ones are shown below. As a general rule, always check with the example code shown in the step-by-step guide and look for typos and differences in the line formatting. The step-by-step guide encourages the programmers to make small changes and additions to their code and then run the program to check everything is working. This approach makes it much easier to find an error.
Here are some examples of errors you may encounter:
NameError: name 'c' is not defined on line 16 of main.py (NameError: nazwa 'c' nie jest zdefiniowana w linii 16 pliku main.py)
Nie ma nic złego w żadnej linii kodu w podanym przykładzie. Jednak jednoliterowe zmienne kolorów użyte w obrazie są zdefiniowane dopiero po liście tworzącej sam obraz. Przeniesienie linii 27–30 powyżej definicji listy rozpoczynającej się w linii 16 rozwiąże ten problem. Kluczową nauką jest to, że nie możesz używać zmiennej w Pythonie, dopóki nie przypiszesz jej wartości.
„Moja animacja nie działa”
W takim przypadku program będzie działał bez żadnych błędów, ale będzie wyświetlał tylko drugi obraz w sekwencji animacji. Dzieje się tak dlatego, że pomiędzy wyświetleniem obu klatek nie ma przerwy. Dodanie linii sleep(1) pomiędzy liniami 45 i 46 rozwiąże ten problem.
SyntaxError: bad input on line 34 of main.py (SyntaxError: nieprawidłowe dane wejściowe w linii 34 pliku main.py)
Linia 34 jest wcięta i dostosowana do listy powyżej. Należy usunąć tabulator na początku tej linii.
SyntaxError: bad input on line 33 of main.py (SyntaxError: nieprawidłowe dane wejściowe w linii 33 pliku main.py)
Oprócz zgłoszonego numeru linii problem wygląda identycznie do poprzedniego. Jednak przyczyna jest tym razem nieco inna. Na końcu linii 30 w liście brakuje zamykającego nawiasu kwadratowego. Jest to częsty problem — czasami przyczyna nie leży w linii podanej w komunikacie o błędzie.
NameError: name 'set_pixels' is not defined on line 33 of main.py (NameError: nazwa 'set_pixels' nie jest zdefiniowana w linii 33 pliku main.py)
Problem tutaj może być trudny do wykrycia, zwłaszcza jeśli patrzysz przez ramię programisty na mały ekran. To tylko literówka jednoznakowa: przecinek pomiędzy sense i set w linii 33 powinien być kropką.
Skończyłem
Można stworzyć program spełniający wymagania, dodając tylko kilka linijek do kodu początkowego. Jeśli masz bystrego programistę, który to zrobił, lub takiego, który odkrył cały przykład i po prostu go wkleił, zachęć go do większej indywidualizacji swojej pracy, dodając dodatkowe klatki do animacji lub wybierając żywe kolory.
Coś poszło nie tak i straciłem swój program
Czasami programiści mogą przypadkowo zamknąć kartę lub przeglądarkę, a może wystąpił problem z komputerem. Jeśli tak się stanie, warto ponownie otworzyć wszystko, ponieważ istnieje szansa, że wciąż dostępna jest wersja z pamięci podręcznej. Jeśli tak się nie stanie, niestety nie można nic zrobić, aby odzyskać pracę, chyba że została wcześniej zapisana. Nieuchronnie tego rodzaju problemy pojawiają się pod koniec sesji, gdy nie ma wystarczająco dużo czasu, aby zacząć od nowa. Jednak sekcja 4 przewodnika krok po kroku zawiera ukończoną wersję prawidłowego programu Mission Zero. Pechowe zespoły mogą skopiować i wkleić ten kod, aby szybko coś uruchomić. Nie na wiele się to zda, jeśli spędzili wieki pracując nad niesamowitą animacją, ale przynajmniej będą mogli coś przesłać, uruchomić na ISS i otrzymać certyfikat.
Jeśli masz zespół, który tworzy wiele linii kodu, zachęcaj jego członków do regularnego zapisywania swojej pracy.
Mój kod działa dłużej niż 30 sekund
Mimo że program Mission Zero ma 29 klatek z 1-sekundowym opóźnieniem między nimi, czasami jego wykonanie może zająć ponad 30 sekund, jeśli jest uruchamiany na starszym komputerze. Jeśli program przechodzi przez ten sam obraz, jak pokazano w przewodniku krok po kroku, najłatwiejszym rozwiązaniem jest po prostu zmniejszenie liczby pętli, tak aby zakończyć go w czasie krótszym niż 30 sekund. Jeśli istnieje 29 unikalnych klatek niestandardowej animacji, zmniejsz czas interwału.
Kod klasy nie działa
Sprawdź, czy jest wpisywany poprawnie. Kody klasy używają myślników między dwoma częściami składowymi. Są one również wrażliwe na wielkość liter.
Mentorzy otrzymują co roku nowy kod klasy, do którego można uzyskać dostęp z Mission Hub. Jeśli wcześniej zarejestrowałeś się na koncie Raspberry Pi w 2023/24, po prostu odwiedź Mission Hub, aby zobaczyć swój nowy kod na 2024/25.
Zarejestruj się na swoje konto mentora tutaj, jeśli robisz Mission Zero po raz pierwszy. Zobaczysz swój kod klasy na rok 2024/25, gdy się zarejestrujesz.