Coś o językach programowania

Typografia
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Powinniśmy uczyć programowania już w szkole podstawowej – z tym pewnie wiele osób się zgodzi. Odpowiednie programowanie jest dostępne w internecie na jedno kliknięcie. Nie można więc chyba akceptować argumentacji, że szkoła nie posiada odpowiedniego narzędzia, w którym mogłaby prowadzić zajęcia z uczniami. Co wybrać? Logo, Scratch, Python…a może coś zupełnie innego?fot. Scratch

W podstawie programowej dotyczącej informatyki (rozporządzenie ministra edukacji narodowej z dnia 27 sierpnia 2012 r. – Dz.U.2012.977 w sprawie podstawy programowej wychowania przedszkolnego oraz kształcenia ogólnego w poszczególnych typach szkół) możemy przeczytać następujące wytyczne dla II Etapu Edukacyjnego (klasy 4-6):

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; (...)

Na III etapie edukacyjnym dopuszcza się wprowadzenie języka programowania, takiego jak Logo lub Pascal, które mają duże walory edukacyjne i mogą służyć kształceniu pojęć informatycznych.

No dobrze, tyle suchego tekstu z rozporządzenia, a teraz chciałbym przejść do meritum. Dzisiaj pragnę przybliżyć wszystkim różnorakie oprogramowanie, które możemy wykorzystywać na lekcjach informatyki. Kilka ładnych lat temu mój starszy syn (dziś już pełnoletni) w szkole podstawowej uczył się Logo. Wówczas używany był program Logomocja – który zapewne wciąż posiada wiele szkół. W przyszłym roku mój młodszy syn również dojdzie do momentu, kiedy będzie się uczył języka Logo w szkole. Ciekaw jestem, czy będzie to ta sama Logomocja, czy może coś innego... No właśnie, co innego? Może warto wprowadzić inne języki programowania? Przecież podstawa programowana nie narzuca żadnego konkretnego rozwiązania. Jedynie „zaleca język taki jak Logo”. Więc może coś innego?
Na początku pozostańmy przy naszym Logo – to dosyć prosty język programowania, oparty na języku LISP, dużo bardziej skomplikowanym.

Oba języki programowania powstały w MIT. Wspomniana już przeze mnie Logomocja to zamknięte oprogramowanie firmy Imagine; to duży problem, gdyż nawet próby wykupienia przez pewną jednostkę samorządową kodów źródłowych od tej firmy zakończyły się niepowodzeniem – a jednostka ta miała zamiar nawet rozbudowywać to oprogramowanie. Mamy do dyspozycji jeszcze kilka innych, ciekawych projektów. Jednym z nich jest Berkeley Logo (UCBLogo) – zresztą jest ono dopuszczone jako równoważne środowisko dla konkursu miniLogia, organizowanego przez OEIiZK w Warszawie. UCB jest dostępna dla systemów Linux, Windows, MacOS. To środowisko z dostępnym kodem źródłowym, zatem każdy może dostosować je do swoich potrzeb.

Kolejnym ze środowisk, które chciałbym przedstawić, jest KTurtle. Jest to wolne i otwarte oprogramowanie, dostępne dla systemu Linux. Jest to część projektu KDE EDU APPS (Aplikacje Edukacyjne dla środowiska KDE). To bardzo przyjazne i funkcjonalne środowisko. Posiada różne ciekawe funkcje, np. wskazywanie kierunku i przekształcanie go na komendę.

Napisane przez nas programy możemy zapisać do ponownego wykorzystania, możemy zapisać obrazek w postaci PNG, SVG, możemy również wygenerować stronę HTML. Co ciekawe, możemy w ustawieniach środowiska wybrać, czy chcemy posługiwac się angielskimi nazwami komend Logo, czy też polskimi.

fot. KTurtle - Adam Jurkiewicz

Ponadto w Linuksie dostępne jest też Turtle ART; zostało stworzone dla projekctu OLPC – a ponieważ to czysty Linux ze specjalnym środowiskiem graficznym, a Turtle ART to wolne i otwarte oprogramowanie, więc nie było żadnych problemów z tym, aby przenieść to oprogramowanie do „zwykłego” środowiska X-Windows w systemie Linux.

fot. TurtleArt - Adam Jurkiewicz

Oprócz języka programowania Logo mamy również Scratch – to świetne środowisko do nauki programowania autorstwa MIT, które bije aktualnie rekordy popularności. Może być idealnym środowiskiem właśnie do nauki programowania młodych ludzi. Działa w systemach Linux, Windows, MacOS. To również bezpłatne i legalne środowisko, zatem uczniowie w szkole, w domu – mogą mieć bez żadnych opłat to samo – mogą uczyć się i bawić bez żadnych problemów.

Co ważne – każdy może opracowany przez siebie program w Scratchu umieścić na specjalnym portalu z grami – w ten sposób tworzy się społeczność i bogate repozytorium gotowych przykładów do nauki.

fot. Scratch - Adam Jurkiewicz

Oprócz tego jest jeszcze Python – również bardzo popularny język programowania, na jego podstawie powstał nawet specjalny framework „Django”, do szybkiego tworzenia portali internetowych. Do tworzenia aplikacji w języku Python możemy używać specjalnego środowiska SPE, które jest dostępne dla systemów Linux, MacOS, Windows.

Otóż piszę to, aby uzmysłowić wszystkim kilka ważnych rzeczy:

1. Opisywane przeze mnie narzędzia (oprócz nieszczęsnej Logomocji) to oprogramowanie legalne i bezpłatne, dostępne dla wszystkich wraz z kodem źródłowym, na otwartych licencjach, każdy może z nich legalnie korzystać, są dostępne dla systemu Linux i z reguły także dla innych systemów.

2. W ostatnich czasach można zaobserwować trend, aby w edukacji wykorzystywać programy w modelu OpenSource (a więc wolne i otwarte oprogramowaie); to bardzo słuszny kierunek – dzięki temu nie budujemy barier, natomiast budujemy możliwości...

3. Jeśli ktokolwiek chce, wszystkie te języki, o których piszę, może z łatwością dowolnie używać i wykorzystywać – i to całkiem legalnie.
Być może w przyszłości, dzieci będą uczyły się jeszcze innych języków programowania lub środowisk, których jeszcze nie ma lub nie są jeszcze znane – aplikacje oparte o JavaScript i HTML5 dzisiaj są uznawane za nowoczesne, ale kto wie, co będzie jutro?

No to teraz ostatni krok – chcecie spróbować? Wpiszcie w dowolną wyszukiwarkę frazę „Szkolny Remiks Uczniowski”. Specjalnie nie podam tu konkretnej strony, aby nie było reklamy.

Podam tylko link do wyszukiwania: https://startpage.com/do/search?q=szkolny+remiks+uczniowski&l=polski – wystarczy kliknąć.
A wyszukiwarka, której używam, to ulepszony, nowy sposób wyszukiwania via Google – o tym napisze w kolejnym artykule….

Linki do Ciekawych stron

Adam Jurkiewicz jest programistą, propagatorem wolnego i otwartego oprogramowania, trenerem w zakresie wykorzystania nowych technologii w edukacji, a także członkiem grupy Superbelfrzy RP. Jest twórcą Szkolnego Remiksu Uczniowskiego - systemu Linux dla edukacji. Niniejszy artykuł ukazał się w blogu Superbelfrów i został częściowo przeredagowany przez Marcina Polaka. Licencja CC-BY-SA.