Moduł 7 - „Zawody lekkoatletyczne duszków”: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
[[Plik:Logo_Mistrzowie.png|center]] | [[Plik:Logo_Mistrzowie.png|center]] | ||
− | + | ||
'''Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC-BY-SA „Uznanie autorstwa – Na tych samych warunkach 3.0 Polska”''' | '''Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC-BY-SA „Uznanie autorstwa – Na tych samych warunkach 3.0 Polska”''' |
Aktualna wersja na dzień 16:34, 7 lip 2015
Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC-BY-SA „Uznanie autorstwa – Na tych samych warunkach 3.0 Polska”
Spis treści
Informacje
Cele
Cele ogólne:
- przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka Scratch,
- opracowanie projektu prostej gry, w której występują procesy wykonywane równolegle,
- jej implementacja w środowisku Scratch.
Cele szczegółowe:
- uczeń rozumie i potrafi stosować odpowiednie instrukcje strukturalne,
- uczeń rozumie pojęcia zmiennej globalnej i lokalnej i potrafi je wykorzystać w programie,
- uczeń potrafi zaprojektować i zaimplementować prostą grę w środowisku Scratch, w której występują procesy wykonywane równolegle.
Etapy realizacji
Omówienie rozwiązania zadania dodatkowego z modułu VI
Czas na realizację tej części: ok. 10 minut
Na początku zajęć należy przypomnieć, co miało zostać przygotowane przez uczniów między zajęciami. Zapraszamy chętnego ucznia do zaprezentowania swojego rozwiązania. Dyskutujemy z uczniami, czy ktoś miał inny sposób rozwiązania. Omawiamy rozwiązania (chwaląc każde poprawne rozwiązania poszczególnych zadań). Jeśli nie było zadań domowych, to zaczynamy od powtórzenia najważniejszych zagadnień z poprzedniego modułu. Pytamy także, o wątpliwości do ew. własnych projektów uczniów. Jeśli ktoś chce się czymś pochwalić – pozwólmy mu na to.
Zaprojektowanie programu symulującego wyścigi duszków
Czas na realizację tej części: ok. 20 minut
Na początku zajęć wyjaśniamy, że zadaniem do rozwiązania będzie stworzenie programu symulującego wyścigi. Na początek w wyścigu wezmą udział dwa duszki. Tym razem jednak nie tworzymy z uczniami algorytmu rozpisanego na tablicy, ale dyskutujemy, organizując burzę mózgów ogólne założenia, czyli jak program ma działać. Omawiamy także, w jaki sposób niektóre z zagadnień da się zrealizować (ale bez konkretnego wskazywania, jak to zrobić z użyciem konkretnych poleceń Scratcha). Wnioski z burzy mózgów spisujemy na tablicy w formie schematycznego rysunku. Dyskusja może wyglądać podobnie do niżej opisanej, ważne by omówione zostały wszystkie punkty, które należy uwzględnić w programie (punkt startowy, sposób poruszania się duszków, ustalenie losowej prędkości poruszania, reakcja na osiągnięcie mety przez szybszego duszka).
Zadajemy pytanie: Od czego powinniśmy zacząć projektowanie naszego programu? Co powinniśmy w nim uwzględnić?
- Odpowiedzi mogą być różne, w tym wiele z nich będzie poprawnych. Będziemy więc dążyli do tego, by na początku ustalić wszystkie ważne elementy działania programu, między innymi:
- * gdzie będą startowały duszki (trzeba ustalić ich położenie, bo zawsze powinny startować z tych samych pozycji) i gdzie będzie znajdowała się meta,
- w którą stronę będą się poruszały – w prawo, lewo a może w górę lub w dół
- wybranie kierunku z lewej w prawą stronę wydaje się naturalne, bo zgodne z kierunkiem czytania, a ma tą zaletę, że duszki będą mogły przebyć dłuższą drogę,
- w jaki sposób ustalić prędkość biegu poszczególnych duszków, by za każdym razem, gdy program zostanie uruchomiony, każdy duszek miał szansę na wygraną,
- np. duszki mogą się poruszać o wylosowaną, niewielką (np. między 1 a 5) liczbę kroków, a losowanie powinno odbywać się przed każdym przesunięciem duszka po planszy, aż do momentu przekroczenia mety,
- w jaki sposób duszek rozpozna, że dotarł do mety (przekroczył jej linię),
- może sprawdzić po każdym ruchu (przesunięciu) o wylosowaną liczbę kroków, czy przekroczył pozycję mety, czy jeszcze nie. Jeśli przekroczył, wówczas dotarł do mety,
- w jaki sposób duszek stwierdzi, że jest pierwszy,
- np. może sprawdzić czy pozycja drugiego duszka jest mniejsza od pozycji mety, czy większa, gdy sam do niej dotarł. Jeśli jest mniejsza, to znaczy, że dotarł pierwszy i może powiedzieć „Wygrałem!”. Jeśli nie jest mniejsza, to znaczy, że drugi duszek dotarł wcześniej i wygrał lub jest remis.
Realizacja programu przez uczniów
Czas na realizację tej części: ok. 30 minut
Zadanie: Prosimy uczniów, by przystąpili do realizacji programu według dokonanych ustaleń (wspólnych lub według własnych pomysłów, jeśli w części drugiej przyjęliśmy, że każdy wymyśla własny algorytm, a my tylko podpowiadamy, co powinno zostać w nim uwzględnione).
Do wyboru uczniów pozostawiamy wybór postaci (kostiumów) poszczególnych duszków oraz scenerii, na której wyścig będzie się odbywał. Zwracamy tylko uwagę, że warto, aby duszki różniły się swoim wyglądem, np. jeśli pozostawimy kotki, to można zmienić kolor jednego z zawodników.
Podczas wykonywania zadania pomagamy w ewentualnym rozwiązaniu problemów, na jakie natkną się uczniowie. Staramy się jednak nie narzucać własnych rozwiązań, a raczej pozwolić samodzielnie analizować, gdzie problem wystąpił, dlaczego i w jaki sposób mu zaradzić – służąc jedynie podpowiedziami i nakierowując poprzez zadawanie pytań.
Poniżej przedstawione są przykładowe skrypty dla ścigających się duszków (nazwanych na potrzeby projektu Bolek i Lolek).
Wprowadzenie rozszerzeń do programu
Czas na realizację tej części: ok. 30 minut
Pierwsze zadanie może być przeznaczone dla uczniów, którzy najszybciej skończą podstawową wersję programu, polega na dodaniu animacji do postaci duszka. Jeżeli duszkiem jest kotek lub inna postać zwierzątka lub postać baśniowa to może to być przebieranie nóżkami. W przypadku samochodzików, może to być ruch kół, lampa koguta na dachu lub inny pomysł uczniów. Ważne w tym zadaniu, żeby animacja rozpoczynała się w momencie startu, a kończyła w momencie dotarcia do mety, gdy duszek kończy wyścig. Podpowiedź – animacja powinna być oddzielnym skryptem dla każdego duszka, na przykład podobnym do poniższego przykładu.
Drugie zadanie
polega na dodaniu licznika czasu. Podczas niemal każdego wyścigu transmitowanego w telewizji możemy podglądać czas, w jakim poszczególni zawodnicy docierają do mety. Chcielibyśmy, aby podobnie było w naszym programie. Przedyskutujmy z uczniami, w jaki sposób możemy to zrealizować. Poprośmy, aby odnaleźli klocki związane z pomiarem czasu.
Na pewno przydatne będą czasomierz oraz kasuj zegar
Należy zastanowić się, gdzie i w jaki sposób je wykorzystać. Zegar powinien być wyczyszczony w momencie rozpoczęcia wyścigu, a pomiar dokonywany w trakcie oraz na końcu biegu każdego z duszków.
Następnie przedyskutujmy, w jaki sposób moglibyśmy ich użyć. Jak zapisywać czas i w jaki sposób wyświetlać go na ekranie.
Jednym ze sposób jest zapamiętywanie czasu po każdym ruchu przez każdego duszka, aż do osiągnięcia mety. Wówczas możemy wyświetlić zmienne, w których duszki zapamiętują swój czas i będziemy mieli podgląd jego upływu na żywo – podobnie jak w transmisji telewizyjnej. Jednocześnie ostatni zapamiętany w zmiennej czas, to czas osiągnięcia mety przez duszka. „Zegar” automatycznie zatrzyma się. Należy zwrócić uwagę, że trzeba utworzyć zmienną, np. o nazwie czas dla każdego duszka oddzielnie (dostępną tylko dla tego duszka, a nie wszystkich).
Poprośmy o dokonanie odpowiednich modyfikacji w programie i jego przetestowanie. Zaprośmy pierwszego z uczniów, któremu uda się osiągnąć cel, by zaprezentował i objaśnił swoje rozwiązanie na tablicy. Następnie zapytajmy czy ktoś ma inny sposób i także omówmy go z całą grupą. Przykładowa modyfikacja programu może wyglądać następująco:
Trzecie zadanie to dodanie rysowania torów, po których poruszają się duszki. Poprośmy, by przed rozpoczęciem biegu jeden z duszków narysował tory, po których oba duszki będą się poruszały.
Zadanie ma na celu przypomnienie zasad posługiwania się pisakiem i rysowania zaplanowanych figur na ekranie przez duszka. Uczniowie podczas wcześniejszych zadań wykonywali już podobne ćwiczenia, więc nie powinni mieć większego problemu z jego realizacją. Możemy jedynie podpowiedzieć, że tory powinny być proste i schematyczne – np. w postaci trzech kresek wyznaczających granice torów, a każdy z duszków znajdzie się dokładnie po środku między dwoma z nich, jak na rysunku poniżej.
Przykładowa modyfikacja skryptów może wyglądać następująco:
Warto zwrócić uwagę, że w tej wersji dodane zostało ustawienie zmiennych
czas
dla każdego z duszków na 0 na początku programu, aby prawidłowo działał zegar. Jeśli nikt z uczniów nie zauważył wcześniej tego błędu, warto ich na niego naprowadzić.
Propozycje zadań dodatkowych do samodzielnej realizacji przez uczniów
- Dodanie trzeciego zawodnika.
- Dodanie publiczności, która jest aktywna podczas biegu.