Aplikacje

Język maszyn składa się z dwu etapów – pierwszego o nazwie KoLo i drugiego o nazwie MrówkaGo. Na pierwszym etapie (KoLo), na początku nawet bez użycia komputera, uczy się dzieci graficznego języka programowania, który odwołuje się do powszechnych intuicji wizualnych. Zadanie zawsze polega na doprowadzeniu kółka do celu, stopniowo przechodzi się do bardziej skomplikowanych sytuacji, by umożliwić dzieciom przejście od zapisu “strzałkowego” do zapisu literniczego. Na drugim etapie języka maszyn (MrówkaGo) zadanie również polega na poruszaniu obiektem (mrówką) po planszy (teraz już bez kratki), zmienia się jednak perspektywa (dobrze obrazuje to analogia – od poruszania pionkiem po planszy przechodzimy do sterowania zdalnie sterowanym samochodem) i samo programowanie odbywa się już w prawdziwym środowisku programistycznym Octave.

 

Kolo i Koles

Graficznym językiem programowania można posługiwać się bez użycia komputera. Jednak największe możliwości programowania złożonych plansz (scen), testowania różnych rozwiązań i sprawdzania ich poprawności oferuje przygotowany specjalnie na potrzeby nauczania języka maszyn program KoLo (autorstwa Jakuba Jernajczyka. KoLo wygląda jak prosta gra planszowa, a każde zadanie polega na doprowadzeniu kółka do celu. Poszczególne plansze różnią się rozmiarem, rozstawionymi przeszkodami oraz miejscem, do którego kółko ma zostać doprowadzone; za każdym razem uczeń musi znaleźć właściwe rozwiązanie – program ruchu kółka do celu. Programy te zapisywane są przy pomocy piktogramów (strzałek, paczek) oraz cyfr, wybieranych z intuicyjnego menu. Narysowanie strzałek na samej planszy będzie zadaniem łatwym, natomiast zapis strzałek w postaci liniowej wymaga już wyabstrahowania sekwencji działań.

Obrazek1: Po lewej stronie plansza z naniesionymi strzałkami, po prawej stronie pod planszą liniowy zapis tego samego „programu” w najprostszym piktograficznym języku maszyn.

Programowanie przy użyciu KoLo ma na celu wytworzenie u ucznia podstawowych intuicji programistycznych. Dowiaduje się on czym są: instrukcje (polecenia), sekwencje instrukcji, cel działania programu, ekonomia działania, wielość rozwiązań danego problemu, optymalizacja rozwiązań. Poznaje również prototypy kluczowych pojęć programistycznych, takich jak zmienne i procedury (tu: „paczki”), pętle („powtórzenia”) oraz instrukcje warunkowe („strzałki warunkowe”).

Obrazek2: Przykład „pętli”, czyli powtórzenia, w którym pełny zapis np. czterech strzałek „w górę” zastępujemy jedną strzałką „w górę” z cyfrą 4 w indeksie dolnym.

Po zakończeniu tego etapu nauki języka maszyn uczniowie potrafią analizować stawiane przed nimi problemy, tworzyć proste programy, modyfikować je i optymalizować, dzielić dany problem na mniejsze podproblemy, zapisywać program w możliwie zwięzły sposób, śledzić działanie programów napisanych przez innych, a także odgadywać cel działania danego programu (rozwiązywany problem), analizując sam jego kod.x

KoLes

Możliwości pracy ze środowiskiem KoLo rozszerza program KoLes – edytor plansz. Dzięki tej aplikacji nauczyciel może tworzyć nowe, bardziej skomplikowane zadania.

[podpis:] Przykład bardziej skomplikowanej planszy ze spiralną „ścianą” stworzonej przy pomocy kreatora plansz KoLes.

Pobierz program Kolo

 

Mrówka Go

Drugim programem stworzonym dla potrzeb nauczania języka maszyn jest MrówkaGo (autorstwa Jarosława Drapały. W programie KoLo uczniowie przesuwali kółko po planszy, która widziana była z zewnątrz i stanowiła punkt odniesienia. W przypadku MrówkaGo nie widać już planszy – programujący przejmuje perspektywę obiektu (czyli mrówki). Ujmując rzecz obrazowo, różnica jest taka, że perspektywę gracza w szachy zmieniamy na perspektywę sterującego zdalnym samochodem, który jadąc w swoją stronę i chcąc skręcić w (swoje) prawo musi na pilocie wydać komendę skrętu w lewo. Druga zmiana to wprowadzenie bardziej formalnego – nie odwołującego się do wzrokowych intuicji – zapisu. Miejsce piktogramów (strzałek i paczek) zajmują litery. Kiedy rozkazujemy mrówce iść jeden krok do przodu, nie używamy już strzałki, ale literę „f”.

MrówkaGo to program wymagający już podstawowych intuicji programistycznych nabytych dzięki zabawie z KoLo. O ile KoLo jest prostym i samodzielnym środowiskiem programistycznym (programem, w którym można pisać inne programy), MrówkaGo wymaga opanowania podstawowych zasad korzystania z rozbudowanego środowiska programistycznego Octave (które jest darmową, uproszczoną wersją profesjonalnego środowiska obliczeń inżynierskich – MATLAB-a).

W największym skrócie – cała „zabawa” z MrówkaGo polega na tym, że uczeń za pomocą pisanych przez siebie programów wydaje polecenia mrówce, która chodząc po ekranie potrafi narysować rozmaite kształty. W trakcie rysowania tych prostych obrazków, przemycane są zaawansowane treści: nauka wykonywania obliczeń, projektowania algorytmów i pisania nietrywialnych programów. Uczeń ćwiczy umiejętność formalnego zapisu podstawowych konstrukcji programistycznych (zmienna, instrukcja warunkowa if, pętla for i while, funkcja) oraz zdobywa wiedzę o wybranych procedurach używanych w programowaniu (np. o generatorze liczb losowych). Potrafi udostępnić swój program w postaci pliku, a także wykorzystywać programy napisane przez inne osoby. Uczeń przygotowuje się również do pracy w innych środowiskach programistycznych. Opanowuje umiejętności, które są podstawą niemal każdego języka programowania.

Pobierz program Mrówka Go