Pradžia / Žaidimai / Programavimo pradmenys: kodavimas be kompiuterio

Programavimo pradmenys: kodavimas be kompiuterio

Kodėl vaikams svarbu mokytis programavimo?

Girdėjote tą pokštą, kad šiuolaikiniai vaikai išmoksta naudotis planšete anksčiau nei vaikščioti? Na, gal ir ne visai taip, bet technologijos tikrai tapo neatsiejama mūsų gyvenimo dalimi. Tačiau programavimas – tai ne tik sėdėjimas prie ekrano ir mygtukų spaudymas. Tai visų pirma mąstymo būdas, problemų sprendimo įgūdis ir kūrybiškumas.

Daugelis tėvų klausia: ar mano vaikas ne per mažas programavimui? O gal atvirkščiai – ar ne per vėlu pradėti? Gera žinia ta, kad programavimo pagrindus galima pradėti mokytis bet kuriame amžiuje, ir dar geresnė žinia – tam net nereikia kompiuterio! Taip, taip, skaitote teisingai. Programavimo logika, algoritminė mąstysena ir kompiuterinio mąstymo įgūdžiai puikiai ugdomi ir be jokių ekranų.

Kodavimas be kompiuterio, arba kaip jį vadina specialistai – „unplugged coding”, yra nuostabus būdas supažindinti vaikus su programavimo pasauliu. Tai veikla, kuri moko loginės sąveikos, sekų sudarymo, problemų sprendimo ir kritinio mąstymo – visų tų įgūdžių, kurie pravers ne tik būsimiems programuotojams, bet ir bet kurioje gyvenimo srityje.

Kas yra algoritmas ir kaip jį paaiškinti vaikui?

Pirmiausia supažindinkime vaikus su pagrindiniu programavimo konceptu – algoritmu. Skamba sudėtingai? Iš tiesų tai labai paprasta. Algoritmas – tai tiesiog žingsnių seka, kurią reikia atlikti norint pasiekti tikslą. Kaip receptas, tik ne pyragui, o bet kuriam veiksmui.

Pabandykite su vaiku aptarti, kaip jis valosi dantis. Kokia tvarka? Pirma paima šepetėlį, tada užspaudžia pastą, tada šlapina šepetėlį vandeniu (arba atvirkščiai – kiekvienas turime savo algoritmą!), tada valo dantis tam tikrais judesiais. Štai jums ir algoritmas! Arba kaip jis užsiriša batų raištelius – tai irgi algoritmas, nors ir gana sudėtingas.

Galite kartu sukurti paprasto veiksmo algoritmą. Pavyzdžiui, kaip pasigaminti sumuštinį. Užrašykite kiekvieną žingsnelį: 1) Paimk duonos riekę, 2) Atidaryk šaldytuvą, 3) Paimk sūrį, 4) Uždėk sūrį ant duonos ir t.t. Vaikui tai bus ne tik smagu, bet ir padės suprasti, kad programavimas – tai instrukcijų davimas kompiuteriui, kaip žmogus duoda instrukcijas kitam žmogui.

Žaidimai ir veiklos be kompiuterio

Robotas ir programuotojas

Vienas populiariausių ir smagiausių būdų mokytis programavimo be kompiuterio – tai žaidimas „Robotas ir programuotojas”. Vienas žmogus tampa robotu (gali būti vaikas arba tėvelis), o kitas – programuotoju. Roboto užduotis – daryti tiksliai tai, ką jam liepia programuotojas, nieko daugiau ir nieko mažiau.

Pavyzdžiui, jūsų užduotis – nueiti nuo sofos iki virtuvės ir paimti obuolį. Programuotojas turi duoti labai tikslias komandas: „Žengk vieną žingsnį į priekį”, „Apsisuk 90 laipsnių į dešinę”, „Žengk tris žingsnius į priekį” ir pan. Robotas turi vykdyti tik tas komandas, kurias girdi. Jei programuotojas pamiršo pasakyti „atidaryk duris”, robotas tiesiog į jas atsitrenks (na, ne iš tikrųjų, žaidžiame saugiai!).

