Pokazywanie postów oznaczonych etykietą kodowanie. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą kodowanie. Pokaż wszystkie posty

Kodujemy! 2 (Dziewczyny kodują)

poprzedni wpis retrospekcyjno-recenzencki (patrz >>TUTAJ<<) i pierwsze próby zabawy Scratchem otworzyły nas (niektórych ponownie) na kwestię programowania
jako że temat jest nie tylko modny, ale i perspektywiczny - idziemy za ciosem i przedstawiamy coś zupełnie nowego: kodowanie w ujęciu beletrystycznym,
czyli


pierwszą część bestsellerowej serii New York Timesa,

opowieść, w której przygody, zabawa i codzienne sprawy szkolne i domowe przeplatają się z praktyczną wiedzą o kodowaniu,

niedużą rozmiarowo, ale promującą wielką ideę książeczkę pt. "Dziewczyny kodują. Kod przyjaźni" autorstwa Stacii Deutsch
kanwą opowiadania jest zwykły tydzień przeciętnej (?) amerykańskiej nastolatki
bohaterkę wyróżnia jedynie specyficzny wybór zajęć pozalekcyjnych, który zapoczątkowuje ciąg ciekawych wydarzeń
jak czytamy na okładce:

"Lucy nie może się doczekać zajęć w szkolnym klubie kodowania. Ma cel - chce się nauczyć programowania, żeby stworzyć aplikację, która usprawni życie chorego wujka. Gdy ktoś zacznie jej wysyłać zaszyfrowane wiadomości, będzie potrzebowała pomocy koleżanek z klubu. Wkrótce Lucy odkryje, że kodowanie, przyjaźń i dobra zabawa mają ze sobą wiele wspólnego..."

inicjatorką powstania serii (tak, w Ameryce mają tego więcej!) i autorką przedmowy jest Reshma Saujani, założycielka organizacji Girls Who Code, stawiającej sobie za cel popularyzację zagadnienia wśród płci pięknej
w pewnym sensie logicznie uzasadnia ona potrzebę istnienia tego typu opowieści stwierdzeniem: "(...) brakuje książek, które opisywałyby jak to jest być dziewczyną programistką. (...) nie można stać się kimś, kogo w życiu się nie widziało. ani o kim nic się nie czytało. Musimy czytać o dziewczynach takich jak my, żeby mieć odwagę próbować nowych rzeczy!"
tłumaczy i zachęca:
"Czy wiecie, co to jest programowanie? Polega ono na mówieniu komputerowi (albo iPhone'owi lub robotowi!) co ma robić.
A czy zdawałyście sobie sprawę, że kodowanie to również tworzenie, wyobrazanie sobie i wymyślanie różnych fantastycznych rzeczy na podstawie tego co lubicie i czym się interesujecie? I świetna zabawa w zaprzyjaźnionym gronie?"
trzeba przyznać, że bardzo przykłada się do realizacji wizji "by następną generacją Marka Zuckerberga i Jacka Dorseysa były kobiety”, dając do zrozumienia, że oto mamy szansę wychować nowe pokolenie kodujących nie-nerdek

