Wprowadzenie do zmiennych w programowaniu
Transkrypt
Wprowadzenie do zmiennych w programowaniu
Wprowadzenie do zmiennych w programowaniu Opis 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. Cele ● Rozpoznawanie zmiennych ● Zrozumienie, że zmienna to wartość, która ulega zmianie. ● Budowanie kodów z wykorzystaniem zmiennej Wielkość grupy 2 - 5 uczniów (opcjonalnie zabawy w zespole całej klasy) Klasy docelowe 4 - 6 szkoły podstawowej Wymagany czas 2 jednostki lekcyjne Co będzie potrzebne: Roboty i akcesoria: Dash, Dot Pomoce dydaktyczne: ● Tablety ● Prezentacja "Wprowadzenie do zmiennych" ● Projektor do wyświetlenia kodów w Blockly lub wydruki tych kodów ● 2 pudełka dla każdej grupy ● Przedmioty do użycia jako liczydło, np. szklane kulki, spinacze lub kawałki papieru Załączniki do lekcji (do pobrania): ● Załącznik 1 – zmienne w kodzie 1 ● Załącznik 2 – zmienne w kodzie 2 ● Załącznik 3 - zmienne w kodzie 3 Podstawa programowa: MATEMATYKA Cele kształcenia – wymagania ogólne IV. Rozumowanie i tworzenie strategii. Uczeń prowadzi proste rozumowanie składające się z niewielkiej liczby kroków, ustala kolejność czynności (w tym obliczeń) prowadzących do rozwiązania problemu, potrafi wyciągnąć wnioski z kilku informacji podanych w różnej postaci. Treści nauczania – wymagania szczegółowe: 2. Działania na liczbach naturalnych. Uczeń: 1) dodaje i odejmuje w pamięci liczby naturalne ZAJĘCIA KOMPUTEROWE Cele kształcenia – wymagania ogólne IV. Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera Treści nauczania – wymagania szczegółowe: 1. Bezpieczne posługiwanie się komputerem i jego oprogramowaniem. Uczeń: 2) odczytuje i prawidłowo interpretuje znaczenie komunikatów wysyłanych przez programy; 3) prawidłowo zapisuje i przechowuje wyniki swojej pracy w komputerze i na nośnikach elektronicznych, a następnie korzysta z nich; 5. Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera. Uczeń: 1) za pomocą ciągu poleceń tworzy proste motywy lub steruje obiektem na ekranie; 2) uczestniczy w pracy zespołowej, porozumiewa się z innymi osobami podczas realizacji wspólnego projektu, podejmuje decyzje w zakresie swoich zadań i uprawnień. Edycja pilotażowa nowej podstawy komputerowej dla II poziomu edukacyjnego: I. Rozumienie, analizowanie i rozwiązywanie problemów. Uczeń: 1) Tworzy i porządkuje w postaci sekwencji (liniowo) lub drzewa (nieliniowo) informacje, takie jak: obrazki i teksty ilustrujące wybrane sytuacje, opisy rzeczy różnych rodzajów (np. zwierząt, kwiatów), planuje w ten sposób późniejsze ich zakodowanie za pomocą komputera. 2) Formułuje w postaci algorytmów polecenia składające się na: znane uczniom algorytmy z różnych przedmiotów, np. matematyczne: pisemnego dodawania, odejmowania, mnożenia, II. Programowanie i rozwiązywanie problemów z wykorzystaniem komputera i innych urządzeń cyfrowych. Uczeń: 1) Projektuje, tworzy i zapisuje w wizualnym języku programowania pomysły historyjek, rozwiązania problemów i proste algorytmy z wykorzystaniem poleceń sekwencyjnych, iteracyjnych i warunkowych oraz zdarzeń jednoczesnych. 2) Testuje na komputerze swoje programy pod względem zgodności z przyjętymi założeniami o efektach ich działania, objaśnia przebieg działania programów. 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 Dźwięk “1” będzie dowolnym dźwiękiem wgranym przez ucznia. Kod 3 Kod 2