Šis žaidimas nuostabiai parodo, kaip svarbu būti tiksliam programuojant. Kompiuteris, kaip ir robotas šiame žaidime, daro tiksliai tai, ką jam liepiama, net jei tai nelogiška. Vaikai greitai supranta, kad reikia labai gerai apgalvoti kiekvieną komandą.

Piešimas pagal instrukcijas

Dar viena puiki veikla – piešimas pagal žingsnius. Vienas žmogus turi nupiešti paprastą figūrą (kvadratą, namą, gėlę), o kitas turi paaiškinti, kaip tai nupiešti, nematydamas, ką piešia pirmasis. Pavyzdžiui: „Nubraižyk liniją 5 cm į dešinę”, „Pasuk 90 laipsnių žemyn”, „Nubraižyk liniją 5 cm žemyn” ir t.t.

Galite sėdėti nugaromis vienas į kitą arba pastatyti tarp jūsų užtvarą iš knygų. Rezultatai būna labai linksmi – dažnai tai, ką nori pasakyti vienas žmogus, visiškai kitaip supranta kitas. Tai puiki pamoka apie tai, kaip svarbu aiškiai formuluoti instrukcijas.

Labirintai ir keliai

Ant didelio popieriaus lapo nubrėžkite paprastą labirintą arba tiesiog kelią su posūkiais. Galite naudoti ir grindų plyteles – kiekviena plytelė yra vienas žingsnis. Vaikas turi sudaryti instrukcijų seką (algoritmą), kaip nueiti nuo starto iki finišo. Instrukcijos gali būti: „→” (į dešinę), „←” (į kairę), „↑” (į priekį), „↓” (atgal).

Kai instrukcijų seka parašyta, galite ją „paleisti” – vaikas arba žaisliukas juda pagal tas instrukcijas. Ar pavyko pasiekti tikslą? Jei ne – reikia „derinti programą”, ieškoti klaidos ir ją taisyti. Tai vadinamas „debugging” – klaidų taisymas, ir tai yra didžiulė programavimo dalis!

Ciklas ir pasikartojimas – kaip nesikartoti

Programavime yra svarbus konceptas, vadinamas ciklu arba kilpa (loop). Tai kai tam tikra veiksmų seka kartojama kelis kartus. Vaikams tai galima paaiškinti labai paprastai.

Tarkime, jūs norite, kad robotas (žaidime „Robotas ir programuotojas”) nueitų penkis žingsnius į priekį. Galite pasakyti: „Žengk vieną žingsnį į priekį” penkis kartus. Bet programuotojai yra tingūs (geru būdu!) ir nori rašyti trumpiau. Todėl jie sako: „Pakartok 5 kartus: žengk vieną žingsnį į priekį”. Štai jums ir ciklas!

Galite žaisti žaidimą su kortelėmis. Paruoškite korteles su veiksmais: „plok rankomis”, „trypstelėk koja”, „šok”. Tada sudėliokite seką ir pridėkite kortelę „Pakartok 3 kartus”. Vaikas turi atlikti visą seką tris kartus. Tai padeda suprasti, kaip programose galima sutaupyti daug laiko ir pastangų naudojant ciklus.

Tikrame gyvenime ciklai yra visur. Kai valotės dantis, jūs kartojate tą patį judesį daug kartų. Kai kopiate laiptais, kartojate tą patį žingsnį. Kai skaitote knygą, kartojate veiksmą „apversk puslapį” tol, kol pasiekiate pabaigą. Padėkite vaikui pastebėti šiuos pasikartojimus kasdienybėje.

Sąlygos ir sprendimai: „jei-tai”

