Programowanie to nie tylko kodowanie. Co oznacza programowanie dla nieinformatyków?
Najbardziej znamienną cechą naszych czasów jest niezwykle szybki rozwój technologii i jej wpływ na wszystkie dziedziny działalności człowieka. Zmieniają się warunki życia i funkcjonowania ludzi. Głębokie przemiany, jakie dzięki temu zachodzą, wymagają podniesienia kompetencji w obszarach rozwoju myślenia opartego na idei tzw. myślenia komputacyjnego, czyli metody rozwiązywania problemów z różnych dziedzin za pomocą komputerów przy pomocy człowieka*. Dlatego jednym z najważniejszych zadań współczesnej szkoły jest przygotowanie uczniów do nowych wymagań współczesnego świata, w którym dominują umiejętności ponadprzedmiotowe. Umiejętności te można zdobyć dzięki nauce programowania, myślenia algorytmicznego oraz kodowania.
W założeniu nowej podstawy programowej kształcenia ogólnego tym, czego naprawdę chcemy uczyć młodzież, jest nie samo programowanie, ale są to umiejętności, jakich ono wymaga
(i w związku z tym rozwija), np. analityczne i logiczne myślenie, rozwiązywanie skomplikowanych problemów. Zgodnie z takim założeniem, nie chodzi o to, by z polskich szkół wyszli sami programiści, lecz ludzie, którzy mają wykształcone nawyki myślowe, ułatwiające funkcjonowanie we współczesnym świecie.
Programowanie w gruncie rzeczy to sposób rozwiązywania problemów z różnych dziedzin za pomocą komputera, które zaczyna się przed jego włączeniem. Z takim ujęciem nauki programowania jest sprzężony termin myślenie komputacyjne – czyli traktowanie nauki programowania jako środka do rozwijania nauki myślenia krytycznego, logicznego, systemowego czy też design thinking (myślenia projektowego). Myślenie komputacyjne, systemowe i design thinking łączy to, że są pewnymi metodologiami rozwiązywania problemów.
Etapy działania modelu opartego na myśleniu komputacyjnym, ale także design thinking zawierają:
Należy pamiętać, że zaprogramowane rozwiązanie nie musi wiązać się z napisaniem programu w języku programowania.
Podstawą wyjścia do analizy nauczania programowania w szkołach jest zapoznanie się z celami zmian w edukacji informatycznej w nowej podstawie programowej**. Dotyczą one przygotowania absolwentów szkoły podstawowej do rozwiązywania problemów z różnych dziedzin przy świadomym i bezpiecznym wykorzystaniu metod i narzędzi informatycznych. Stąd konieczność kształtowania u uczniów:
– logicznego myślenia i kreatywności podczas rozwiązywania problemów,
– zdolności do podejmowania i realizacji innowacyjnych rozwiązań,
– umiejętności optymalizacji działań przez wprowadzenie szeroko rozumianego programowania od najmłodszych lat w szkole.
Cele ogólne w nowej podstawie programowej obejmują:
- Rozumienie, analizowanie i rozwiązywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myślenia algorytmicznego i sposobów reprezentowania informacji.
- Programowanie i rozwiązywanie problemów z wykorzystaniem komputera oraz innych urządzeń cyfrowych: układanie i programowanie algorytmów, organizowanie, wyszukiwanie i udostępnianie informacji, posługiwanie się aplikacjami komputerowymi.
- Posługiwanie się komputerem, urządzeniami cyfrowymi i sieciami komputerowymi.
- Rozwijanie kompetencji społecznych.
- Przestrzeganie prawa i zasad bezpieczeństwa.
Na etapie pierwszym kształcenia (klasy I–III):
- Poznanie nieformalnego znaczenia wybranych pojęć związanych z informatyką, często w formie zabawy:
– liniowa kolejność, powtarzanie czynności,
– instrukcja, sekwencje instrukcji,
– algorytm (plan działania). - Początek myślenia algorytmicznego, wspomagany wizualizacją lub symulacją działań algorytmicznych – uczniowie stawiają w ten sposób pierwsze kroki w wizualnym języku programowania.
- Proste programy sterujące robotem lub inną istotą na ekranie.
- Posługiwanie się komputerem i aplikacjami użytkowymi – opracowywanie kompozycji graficznych i dokumentów tekstowych.
- Korzystanie bezpiecznie i zgodnie z prawem ze wskazanych zasobów w internecie.
Z analizy podstawy programowej wynika, że każdy nauczyciel na lekcjach ze swojego przedmiotu może kształcić umiejętności programistyczne uczniów na etapie programowania bez kodowania danych. Odpowiedzią na tę kwestię jest model nauczania oparty na wcześniej wspomnianym myśleniu komputacyjnym.
Myślenie komputacyjne wykracza daleko poza tradycyjną informatykę i stanowi ramy dla postrzegania problemów i sposobów ich rozwiązywania. Jest poszerzeniem myślenia algorytmicznego, które ma długą tradycję w informatyce i obejmuje formułowanie rozwiązań problemów w postaci algorytmów oraz ich realizację na komputerze. Myślenie komputacyjne jest operowaniem na wielu poziomach abstrakcji nierozerwalnie związanym z informatyką i jej metodami.
Wprowadzenie do nauki programowania
Niezwykle istotnym pojęciem dla nauki programowania jest słowo algorytm. Algorytm to opis postępowania prowadzący do rozwiązania problemu. Często jako przykład algorytmu są podawane przepisy kulinarne.
Algorytmy można zapisywać w różny sposób, na przykład: w języku naturalnym, za pomocą schematów blokowych, w języku formalnym i w języku programowania. W nauce programowania najczęściej wykorzystuje się schemat blokowy, w którym poszczególne operacje są przedstawiane za pomocą odpowiednio połączonych figur (bloków). Kształt i opis bloku wskazuje na rodzaj wykonywanych operacji. Schemat ten wykorzystuje się bardzo często, ponieważ jest on wizualizacją procesu – czyli unaocznieniem rozwiązywanego problemu.
Początek algorytmu – wychodzi z niego tylko jedno połączenie. W jednym schemacie może istnieć tylko jeden taki blok. |
|
Zakończenie algorytmu – wchodzi do niego jedno połączenie, żadne nie wychodzi. W jednym schemacie może być wiele takich bloków. |
|
Blok służący wprowadzaniu danych (blok wejścia), również wyników (blok wyjścia) – ma jedno połączenie wchodzące i jedno wychodzące. W jednym schemacie może być wiele takich bloków. |
|
Blok, za pomocą którego są wykonywane różne operacje – ma jedno połączenie wchodzące i jedno wychodzące. W jednym schemacie może być wiele takich bloków. |
|
Blok służący do podejmowania decyzji. Wchodzi do niego jedno połączenie, wychodzą dwa połączenia: tak – gdy warunek jest spełniony, nie – gdy warunek nie jest spełniony. W pojedynczym schemacie może znajdować się wiele takich bloków. |
W treściach nauczania można wyodrębnić pewne grupy zadań, które dadzą się rozwiązać w sposób algorytmiczny, a jeśli nauczyciel i uczniowie uświadomią sobie, że można rozwiązać zadania w postaci reguł danych czynności, przyczyni się to do uzyskania lepszych efektów dydaktycznych.
Opracowanie przepisu algorytmicznego dla określonej czynności opiera się na tym, że każda czynność stanowi określony i uporządkowany zbiór operacji. Układ ogniw tej czynności wskazuje na to, jaki jest jej przebieg (czyli jak przebiega proces).
Aby opracować przepis algorytmiczny, należy: rozdzielić daną czynność na operacje oraz rozłożyć wynik końcowy na wyniki częściowe, będące efektem poszczególnych operacji. Głównym celem nie jest jedynie rozwiązanie danego zadania, lecz opanowanie pewnej czynności, a przede wszystkim zrozumienie, dlaczego dane rozwiązanie jest poprawne. Pierwszy przykład: nauka zasad ortografii (za pomocą schematu blokowego):
Układ blokowy służący nauce ortografii
Analiza charakteru stosowania algorytmów w procesie dydaktycznym pozwala na wyodrębnienie trzech możliwości ich wykorzystania podczas lekcji:
- uczenie się za pomocą gotowych algorytmów;
- uczenie się przez ich układanie;
- wdrażanie do układania algorytmów w procesie pracy indywidualnej, samodzielnej.
ORKE zaprasza nauczycieli wychowania przedszkolnego oraz szkoły podstawowej do udziału w szkoleniach doskonalących umiejętność wdrażania dzieci i uczniów do myślenia algorytmicznego w trakcie codziennych zajęć dydaktycznych.
Myślenie algorytmami. Nauka programowania. Edukacja wczesnoszkolna. – Zobacz »
Przedszkolne ABC programowania – całościowy rozwój dziecka w oparciu o nowoczesne rozwiązania. – Zobacz »
Scottie Go! – zaprogramuj swoją lekcję. Nauka programowania w kl. 1–8 SP – Zobacz »
Więcej na temat naszych szkoleń na stronie orke.pl
Więcej o Scottie Go!, czyli hybrydowym podejściu do nauki programowania, znajdziesz TU
———————————-
* To pojęcie i podejście zostało wprowadzone przez Jeannette Wing w 2006 roku w pracy opublikowanej w Communications of the ACM. Podejście do rozwiązywania problemów opierające się na myśleniu komputacyjnym jest poszerzeniem powszechnego u nas w kraju podejścia algorytmicznego.
**Rozporządzenie Ministra Edukacji Narodowej z dnia 14 lutego 2017 r. w sprawie podstawy programowej wychowania przedszkolnego oraz podstawy programowej kształcenia ogólnego dla szkoły podstawowej, w tym dla uczniów z niepełnosprawnością intelektualną w stopniu umiarkowanym lub znacznym, kształcenia ogólnego dla branżowej szkoły I stopnia, kształcenia ogólnego dla szkoły specjalnej przysposabiającej do pracy oraz kształcenia ogólnego dla szkoły policealnej
Zdjęcia: Shutterstock