Środowiska programowania oparte na blokach stają się coraz częściej pierwszym doświadczeniem w kodowaniu dla wielu uczniów1, w miarę jak coraz więcej szkół zaczyna wprowadzać i rozszerzać kursy i programy nauczania informatyki. Jeden z najpopularniejszych języków programowania blokowego nazywa się Scratch2(podstaw.mit.edu). Codziennie na stronie Scratch przesyłanych jest ponad 1500 nowych projektów programistycznych3. VEXcode sam w sobie jest oparty na blokach Scratcha.
Jedną z głównych motywacji stojących za stworzeniem Scratcha jest to, że wielu młodych uczniów uważa programowanie za pomocą tekstowych języków programowania za zbyt trudne4, ponieważ dla tych uczniów trudne jest opanowanie zarówno pisania, jak i składni. W rezultacie języki programowania oparte na blokach zostały zaprojektowane z myślą o uczniach już w wieku przedszkolnym, ale większość z nich jest przeznaczona dla uczniów w wieku od 8 do 16 lat. Programowanie blokowe, w tym VEXcode, ma kilka zalet dla początkujących programistów5.
- Czytelność:Języki programowania oparte na blokach zawierają polecenia, które są znacznie łatwiejsze do odczytania niż polecenia tekstowe.
- Zapamiętywanie:W językach programowania blokowego wszystkie polecenia są widoczne dla użytkownika. W przypadku tekstowych języków programowania polecenia często wymagają zapamiętywania. Dodatkowo użytkownicy muszą zapamiętać składnię związaną z poleceniami tekstowymi. Z poleceniami opartymi na blokach nie jest związana żadna składnia.
- Pisanie/pisownia:Młodsi uczniowie mają trudności z używaniem klawiatury. Błędy ortograficzne stają się błędami kompilatora w tekstowym języku programowania. Języki programowania oparte na blokach wykorzystują metodę przeciągania i upuszczania. Dlatego nie jest potrzebne pisanie na klawiaturze i opanowanie ortografii.
Chociaż udowodniono, że początkującym użytkownikom łatwiej jest rozpocząć programowanie w języku programowania opartym na blokach, nadal ważne jest, aby zadać sobie pytanie, czy języki oparte na blokach są skuteczne w nauczaniu pojęć z zakresu informatyki. Krótka odpowiedź brzmi: tak. Badania wykazały, że języki programowania oparte na blokach są skuteczne w nauczaniu pojęć informatycznych, takich jak algorytmy, zmienne, logika warunkowa i zrozumienie kodu6.
Istnieją oczywiście pewne wady używania języków programowania blokowego. Na przykład uczniowie mogą czasami mieć wrażenie, że używanie klocków nie jest „autentycznym” doświadczeniem edukacyjnym7. Innymi słowy, prawdziwi programiści nie używają bloków. Jest to ważny aspekt, o którym należy pamiętać, ale należy również pamiętać o dobrze udokumentowanych wyzwaniach, jakie języki programowania tekstowego stawiają przed początkującymi programistami.
Jako nauczyciele wiemy, że narzędzia, których używamy do nauczania pojęć, zmieniają się wraz ze zmianą uczniów. Matematyki uczy się K - College. Narzędzia używane do nauczania pierwszoklasisty znacznie różnią się od narzędzi używanych do nauczania juniorów na studiach. Badania wykazały, że blokowe języki programowania są łatwiejsze w użyciu dla nowicjuszy i stanowią skuteczny sposób nauczania ważnych tematów z zakresu informatyki. Nie oznacza to jednak, że uczniowie powinni lub muszą zawsze przebywać w środowisku programowania blokowego. Zamiast tego lepszym wnioskiem jest to, że jedna metoda programowania, bloki lub tekst, nie jest z natury lepsza od drugiej8. To, który z nich będzie odpowiedni dla Twojej klasy, będzie zależeć zarówno od Twojego poziomu komfortu jako nauczyciela, jak i gotowości Twoich uczniów. Tak jak uczniowie opanowują fakty dotyczące mnożenia w różnym tempie, niektórzy uczniowie opanują programowanie za pomocą bloków szybciej niż inni. Możliwość rozpoczęcia od programowania tekstowego zapewni im zaangażowanie i wyzwania. Narzędzia takie jak VEXcode i Text pozwalają poznać każdego ucznia na jego indywidualnym poziomie nauczania.