Ar tai paprasta? Ir taip, ir ne. Galime atsakyti „taip“, nes 5 esminius programavimo principus taikome kasdieniame gyvenime: duomenys, veiksmų seka, sąlygos, veiksmų apibendrinimas bei kartojimas. Tačiau atsakymą „ne“ galima pagrįsti tuo, kad šis užsiėmimas nelengvas: programuojant reikia sužiūrėti daug detalių. Pavyzdžiui, užtenka praleisti vieną simbolį ir programa „grybaus“ (neveiks arba veiks klaidingai)… Dėl to labai svarbu daug praktikuotis. Būdamas programavimo mokytoju, manau, kad norint įvaldyti šį užsiėmimą reikia apie 80 proc. praktikos ir 20 proc. teorijos.

Prieš porą metų pradėtos iniciatyvos Code.org bei CodeWeek.eu pateikia daug gerų įvadinių programavimo priemonių.

Viena įdomiausių yra CodeCombat. Tai RPG žaidimo aplinka, kurioje reikia užprogramuoti herojaus veiksmus (sukurti jam „AI“). Ji tinka ir neturintiems programavimo patirties, tarkime, 7–10 klasės mokiniams. Pradžioje užduotys lengvos, pateikiami kodo pavyzdžiai bei komentarai, pagal kuriuos galima susiorientuoti, ko trūksta. Bet palaipsniui jos sunkėja, reikia didesnių programų, tenka apgalvoti daugiau priešų veiksmų ir pan. Dar jėgas galima išbandyti dvikovų arenose – ten mokinio programa („AI“) kovos prieš kitų žaidėjų programas.

CodeCombat

Programavimo principai pristatomi žaismingai – kaip herojaus „galios“, kurias jis įgija kartu su inventoriumi. Yra 4 pagrindiniai lygiai: „Požemyje“ susipažįstama su nuoseklia veiksmų seka ir kintamaisiais, „Miške“ – sąlygos sakiniais ir koordinačių sistema, „Dykumoje“ – veiksmų kartojimo niuansais, „Kalne“ – naujų komandų aprašymu.

Žvilgtelkim, kaip atrodo užduoties atlikimas: kairėje – veiksmo scena, o dešinėje – programavimo sritis.

CodeCombat

Šiame pavyzdyje misija neįvykdyta: nukautas tik vienas priešas iš dviejų bei nepaimtas deimantas. Dešinėje matyti programos kodas, kitaip galimas vadinti veiksmų planu. Pradinis kodas atskirtas punktyru – jo keisti neleidžiama, o žaidėjas turi jį pratęsti. Po programavimo langu yra pagalbos mygtukas bei išvardinti galimi herojaus veiksmai – jie priklauso nuo turimo inventoriaus.

Be to, programa parašyta su klaida – nurodytas neteisingas priešo vardas (iš mažosios raidės). Klaidos yra labai svarbi programavimo dalis. Pradedančiuosius jos gali erzinti – bet į tai verta žvelgti kaip į kantrybės treniruotę.

Kaip ir bet kuriame kūrybiniame inžineriniame darbe produktas sukuriamas ne iš karto, o palaipsniui tobulinant, kaip ir programose – dažnai kažkas neveiks ar iššoks klaidos pranešimas… Bet klaidų pranešimai kaip tik ir padeda klaidas suprasti ir ištaisyti.

Ar čia žaidžiant galima išmokti sukurti programėlę „išmaniajam“? Dar ne, nes čia tik žaidimas konstruktoriumi, tačiau jame naudojamos profesionalios programavimo kalbos: galima pasirinkti paprasčiausią Python ar Javascript, skirtą „web“, panašią į C++, ir dar kelias. Išmokti programavimo principai tiks ir kitose kalbose. Daugelis čia išmoktų dalykų gali būti pritaikyti žaidimų programavime.

Vienas svarbiausių efektų įveikusiems daug užduočių yra programavimo įgūdžiai: šis žaidimas moko planuoti ir analizuoti programą, suprasti ir taisyti klaidas, patobulinti loginį mąstymą ir dėmesio sutelkimą. Norint toliau mokytis programuoti, galima išbandyti savarankiško mokymosi svetaines CodinGame.com ar lankyti virtualius CodeCademy.com kursus.

CodeCombat platforma yra atviro kodo ir stengiasi įtraukti bendruomenę į kūrimą. Galima kurti objektus, lygius, būti užduočių testuotoju, žaidimo vertėju į savo kalbą ir pan. Žaidimas jau yra dalinai išverstas į lietuvių kalbą.

Šiam žaidimui užtenka naršyklės. Prieš pradedant žaisti, patartina peržiūrėti įvadinę lietuvišką video apžvalgą, o jei kiltų daugiau klausimų, galima konsultuotis forume.

Šaltinis
Temos
Griežtai draudžiama Delfi paskelbtą informaciją panaudoti kitose interneto svetainėse, žiniasklaidos priemonėse ar kitur arba platinti mūsų medžiagą kuriuo nors pavidalu be sutikimo, o jei sutikimas gautas, būtina nurodyti Delfi kaip šaltinį.
www.DELFI.lt
Prisijungti prie diskusijos Rodyti diskusiją (5)