Kitas svarbus programavimo konceptas – sąlyginiai teiginiai. Programavime tai atrodo taip: „Jei kažkas yra tiesa, tai daryk vieną dalyką, o jei ne – daryk kitą”. Kasdienybėje mes tai darome nuolat!

„Jei lauke lyja, tai imk skėtį, o jei ne – gali jo neimti.” „Jei esi alkanas, tai valgyk, o jei ne – gali palaukti.” Tai yra sąlyginiai teiginiai, ir jie yra labai svarbūs programuojant.

Galite žaisti žaidimą su spalvotomis kortelėmis. Paruoškite kelias spalvotas korteles ir sukurkite taisykles: „Jei kortelė raudona, šok du kartus. Jei kortelė mėlyna, apsisuk ratu. Jei kortelė geltona, plok rankomis.” Tada traukite korteles ir vykdykite atitinkamus veiksmus. Vaikas mokosi priimti sprendimus pagal sąlygas – būtent tai daro ir kompiuterio programa.

Sudėtingesnis variantas: galite pridėti „ir” bei „arba” sąlygas. „Jei kortelė raudona IR skaičius ant jos yra lyginis, tai šok. Jei kortelė mėlyna ARBA skaičius yra 5, tai plok rankomis.” Tai jau pažangesnis lygis, tinkamas vyresniems vaikams.

Sekų sudarymas ir planavimas

Programavimas – tai ne tik komandų davimas, bet ir planavimas. Prieš pradedant rašyti programą, reikia apgalvoti, kokia turėtų būti veiksmų seka, kad pasiektum tikslą.

Puiki veikla tam – receptų rašymas. Pasirinkite paprastą patiekalą, kurį vaikas mėgsta, ir paprašykite jo užrašyti receptą labai detaliai. Pavyzdžiui, kaip pasigaminti kakavą. Vaikas gali pradėti nuo „įpilk pieną į puodelį”, bet palaukite – ar pirma nereikia paimti puodelio? O gal net pirma reikia nueiti į virtuvę? Ar pienas jau yra ant stalo, ar reikia jį išimti iš šaldytuvo?

Šis procesas padeda vaikams suprasti, kad programuojant reikia galvoti apie kiekvieną smulkmeną. Kompiuteris nežino, kad pienas yra šaldytuve – jam reikia tai pasakyti. Jis nežino, kad puodelį reikia paimti prieš pilant į jį skystį – jam reikia duoti tokią komandą.

Dar viena smagi veikla – planuoti šventę ar išvyką. Kokia turėtų būti veiksmų seka? Ką reikia padaryti pirma, ką paskui? Ar kai kuriuos dalykus galima daryti tuo pačiu metu? Tai vadinama lygiagretumu programavime – kai kelios užduotys vykdomos vienu metu.

Klaidos – tai ne baisiausia, kas gali nutikti

Vienas svarbiausių dalykų, kurį vaikai (ir suaugusieji!) turi išmokti apie programavimą – tai kad klaidos yra normalios. Net geriausi programuotojai daro klaidų. Svarbu ne tai, kad jų nedarytum, o tai, kaip jas randi ir taiso.

Programavime klaidų taisymas vadinamas „debugging” (derinimas). Šis žodis atsirado dar tada, kai kompiuteriai buvo didžiuliai ir užėmė ištisus kambarius. Kartą tikras vabzdys (bug angliškai) įlindo į kompiuterį ir sukėlė problemų. Nuo tada klaidų taisymas vadinamas „de-bug-ing” – vabzdžių šalinimu!

Kai žaidžiate kodavimo žaidimus be kompiuterio ir kažkas nesiseka, tai puiki proga. Vietoj to, kad nusiviltumėte, pasakykite: „Puiku, radome klaidą! Dabar pabandykime ją surasti ir ištaisyti.” Grįžkite prie instrukcijų, žiūrėkite, kur galėjo įsibrovti klaida. Gal praleista komanda? Gal komandos neteisingoje tvarkoje? Gal komanda netiksli?