autorka snuje opowieść o codziennym życiu, rodzinach, obowiązkach szóstoklasistek, wplatając w fabułę motyw pierwszych zajęć klubu kodowania, próbę wytłumaczenia do czego służy i jak działa programowanie oraz elementy kodu - jako zaszyfrowanej informacji
fabuła nie jest zawiła, język przystępny, objętość książki nikła, bohaterki wesołe i sympatyczne - można powiedzieć, że czyta się szybko i bezboleśnie
samo tytułowe kodowanie to sprytnie wpleciony w treść dodatek, do którego mam jedynie drobną uwagę:
osobiście nie jestem przekonana do zabiegu wykorzystanego w tłumaczeniu, polegającego na "używaniu języka naturalnego wraz z polskimi znakami diakrytycznymi w nazwach zmiennych, metod i instrukcji warunkowych"
przypis jasno precyzuje jego cel i być może uzasadnia słuszność, niemniej języki kodowania, mimo częstych "zapożyczeń" z angielskiego, przyjęto uważać za uniwersalne i "nieprzetłumaczalne", stąd dziwnymi wydają mi się niektóre z użytych konstrukcji - w tym na przykład tłumaczenie warunkowego 'if' ("jeśli"), czy tworzącego pętlę 'while' ("dopóki"), przy jednoczesnym pozostawieniu w wersji oryginalnej 'int', 'boolean', czy 'string'
wspomniane wątpliwości nie dotyczą jednak całości przekazu - historyjka jest napisana przystępnie i myślę, że może zaciekawić uczennice starszych klas szkoły podstawowej
w obliczu zacierających się wraz z globalizacją i "internetyzacją" różnic między młodzieżą z USA i Europy Środkowej (tak, śmiem twierdzić, że czasy, kiedy patrzyliśmy na młodzież z Beverly Hills 90210 jak na odrębny gatunek bezpowrotnie minęły), będą w stanie utożsamić się z jej bohaterkami
odniosłam wrażenie, że ukrytym (?) celem jest możliwie nie-matematyczne ukazanie zasad kodowania, z jednoczesnym przedstawieniem programistów jako zwyczajnych ludzi (ha!) - w opozycji do stereotypowych oderwanych od rzeczywistości, pozbawionych uczuć i niezdolnych do budowania więzi społecznych odludków
przesłanie, iż "programowanie to praca zespołowa, polegająca w dużej mierze na wspólnym rozwiązywaniu problemów" jest aż nadto wyraźne
możliwe jednak, że to właśnie takie myślenie ma przyszłość :)

przekonane, że warto dołączyć do grona programistek?*
"Te dziewczyny, kodując, zmieniają naszą przyszłość!"
i wszystkie tak możemy!

else {
przeczytaj_dziewczynykoduja ;
}

Czytaj dalej

Kodujemy! (Scratch, Python i Kodowanie dla dzieci)

dawno, dawno temu, kiedy najpopularniejszym rodzajem nośnika pamięci zewnętrznej komputera były kasety magnetofonowe i/lub miękkie dyskietki 5,25 cala, napisałam swój pierwszy program
fakt ów nie miał (niestety?) specjalnie istotnego wpływu na moją dalszą edukację i drogę zawodową, ale niezapomniane pozostają emocje towarzyszące magicznym momentom niepewności, co stanie się, gdy wywołam RUN
nie pamiętam już większości komend poznanego wówczas języka BASIC, doskonale kojarzę za to komunikat SYNTAX ERROR ;)
programiki z tamtych czasów przepadły, wraz z postępem i nieuchronnym rozstaniem z naszym ówczesnym Commodorem, ale pozostał ślad zrozumienia, na jakich (często dla laika zawiłych, ale w swojej istocie prostych i logicznych) zasadach opiera się funkcjonowanie maszyn, czy też jak istotna jest precyzja komunikatu
i wspomnienie naprawdę dobrej zabawy przed ekranem, z równie zaaferowanym tatą :)

teraz przyszła kolej na Janka i jego przygodę z językiem Scratch
pierwsze kroki stawiamy z książeczką "Kodowanie dla dzieci" Marca Scotta


"podręcznik" o którym mowa, to kilkudziesięciostronicowa książka w miękkiej oprawie
kolorowe grafiki, narracja prowadzona w formie cierpliwego wyjaśniania i roztaczana przez autora optymistyczna wizja zdobycia wiedzy i umiejętności wystarczających do stworzenia własnej gry komputerowej doskonale trafiają do grupy docelowej w postaci uczniów pierwszych klas szkoły podstawowej
w tekście znajdą oni proste polecenia do wykonywania krok po kroku, w komiksowych "dymkach" dodatkowe wyjaśnienia nowych, niezrozumiałych określeń, a wszędzie wokół nieco kanciaste ("komputerowe") ilustracje podkreślające atmosferę zabawy i odwracające uwagę od faktu, że tak naprawdę uczymy się zupełnie czegoś nowego (i wcale nie takiego łatwego)


