środa, 26 października 2016

Sztuczki bez komputera

Już po raz trzeci władze Uniwersytetu Adama Mickiewicza wydziału Matematyki i Informatyki w Poznaniu zaprosiły studentów, nauczycieli informatyki i zajęć komputerowych do udziału w warsztatach z prof. Timem Bellem z Nowej Zelandii. Wykład zatytułowany “CS Unplugged in School Curricula” połączony z częścią warsztatową zrobił na mnie spore wrażenie.
W ostatnich czasach dużo mówi się o programowaniu bez komputera. W programie Mistrzowie Kodowania mamy w tej materii spore doświadczenie. Wydawać by się mogło, że nikt już niczego nowego nie powie. A jednak…
Tim Bell uznawany za autorytet w tej dziedzinie, współtwórca projektu "Computer Science Unplugged", zajmujący się tą nauką od ponad 20 lat, pokazał poznaniakom, i nie tylko, nową perspektywę.

Łamigłówka zamiast wprowadzenia

Na początku wykładu zmusił uczestników do wytężenia szarych komórek zadając im zagadkę związaną z parzystością liczb. Poprosił jedną z słuchaczek o przyczepienie na tablicę magnesów białych i czarnych, wedle jej wymyślonego wzoru, w pięciu wierszach i pięciu kolumnach. Następnie dołożył do nich swoje magnesy, tak by stworzyć tablicę 6x6, raz białe raz czarne nie zdradzając metody, którą się kierował. Następnie odwrócił się do publiczności i poprosił Panią o zmianę jednego magnesu z białego na czarny lub odwrotnie. Odwrócony tyłem do tablicy, bez możliwości “podglądania” poczynań swej nowej asystentki, po ponownym rzuceniu okiem na tablicę, profesor bez trudu odgadł, który z kwadratów został zamieniony.
Cały trik polegał na tym, że Pani poproszona o ułożenie tablicy 5x5 robiła to dość nieświadomie, natomiast dokładający swoje kwadraty Tim pamiętał o regule - parzysta ilość elementów w każdej kolumnie i każdym wierszu. Więc spoglądając na tablice po zmodyfikowaniu jednego z nich bez trudu mógł wskazać, który to element.




Kolejne sztuczki

Kolejną sztuczką przedstawioną na wykładzie było “zgadywanie” ostatniej liczby w kodzie kreskowym. Obecnie większość tych kodów zawieraj 13 cyfr. Tim poprosił jednego z uczestników o podyktowanie 12 cyfr z kodu, a następnie rozpisał algorytm obliczania ostatniej cyfry.

4, 6, 0, 7, 1, 7, 4, 4, 3, 1, 6, 0, ?
Cyfry należy zapisywać w dwóch wierszach:
4, 0, 1, 4, 3, 6
6, 7, 7, 4, 1, 0

następnie zliczamy sumę cyfr z wiersza pierwszego: 4 + 0 + 1 + 4 + 3 + 6 = 18 i zapominamy o cyfrze dziesiątek, czyli stosujemy funkcję modulo 10. Myślę, że dzieciom wystarczy powiedzieć, że cyfrę jedności uważamy za ważniejszą, bo tłumaczenie funkcji modulo może zniechęcić nawet tych ambitnych. Tak więc naszym wynikiem jest cyfra 8 i jest ona potrzeba do dalszego działania.

Tak samo postępujemy w przypadku cyfr z drugiego wiersza: 6 + 7 + 7 + 4 + 1 + 0 = 25, znów zapominamy o cyfrze dziesiątek. Ale teraz dodatkowo 5 mnożymy przez 3 i znów wynik traktujemy modulo 10. Czyli mówiąc wprost 5*3 = 15, ale dla nas to 5.

Sumujemy wyniki z wiersza pierwszego i drugiego: 8 + 5 i wszyscy wiemy, że wynik znów będzie zawierał tylko cyfrę jedności czyli 3.

Ostatni etap zgadywania cyfry kodu kresowego znajdującej się na końcu, to rozwiązanie równania z jedną niewiadomą: 3 + X = 10.

Naszym wynikiem jest cyfra 7 i to ona rzeczywiście znalazła się na końcu tego właśnie kodu.
Oczywiście Mistrzowska ciekawość dała o sobie znać w tym właśnie momencie. Więc postanowiłam sprawdzić przedstawioną regułę na kodach, które są w zasięgu moim osobistym. W ruch poszły kody z opakowań pisaków, cienkopisów oraz odzieży wierzchniej i cóż - U MNIE DZIAŁA.
Sprawdziłam w wikipedii - też o tym pisali, jednak sposób rozpisania tego algorytmu pokazany przez profesora bardziej do mnie przemawia.

                                          

Nasz człowiek

Co ważne w tym właśnie momencie pomyślałam sobie - to nasz człowiek, gdyż Tim odpalił na swoi komputerze Scratcha i rozpisał powyższy algorytm na klockach - ach jakie to piękne.
Mówił w tej właśnie chwili, że dobrze wie i rozumie, że są wśród nas, słuchaczy osoby dla których Scratch nie jest dobrym programem, nie zmienia to jednak faktu, że dla 8 czy 10-latka jest on bardzo dobry. Bo dziecko bez większych problemów przetłumaczy swój własny pomysł na język komputera. Cóż chcieć więcej. Profesor dalej mówił o mistrzowskiej filozofii nauczania programowania. O tym, że nauka bez błędów to nie nauka, że ważną częścią programowania jest testowanie i znajdowanie tych błędów. Jeśli uczymy dzieci jednego przepisu, to tak jakbyśmy ich niczego nie uczyli. Po prostu - miód na moje serce.

                                                   

Dalej mogło być tylko lepiej i było. Profesor mówił o tym jak wytłumaczyć dzieciom czym są pixele. Stwierdził, że informatyka jest nauką o ludziach, bo jak inaczej definiować kodowanie kolorów w komputerze za pomocą cyfr w kodzie RGB. Przecież ludzkie oko posiada receptory, dzięki którym widzimy te właśnie barwy: czerwony, zielony i niebieski. To przez pomieszanie ich ze sobą otrzymujemy inne kolory.

Było także o sortowaniu i algorytmie zapisanym za pomocą pól narysowanych na podłodze. O przedstawianiu zapisu liczb binarnych w łatwy, zrozumiały nawet dla pięciolatków sposób. O kodowaniu tych liczb za pomocą dźwięków, odgłosów zwierząt oraz o steganografii, czyli kodowaniu na widoku. Po prostu o nauce przez zabawę!
To był świetny wykład, a prowadzący pełen uśmiechu, dobrej energii i wiedzy.

Myślę, że to nie ostatnia wizyta prof. Bella w Poznaniu - jeśli będziecie mieć okazje zobaczyć go na żywo - gorąco polecam.

autorka: Anna Cieślarczyk, nauczycielka matematyki i zajęć komputerowych w Szkole Podstawowej nr 58 im. Jerzego Kukuczki w Poznaniu, trenerka programu Mistrzowie Kodowania
Share:

2 komentarze:

  1. Fajne. Ale mimo że bawimy się modulo 10 to w drugim wierszu wynik nie jest 15, a 25. ;-) pozdr. Po poprawieniu mozna skasowac moj komentarz

    OdpowiedzUsuń
    Odpowiedzi
    1. Dziękujemy za czujność :) literówka, komentarz zostawimy - niech będzie ślad

      Usuń