Šis požiūris į klaidas yra neįtikėtinai vertingas ne tik programavimui, bet ir visam gyvenimui. Vaikai mokosi, kad nesėkmė – tai tik žingsnis į sėkmę, kad iš klaidų galima mokytis, ir kad atkaklumas yra svarbesnis už tai, ar pavyko iš pirmo karto.

Kūrybiškumas ir problemų sprendimas

Programavimas nėra tik griežtos taisyklės ir logika. Tai taip pat kūrybiškumas! Dažnai būna daugiau nei vienas būdas išspręsti problemą, ir vaikai gali būti labai išradingi ieškodami sprendimų.

Kai žaidžiate labirinto žaidimą, paprašykite vaiko rasti ne vieną, o kelis būdus, kaip pasiekti tikslą. Kuris būdas trumpiausias? Kuris paprasčiausias? Kuris įdomiausias? Nėra vieno teisingo atsakymo, ir tai puiku.

Galite sukurti savo žaidimus ir veiklas. Paprašykite vaiko sugalvoti naują žaidimą, kuris mokytų programavimo konceptų. Galbūt jis sugalvos kažką, apie ką jūs net nepagalvojote! Vaikai dažnai būna daug kūrybiškesni nei suaugusieji, nes jie dar nebijo eksperimentuoti ir bandyti naujų dalykų.

Programavimo įgūdžiai padeda spręsti įvairias problemas. Jei vaikas negali rasti savo žaislo, galite kartu „suprogramuoti” paiešką: „Pirmiausia patikrinsime kambaryje po lova, tada spintelėje, tada svetainėje ant sofos…” Tai sisteminis, algoritminis požiūris į problemų sprendimą.

Kaip visa tai pravers ateityje ir dabar

Dabar galite galvoti: „Gerai, visa tai smagu, bet ar tikrai mano vaikui reikia mokytis programavimo?” Atsakymas yra – net jei jūsų vaikas niekada netaps profesionaliu programuotoju, šie įgūdžiai bus neįtikėtinai naudingi.

Algoritminis mąstymas padeda organizuoti mintis, planuoti veiksmus, spręsti problemas sistemiškai. Tai pravers mokykloje sprendžiant matematikos uždavinius, rašant rašinius (kurie irgi turi struktūrą ir seką!), planuojant projektus. Tai pravers ir kasdienybėje – nuo namų ruošos planavimo iki sudėtingų gyvenimo sprendimų priėmimo.

Gebėjimas suskaidyti didelę problemą į mažesnes dalis, spręsti jas po vieną ir tada sujungti į visumą – tai įgūdis, kurio reikia beveik kiekvienoje profesijoje. Mokslininkai, gydytojai, mokytojai, menininkai, verslininkai – visi jie naudoja šį mąstymo būdą.

Be to, šie žaidimai ir veiklos be kompiuterio yra puikus būdas praleisti laiką kartu su vaiku. Jūs ne tik mokote jį vertingų įgūdžių, bet ir kuriate malonius prisiminimus, juokiatės kartu, kai robotas „sugenda”, džiaugiatės kartu, kai pavyksta išspręsti sudėtingą užduotį.

Programavimo pradmenys be kompiuterio – tai investicija į vaiko ateitį, kuri nereikalauja brangios įrangos ar specialių žinių. Jums reikia tik laiko, noro ir truputį fantazijos. Pradėkite nuo paprastų žaidimų, stebėkite, kas vaikui patinka labiausiai, ir leiskite jam eksperimentuoti. Kas žino – galbūt šiandien žaisdami robotus ir labirintus ant grindų, jūs ugdote būsimą genialų programuotoją ar išradėją. O gal tiesiog padėsite savo vaikui geriau suprasti pasaulį ir rasti kūrybiškų sprendimų gyvenimo iššūkiams. Ir vienas, ir kitas rezultatas yra nuostabus!

Scroll Up