Języki programowania nie tylko dla dzieci uwodzą łatwością użycia

Dzieci programują

Jeszcze w latach osiemdziesiątych nauką programowania w językach proceduralnych typu FORTRAN, ALGOL 60 czy PASCAL objęci byli wszyscy studenci politechniki. W szkołach średnich a nawet podstawowych próbowano uczyć stworzonego specjalnie do nauki najmłodszych języka programowania LOGO, często na zabawkowych komputerach typu ZX SPECTRUM czy ATARI.

Język Logo

Kiedy jednak na uczelnie i do szkół wkroczyły komputery zgodne z IBM PC z systemem MS-DOS, a później WINDOWS zachłyśnięcie się bogatym oprogramowaniem biurowym spowodowało odwrót od nauki programowania na rzecz nauki posługiwania się tym programowaniem. Co prawda tworzenie arkusza kalkulacyjnego w programie EXCEL czy innym ma coś wspólnego z programowaniem, a DBASE służące do zarządzania bazami danych było już całkiem zaawansowanym językiem programowania jednak to pierwsze nie dawało szans na wyedukowanie do profesjonalnego programowania, a to drugie było zbyt skomplikowane dla początkujących.

Tymczasem „wieża Babel” języków programowania rozrastała się niepomiernie oferując ich translatory nie tylko dla profesjonalnych programistów, ale też środowiska będące często bardziej zabawą i grą niż utylitarnym środkiem do tworzenia oprogramowania. Jednak takie podejście pozwalało posiąść sztukę programowania nawet dzieciom. Jednym z najczęściej wykorzystywanych pomysłów była próba stworzenia edytora schematów blokowych.

Do polskich szkół trafiło zalecane i finansowane przez MEN oprogramowanie ELBOX ELI, które oferowało użytkownikom klocki do składania schematów blokowych. Liczba rodzajów klocków była stosunkowo duża jak na możliwości tego programu.  ELI reklamowany jako nowoczesny stawał się koszmarem, gdy trzeba było poprawiać lub przebudowywać program, bo każdorazowa jego zmiana wymagała zburzenia klockowej konstrukcji i rozpoczynania od nowa. Nie można było „wciskać” bloków instrukcji czy warunków pomiędzy już istniejące. Jako język programowania dyskwalifikowało go zbytnie zachęcanie programistów do czynienia kodu bałaganiarskim.

System ELI

Nieco inne podejście zastosował w swoim programie TRAIN z lat 1995-1996 autor tego artykułu, w którym graficzny kod był liniowo uporządkowany z góry na dół pośrodku arkusza. Po bokach natomiast biegły w górę i w dół połączenia wynikające z instrukcji warunkowych i iteracyjnych. Zarówno bloczki proste jak i warunkowe można było wsuwać z użyciem drag&drop pomiędzy dotychczasowe, bo edytor graficzny sam inteligentnie rozsuwał dotychczasowe bloczki dbając o prawidłową aktualizację wszystkich połączeń. Wystarczało proste zalecenie „staraj się nie przecinać linii” by kod zachowywał czytelność.

Symbol lokomotywy wskazuje punkt, w którym aktualnie program się wykonuje, bowiem zaproponowano tu analogię pomiędzy programowaniem, a układaniem torów dziecięcej kolejki.

Zastosowanie „kolejkowych” dźwięków w trakcie wykonywania programu było dodatkową atrakcją dla najmłodszych.

System

U naszych południowych sąsiadów Bohumir Soukup w 1999 roku opracował język Baltie, w którym do dzisiaj rozgrywane są dziecięce zawody w programowaniu.

W roku 2003 powstał w MIT Scratch, który dzisiaj bije rekordy popularności:

Jego autor Mitchel Resnick jest również współtwórcą serii LEGO MINDSTORMS do budowy i programowania robotów w “klockowym” języku. Również Scratch posiada rozszerzenia albo mutacje do programowania różnych ich zestawów np. mBot. Takie zestawy doceniają również nauczyciele dziecięcych programistów, bowiem roboty prezentując bardzo namacalne i atrakcyjne efekty działania tworzonych programów dają motywację do nauki i przez swoją konkretność ułatwiają ją.

System programowania Scottie go

Oryginalny pomysł na dziecięce programowanie mieli twórcy systemu programowania w postaci planszowo-komputerowej gry. Kodowanie prowadzi się w niej z użyciem teksturowych bloczków. Po ich ułożeniu całość skanuje się smartfonem z odpowiednią aplikacją mobilną tłumaczącą te klocki na wewnętrzny kod w komputerze-smartfonie, który następnie można uruchomić i w ten sposób sprawdzić poprawność kodowania.

Programowanie w języku Python dla dzieci
Programowanie w języku Python dla dzieci

Tymczasem coraz większe powodzenie zarówno w poważnych zastosowania jak w szkolnej nauce programowania zdobywa język Python. Charakteryzuje się on intuicyjnym wreszcie oddzielaniem instrukcji przez wypisywanie ich w kolejnych wierszach, a hierarchię instrukcji wskazuje się przez graficzne wcinanie. Dzięki temu można było zrezygnować z mało intuicyjnego średnika oraz kłopotliwych różnego rodzaju nawiasów instrukcyjnych (w Algolu i Pascalu były to słowa kluczowe Begin i End, a w C, C++, JavaScript i PHP nawiasy wąsate – „{” i „}”).

A na zakończenie teledysk o młodym człowieku, który nauczył się programować pomimo materialnych przeszkód stojących mu na drodze:

  1. „Logo”
  2. „ELI”, http://zswp.webd.pl/tlenart/program-eli-2-0/
  3. Urbański A. P. „Edukacyjny system programowania TRAIN” http://andrzeju.pl/stara.php?s=trains=train
  4. Urbański, A.P. „Od zabawy kolejką do programowania” http://andrzeju.pl/stara.php?s=oddohttps://pl.wikipedia.org/wiki/Logo_(j%C4%99zyk_programowania)
  5. „Baltie” https://www.sgpsys.com/pl/
  6. https://www.lego.com/pl-pl/themes/mindstorms
  7. https://www.lego.com/pl-pl/themes/mindstorms/learntoprogram
  8. https://pl.wikipedia.org/wiki/Scratch_(j%C4%99zyk_programowania)
  9. „Scottie GO!” https://scottiego.com/
  10. „Python”, https://pl.wikipedia.org/wiki/Python

You may also like...

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.