na początek młody programista in spe zapoznaje się ze środowiskiem programowania Scratcha
każdy etap, wymagane działania i spodziewany wynik postępowania jest czytelnie ilustrowany, co pozwala na pełną kontrolę i wyklucza zniechęcenie jakimikolwiek trudnościami na samym starcie
kolejne komendy są wprowadzane stopniowo, za każdym razem na konkretnym przykładzie, ale i z zachętą do wprowadzania własnych modyfikacji
kod w prosty sposób powstaje jak "układany z klocków", gdyż skrypt "budujemy" z gotowych, modyfikowalnych bloków
poznając kolejne możliwości tworzymy algorytmy pozwalające przeprowadzić coraz bardziej złożone działania, tworzyć skomplikowane figury (mimochodem dowiadując się tego i owego o fraktalach i układzie współrzędnych), a w końcu - tak, to nie był tylko chwyt reklamowy! - prostą grę komputerową


oczywiście już samo odtwarzanie proponowanego kodu sprawia, że z bliska obserwujemy sposób działania programu, jednak autor idzie jeszcze krok dalej
zachęta do podejmowania samodzielnych prób i podjęcia wyzwania dalszej modyfikacji kodu czyni całą zabawę jeszcze bardziej twórczą, a proces poznawczy - skuteczniejszym


dalszy ciąg książki to drugi stopień wtajemniczenia - otwierający kolejne możliwości, ale i nieco trudniejszy
tym razem mamy szansę nauczyć się podstaw programowania z wykorzystaniem tekstu - w języku Python


shell w którym widać jedynie literki sprawia z pewnością wrażenie bardziej nudnego niż kolorowe duszki na scenie w Scratchu, ale nieco starsze dzieci, bardziej skoncentrowane na ostatecznym celu, niż formie pośredniej, być może docenią fakt, jak za pomocą prostych poleceń łatwo osiągać założone cele
nauczą się tak "sterować" komputerem, by wykonywał dla nich graficzne kompozycje, losowania, obliczenia...


autor podaje tylko kilka przykładów kodu w Pythonie, rozbudzając zainteresowanie nowym językiem
w dwóch słowach przedstawia także inne "opcje" - m.in. HTML, Snap!, Touch Develop, Raspberry Pi i poleca codecademy.com do dalszej nauki - można odnieść (słuszne) wrażenie, że wszystko przed nami!

jak podkreśla autor - i co widzimy wszędzie dookoła - automatyzacja życia osiągnęła niewyobrażalny jeszcze kilkadziesiąt lat temu poziom, a wszechobecność komputerów jest faktem
warto mieć choć minimalne pojęcie o tym, jak działają i ile w tym wszystkim matematyki :)
zdecydowanie, kodowanie ma przyszłość, czy też raczej nie ma przyszłości bez kodowania...



póki co J. wypróbowuje różne opcje dostępnego online w wersji freeware konta Scratch traktując to jak nową zabawę


nie koniecznie zostanie dzięki temu programistą, ale na pewno oswoi się z używaniem komputera jako narzędzia, nabierze pewności siebie widząc realne efekty swojego działania i lepiej zrozumie zależności przyczynowo-skutkowe
korzyści może być z resztą wiele, wiele więcej, gdy tymczasem wysiłek na tym etapie - niewielki

zaręczam, duma z choćby najprostszej samodzielnie uruchomionej "aplikacji" rysującej elipsę albo kolorowe wyścigówki, czy planującej rozkład kolorów na swetrze dzierganym przez mamę - nawet ćwierć wieku później - bezcenna :)

Czytaj dalej