Rozpoznawanie i analiza wartości zmiennych jest ważną umiejętnością podczas nauki programowania. W trakcie tej lekcji uczniowie nauczą się, jak zmienne mogą być używane w programowania i w jaki sposób ułatwiają nam tworzenie kodów.
2-5 uczniów
2h lekcyjne
4 - 6
● Rozpoznawanie zmiennych
● Zrozumienie, że zmienna to wartość, która ulega zmianie.
● Budowanie kodów z wykorzystaniem zmiennej
Przebieg lekcji:
Lekcja 1: Wprowadzenie do zmiennych, nauka zastosowania zmiennych w aplikacji (45 min).
Lekcja 2: Wykorzystanie zmiennych w aplikacji Blockly, programowanie własnych pomysłów (45 min).
LEKCJA 1
Wprowadzenie do zmiennych.
Wstęp: wprowadzimy ucznia w pojęcie zmiennej, zaprezentujemy jak można zmieniać zmienną, jakie bloczki są odpowiedzialne za zmienne. Przeprowadzimy sporo ćwiczeń praktycznych, które w łatwy i przyjazny sposób pozwolą się zaznajomić uczniom z tą tematyką.
Zadanie dla uczniów:
● przygotuj różnego koloru piłeczki/ opcjonalnie karteczki
● postaw przed uczniami pudełko i zacznij wrzucać do niego piłeczki zaczynając od jednego z kolorów, następnie kolejny
● w trakcje wykonywania czynności zapytaj: Ile piłeczek jest w środku?
● uczniowie będą podawać różne liczby, zapytaj ich: Ile piłeczek było już w pudełku przed wrzuceniem?
● na tablicy zanotuj w punkcie pierwszym “wartość początkową” i objaśnij uczniom, że jest to ilość piłek znajdująca się w pudełku przed rozpoczęciem naszej zabawy
● zapytaj: Czy wartość początkowa może wynosić 0? i co to oznacza w naszym przypadku (pudełko było puste)
● wyciągnij raz jeszcze wszystkie piłeczki, pokaż że pudełko jest puste i zapytaj ile wynosi wartość początkowa (spodziewana odpowiedź = 0)
● ponownie wrzucaj piłeczki i poproś, aby uczniowie liczyli na głos ile piłeczek jest już w pudle
● zadaj pytanie: Czy ilość piłeczek w pudełku się zmienia?
● zanotuj na tablicy w punkcie drugim “zmienne” i wyjaśnij, że teraz są to nasze piłeczki
● kolejne pytanie skierowane do uczniów: Co może być naszymi zmiennymi? (naprowadź uczniów, że mogą to być dowolne przedmioty, ale również i liczby)
● wrzuć wszystkie piłki do pudełka i poproś, aby zgadli jaki kolor piłeczki zostanie wyciągnięty
● jaką mają pewność, że będzie teraz kolor żółty?
● co musieliby zrobić, aby mieć pewność, że teraz będzie żółty? (naprowadź uczniów, że może dobrym rozwiązaniem byłoby przygotowanie takiej ilości pudełek, ile jest kolorów i wrzucać piłeczki w danym kolorze tylko do jednego pudełka)
● w punkcie trzecim na tablicy zapisz “rodzaje zmiennych”, co oznacza, że takich pudełek może być wiele i to będą nasze rodzaje.
Zaprezentujemy teraz uczniom jak to działa w aplikacji Blockly. Przygotuj wcześniej krótki program dla Dasha i Dota. Prezentując ekran tabletu pokazuj, jak zmienna np. ”pomarańcza” ulega zmianie i co się dzieje, jak zmienia swoją wartość.
Po takiej prezentacji pokaż uczniom, że nasze pudełka w programie to odpowiednie owoce, np. banany, czereśnie itp. Ilość piłek w naszych pudełkach to wartość liczbowa odpowiadająca w danym momencie konkretnemu owocu. Podkreśl, że może ona ulegać zmianie, tak jak ilość piłek w pudełkach.
Po przeprowadzonym wstępie otwórz prezentację "Wprowadzenie do zmiennych". Użyj tej prezentacji jako pomocy w uświadomieniu uczniom czym są zmienne i jak można je wykorzystać. Uczniowie mogą uznać za przydatne podzielenie się na grupy, aby łatwiej było korzystać z tabletów. W ten sposób będą mogli otworzyć i sprawdzić każdy z nowych bloków pojawiających się w prezentacji.
Poniżej propozycja opisu poszczególnych slajdów i zwrócenie uwagi na istotne elementy.
Slajd 2 - Czym jest zmienna:
Podkreśl koncepcję, że zmienna jest rodzajem pojemnika do przechowywania - czymś jak pudełko. Można do niego wkładać i wyciągać z niego różne przedmioty, ale żeby dowiedzieć się, co jest w środku, trzeba je otworzyć i spojrzeć do wnętrza. Zmienna przyjmuje rożne wartości, w naszym przypadku to była różna liczba piłek. Zmiennych w programie może być kilka. tak jak naszych pudełek.
Slajd 3 - Dlaczego warto używać zmiennych:
Każdy punkt tego slajdu zostanie wyjaśniony bardziej szczegółowo w dalszej części prezentacji. Upewnij się, że uczniowie rozumieją, że ich kod (program) powinien być łatwy do odczytania i edytowania nie tylko przez nich samych, ale również przez innych uczniów. Inni uczniowie powinni być w stanie spojrzeć na ich kod i zrozumieć to, co próbują zrobić. To jest właśnie to, co robią dobrzy programiści! Można przyrównać uczniom, że rozsypane piłki zajmują więcej miejsca, niż powkładane do pudełka.
Slajd 4 - Zmienne w aplikacji Blockly - wartość początkowa i rodzaje zmiennych
Ustawianie zmiennej: Pomyśl o tym w ten sposób: Nie wiem, co jest w pudełku. Ktoś powie Ci, że włożył 3 klocki do pudełka. Co znajduje się teraz w pudełku? Nie wiesz! Dlatego zawsze trzeba określić wartość początkową każdej zmiennej używanej w aplikacji "Blockly". Wartość początkowa nie zawsze musi mieć wartość 0. W aplikacji Blockly można ustawić 5 rożnych zmiennych, które odpowiadają różnym rodzajom owoców.
Slajd 5, 6 - Zmienne w aplikacji Blockly - ustawianie zmiennych
Ustawianie zmiennej: zwróć uwagę uczniów, że są różne możliwości zmiany wartości zmiennej poprzez ustawienie: konkretnej liczby, wartości innej zmiennej (czyli np. kiedy banany = pomarańcze), wartości losowej (czyli rzut kostką) oraz konkretnej reakcji Dasha.
Slajd 7, 8 - Zmienne w aplikacji Blockly - zmienianie zmiennej
Ilość piłek w naszym pudełku można zmieniać dodając piłkę, odejmując piłkę, mnożąc ilość piłek w pudełku lub dzieląc je; na slajdzie widać wartości po konkretnej zmianie.
Slajd 9 - Zmienne w aplikacji Blockly – zapętlanie zmiennych
Utworzenie pętli ze zmiennymi: Wyraźnie podkreśl, że pętla "Dopóki" (Repeat while) oznacza "Wykonuj czynności określone w pętli, dopóki warunek nie zostanie spełniony." W tym przypadku warunkiem jest "zmienna pomarańcza mniejsza niż 5." Oznacza to, że kod w pętli będzie wykonywany tak długo [dopóki], aż zmienna pomarańcza osiągnie wartość 5.
Uruchom program z uczniami, odliczając zmienną i generując sygnał dźwiękowy przy rozpoczęciu każdej pętli. Zapisz liczbę na tablicy dla każdej pętli.
Rozwiązanie: sygnał dźwiękowy zabrzmi 5 razy w trakcie realizacji programu:
● Zmienna „pomarańcza” równa 0.
● Dźwięk, zmienna „pomarańcza” równa 1.
● Dźwięk, zmienna „pomarańcza” równa 2.
● Dźwięk, zmienna „pomarańcza” równa 3.
● Dźwięk, zmienna „pomarańcza” równa 4.
● Dźwięk, zmienna „pomarańcza” równa 5.
● Zmienna „pomarańcza” nie jest już większa od 5 tylko równa jej. Stop!
Porozmawiaj z uczniami o tym, dlaczego zmienna może być przydatna w tej sytuacji.
● Co stanie się, jeśli masz wiele pętli powtarzanych 5 razy i nagle chcesz je wszystkie powtórzyć 6 razy? Trzeba by zmienić liczbę we wszystkich tych pętlach. Jeśli zamiast tego użyjesz zmiennej, to wystarczy po prostu zmienić wartość zmiennej w jednym miejscu i zadanie wykonane! To łatwe!
Slajdy 10, 11 - Zmienne w aplikacji Blockly – na przykładzie
Przykład wzorca: Jeżeli używasz tego przykładowego wzorca w charakterze wzorca wprowadzającego, zwróć uwagę uczniów, że ten program jest wzorcem dźwięków i mrugnięć użytym uprzednio. Uruchom program z uczniami, aby utrwalić ich zrozumienie działania pętli. Zapisz wyniki pierwszych kilku pętli na tablicy.
Przykładowa tabela:
kolejne powtórzenie | wartości pomarańczy | wartości banana | wydawane dźwięki |
|
|
|
|
|
|
|
|
|
|
|
|
Porozmawiaj z uczniami o tym, jak wykonaliby zadanie bez zmiennych. Program musiałby wyglądać następująco:
Oznacza to długie kodowanie. Natomiast dzięki zmiennym program stanie się o wiele krótszy i dużo łatwiejszy do odczytania. Kiedy używasz zmiennych, inna osoba może łatwo zobaczyć, co dzieje się w programie i dokonać zmian w jego strukturze.
Ćwiczenie uzupełniające:
1. Podziel klasę na grupy cztero- lub pięcioosobowe.
2. Rozdaj każdej grupie po dwa pudełka oraz karty pracy z kodami aplikacji "Blockly", a także kilka przedmiotów, które będą służyć do zliczania (np. spinacze, karteczki, piłeczki, nakrętki).
3. Uczniowie będą pracować z otrzymanymi kartami pracy, przy czym:
● Jeden lub dwóch uczniów w grupie będzie trzymać pudełko oznaczające daną zmienną (pomarańcza, banan, itp.).
● Jeden z uczniów będzie odczytywać innym kod aplikacji "Blockly".
● Jeden z uczniów będzie udawać robota Dash i wykonywać kod.
● Pozostali uczniowie analizują kod programu krok po kroku.
4. Poinstruuj uczniów, aby zamieniali się rolami i kartami pracy.
LEKCJA 2
Zadania programistyczne.
Kiedy uczniowie rozumieją już, co oznaczają zmienne i jak można je wykorzystać w aplikacji Blockly, zacznijmy kolejne zajęcia od zabawy przypominającej te zasady. W zabawie będzie uczestniczyć cała klasa.
Zabawa nr 1. Zadania dla uczniów:
● wyznacz z klasy osobę, która będzie pierwszą zmienną
● wyznacz z klasy osobę, która będzie drugą zmienną
● wyznacz w klasie osobę, która będzie poruszać się jak robot, zgodnie z programem
● wyświetl kod programu tak, aby cała klasa mogła go analizować wspólnie (dwie propozycje kodów do zabawy są dostępne w załączniku Zabawa nr 1 – przykładowe kody)
● uczniowie stają przy tablicy i oznaczają symbolami swoje zmienne, uczeń-robot jest przed tablicą
● osoby reprezentujące zmienne mają za zadanie zapisywanie kolejno swoich wartości za każdym razem, gdy ulegnie ona zmianie
Przykład 1 Przykład 2
Uwaga: w przykładzie 2 obrót w prawo nigdy nie będzie wykonywalny, ponieważ nigdy wartość pomarańczy nie będzie większa od wiśni. Pozostawmy to uczniom do odkodowania.
Zabawa nr 2. Zadania dla uczniów:
Poproś uczniów o zapisanie poniższych kodów w aplikacji i przetestowanie, jaki będzie efekt działania robota. Po sprawdzeniu wszystkich kodów, omów z uczniami, jak działały roboty (jakie czynności wykonywały, ile razy je powtarzały). Na koniec poproś o stworzenie własnego kodu z wykorzystaniem zmiennych i zaprezentowanie pracy robota/robotów na forum klasy.
Poniższe przykłady możesz pobrać z załącznika Zabawa nr 2 – przykładowe kody.
Kod 1 Kod 2
Dźwięk “1” będzie dowolnym dźwiękiem wgranym przez ucznia.
Kod 3