„Jestem noga z matmy, więc programowanie nie dla mnie." Albo w wersji rodzica: „moje dziecko ledwo zdaje matematykę, kodowanie odpada." To chyba najczęstszy powód, dla którego ktoś nawet nie próbuje. I jest fałszywy, co najprościej pokazać na prawdziwej grze.
Cała matematyka gry Snake — serio, cała
Wąż na planszy to dwie liczby: kolumna i wiersz. Ruch w prawo? Do kolumny dodaje się jeden. Zjedzenie jabłka? Program sprawdza, czy dwie liczby są równe. Poniżej jest prawdziwy Python z dokładnie tą „matematyką" — kliknij Uruchom i oceń, czy to poziom, którego trzeba się bać:
↑ kliknij „Uruchom", żeby zobaczyć wynik
Porównanie dwóch liczb i dodanie jedynki. To jest matematyka z czwartej klasy podstawówki, a wystarcza na całego Snake'a: ruch, kolizje, punkty, rośnięcie węża. Nie ma tu wzorów, pochodnych ani trygonometrii. Są współrzędne, dodawanie i pytanie „czy równe?".
Co naprawdę decyduje, a czego nie trzeba mieć na starcie
W programowaniu liczy się co innego: umieć rozłożyć problem na kroki, przewidzieć, co program zrobi, a gdy zrobi coś innego, znaleźć przyczynę. To brzmi jak duże wymaganie, ale jest w tym haczyk, który zmienia wszystko: tego nie trzeba mieć „przed". To się ćwiczy „w trakcie". Każdy naprawiony błąd, każde „czemu wąż skręcił nie tam?" to jedna seria treningu logicznego myślenia. Nikt nie odsiewa kandydatów na wejściu, bo sam trening jest treścią nauki.
Działa też w drugą stronę
Dziecko, które przesuwało węża po planszy, zna układ współrzędnych zanim usłyszy o nim na matematyce. Tyle że nie jako definicję, tylko jako coś, czym sterowało własnymi rękami. Zmienna przestaje być abstrakcyjnym „x" z równania, bo była licznikiem punktów. Ten efekt opisaliśmy szerzej w tekście o tym, czy nauka w domu pomaga na informatyce. W skrócie: pojęcia poznane w działaniu przestają straszyć na lekcji.
Gdzie matematyka faktycznie wchodzi
Nie każdy zakątek programowania obywa się bez matmy. W grafice 3D, symulacjach fizyki i uczeniu maszynowym gra ona pierwsze skrzypce. Ale to są dalekie, opcjonalne ścieżki, wybierane po latach, a nie brama wejścia. Zaczynając od gier 2D w Pythonie, można ich nigdy nie spotkać. Mit „najpierw matma, potem kod" odwraca kolejność: to kod potrafi obudzić zainteresowanie matematyką, bo pierwszy raz pokazuje, do czego ona jest.
Od czego zacząć, gdy matma odstraszała
- Od gry, nie od teorii. Pierwsza mechanika, czyli ruch, kolizja i punkty, używa liczb, które widać na ekranie. Wynik jest natychmiast i nie wymaga wiary w obietnice.
- W przeglądarce, bez instalowania. Kod pisze się i uruchamia od pierwszej minuty, na dowolnym komputerze.
- Małymi krokami. Pół godziny co drugi dzień wystarcza. Jeśli nie wiadomo, czy to dobry moment na start, rozpisaliśmy to w tekście w jakim wieku zacząć programowanie.
Test bez ryzyka: czy „zaskoczy" mimo matmy
Siedem krótkich odcinków mailem, wszystko w przeglądarce, bez instalowania i bez karty. Na końcu powstaje napisana od zera walka z goblinem, a jedyna użyta matematyka to odejmowanie punktów życia.
Zacznij za darmo → Upoluj goblinaUczymy Pythona przez budowanie własnych gier: od pierwszej linijki po działający efekt. Kto za tym stoi?