20 patarimų norintiems išmokti programuoti lengviau ir efektyviau

20 patarimų norintiems išmokti programuoti lengviau ir efektyviau

Ką daryti, jei sunku išmokti programuoti? Nesiseka, nesuprantu, nesugalvoju… O galiausiai ir frazė – gal tai ne visai ne man? Ar atpažįstate save šiose mintyse?

Nereikėtų nusiminti, jei nesigauna ar sunku. Išmokti programuoti prireiks laiko ir kantrybės. Dalijamės patarimais, kurie tikimės padės nenuleisti rankų ir įveikti kylančius sunkumus.

Patarimai iš praktinės patirties norintiems išmokti programuoti:

Stenkitės suvokti. Tai ir yra svarbiausia. Nebandykite kalti programavimo mintinai. Kalti programavimą mintinai būtų nelabai gerai, nes visgi programavime reikia nemažai loginio mąstymo.

Be abejo gerai žinoti kaip užsirašo visi pagrindiniai dalykai mintinai, tačiau automatinis rašymas dažniausiai tiesiog ateis su laiku. Kadangi programavimo kalbų yra daug ir įvairių, geriausia norint išmokti programuoti yra stengtis suprasti patį veikimo principą.

išmokti programuoti
Išmokti programuoti – tai ne kalti informaciją mintinai

Googlinkite! Būtų nedrąsu, jei atvykus į daktaro kabinetą specialistas bandytų rasti mūsų ligą internete, o rašytojas kurtų romanus kopijuodamas tekstą iš interneto, tiesa? Tačiau džiugi žinia ta, jog programavimas ir apskritai informatikos mokslai leidžia ieškoti informacijos internete kiek tik pageidaujate. Niekas jūsų už tai nesmerks ir nekvestionuos jūsų žinių.

Labai tikėtina, jog kažkas kitas jau anksčiau taip pat buvo susidūręs su tokia pačia arba bent jau panašia problema.

Googlina IT atstovai daug, nes:

  • visko tiek daug, jog neįmanoma atsiminti. Yra begalė skirtingų programavimo kalbų, programų, jų atnaujinimų, pakeitimų, įvairių netikėtų veikimo aspektų ir tarp viso šito IT srities žmogui tenka laviruoti nuolat.
  • dirbant vis vien esame prie kompiuterio ir galime bet kuriuo metu pasitikslinti reikiamas detales.
  • informatika pilna iššūkių ir naujovių, kone kasdien reikia spręsti naujai iškilusias problemas, su kuriomis nebuvome susidūrę. O mokymosi kelio pradžioje tų naujovių labai daug.

Tad googlinkite ir žinokite, jog atsakymą rasite 99% atvejų, nes jei jūs susidūrėte su problema, labai tikėtina, jog kažkas kitas jau anksčiau taip pat buvo susidūręs su tokia pačia arba bent jau panašia problema.

išmokti programuoti
Puslapis, kuriame – gyva statistika, rodanti kiek Google šiandien apdorojo užklausų

Rašykite programą nuo pradžių. Kiekviena programa dažniausiai prasideda taip pat ar panašiai: aprašomi kintamieji, nuskaitoma vartotojo įvestis, atliekami skaičiavimai. Nors ir programos struktūra bei nemaža dalis kodo bus tokia pati kaip ir jūsų anksčiau rašytų programų, nekopijuokite net ir visiškai sutampančių fragmentų. Perrašykite juos, jog geriau įsimintumėte ir suprastumėte.

Nekopijuokite kodo. Jei norisi kopijuoti, tai perrašykite „ranka“, o ne tiesiog atlikite copy-paste veiksmą. Tiesiog įkopijavus kodą į savo programą yra sunkiau įsigilinti, ką kodas reiškia, nei perrašant jį ir skiriant dėmesio kiekvienam žodžiui, jo prasmei.

Svetimą kodą pataisykite „savaip“. Interneto platybėse radus sprendimą, tą stebuklingą kodo gabalėlį, kuris padės mums išspręsti programavimo uždavinį, kyla nenumaldomas noras tiesiog perkopijuoti kodą į savo programą ir ją jau paleisti. Tačiau susimąstykite, ar tikrai reikia viso kodo kurį radote, ar tikrai visas kodas atitinka jūsų sprendžiamą problemą, situaciją?

Išmokti programuoti geriausiai padeda, kai rastas, o ne savo paties rašytas kodas, perrašomas savaip, asmeniniu stiliumi. Pakeitimai neturi būti dideli. Galbūt jūs tik pervadinsite kintamuosius, pakeisite jų tipus? Galbūt sukeisite kai kurias eilutes vietomis? O gal pakeisite nesuprantamą dalį kita, jums geriau žinoma funkcija?

Visi tokie smulkūs pakeitimai svarbūs jūsų mokymosi progresui, nes taip keičiant ir tarsi „šlifuojant“ kodo fragmentą geriau įsisavinamas ir suprantamas ne tik konkrečios funkcijos, mažos kodo dalies veikimas, tačiau ir geriau išmokstama programavimo sintaksės, vystosi jūsų asmeninis programavimo stilius.

išmokti programuoti
Nukopijuotą kodą stenkitės pataisyti savaip

Susikonspektuokite. Nebūtina žymėtis kiekvieną detalę ar kurti ilgus rašinėlius, užteks tik pasižymėti, ką sužinojote ir tai jau bus puikus priedas prie mokymosi eigos.

Tarkime, noriu išmokti programuoti, bet man sunku susigaudyti ir prisiminti, ką reiškia koks programavimo elementas. Labai pravartu turėti tokį „mini“ sąrašą, į kurį greitai žvilgtelėjus prisimintumėte pagrindines programavimo struktūras: if sąlygas, ciklus, masyvus ir panašiai.

Taip programavimas jums, kaip pradedančiam, bus lengvesnis, nebereikės informacijos ieškoti skaitant vėl ir vėl daugelyje skirtingų šaltinių, sutaupysite laiko ir neprarasite motyvacijos.

išmokti programuoti
Mini konspektas gali padėti išmokti programuoti

Sekite klaidas klaidų lange. Stebėkite klaidos pranešimus (konsolėje ir klaidų lange), nes tokie pranešimai paprastai parodo nemažai informacijos. Jei kas nors neveikia, klaidos pranešimas beda pirštu į problemą ir parodo, nuo ko pradėti.

išmokti programuoti
Pranešimai klaidų lange nurodo klaidas ir jų vietas

Nagrinėkite kitų kodą. Tai gali būti kartu besimokančiųjų kodas, rastas internete uždavinio sprendimas, dėstytojo kodas. Nesvarbu. Norint išmokti programuoti tikrai padeda kito programuotojo rašyto kodo peržiūra, nes atrandame kaip galima užrašyti tą patį kitaip, optimaliau, gal net gudriau.

Stenkitės mąstyti paprastai. Iš pradžių pabandykite supaprastinti pačią užduotį. Parašykite programą „naiviai“, labai primityviai, taip, jog ji veiktų tik ribotai. Tarkim iš pradžių galima nenuskaitinėti vartotojo įvesties, o tiesiog ištestuoti programą su kintamaisiais, kuriems reikšmes priskiriame patys, o ne vartotojas.  Taip pat galima iš pradžių neatsižvelgti ir į išimtis, pritaikyti programą tik bendrajam atvejui.

Kai atliksite supaprastintą užduotį, pagalvokite kaip būtų galima pridėti daugiau funkcionalumo, kaip optimizuoti, sumažinti kodo, sutraukti veiksmus. Tai pravartu, nes darbas išskaidomas mažesniais žingsneliais ir jums nebereikia iš karto atlikti visko.

Beje, jei besimokant prie paskaitos būna pateikta užduočių, tai greičiausiai jos susijusios su būtent tos paskaitos medžiaga, tad ir pamėginkite pritaikyti būtent tos paskaitos turinį.

išmokti programuoti
Supaprastinkite užduotį

Testuokite programas. Kokiu atveju ir su kokiais duomenimis programa veikia, o kada galėtų duoti neteisingą atsakymą?

Pavyzdžiui, programa gali veikti tik su teigiamais skaičiais, o su neigiamais nebe. Taip pat skaičiuojant vidurkį, kai nėra nei vieno elemento galime gauti dalybą iš nulio, kas bus tiesiog begalybė ir programa užstrigs. Tokie ir kiti panašus galimai probleminiai, ribiniai duomenų variantai padės patobulinti programą, užtikrinti jos veikimą su bet kokiais duomenimis.

išmokti programuoti
Testuojant ieškome nestandartinių, ribinių variantų. Pavyzdžiui, ar susidarys neleistina dalyba iš nulio.

Išsinagrinėkite kiekvieną kodo eilutę. Jei mokysitės programavimo ir toliau, tai kodo struktūros tik sudėtingės, tad svarbu pilnai suprasti tai, ką mokotės. Jei kode yra neaiškių dalių, tai jų neignoruokite, išsiaiškinkite, galbūt jose nieko sudėtingo, o tik atrodo neįkandamai.

Prieš klausydami naują paskaitą pasikartokite, ką mokėtės anksčiau. Atminties atšviežinimas prieš mokantis naują medžiagą padės „apšilti kojas“, bei prisiminti, kas jau buvo išmokta. Tada pradėjus nagrinėti naują informaciją bent jau nebekils neaiškumų iš praeitų temų.

Papasakokite apie programą kitiems. Ar buvote situacijoje, kai kas nors nesigauna, jau ketinate klausti, o uždavę klausimą akimirksniu suprantate, koks atsakymas? Tai tik įrodo, kaip svarbu garsiai išreikšti tai, ką bandome padaryti.

išmokti programuoti
Jei užstrigote, paklauskite kitų, diskutuokite

Kalbėkitės su savimi. Jei aplinkui nieko nėra, pas ką galėtumėte paklausti – paklauskite savęs! Papasakokite sau, ką darote, kokius veiksmus atliekate, kokia loginė programos veikimo seka? Atsakymas gali paaiškėti taip pat greitai kaip ir uždavus klausimą kitam.

Lavinkite atmintį. Pabandykite prisiminti tai, ką mokėtės programuodami, kai būsite duše, troleibuse, gersite kavą. Kai informacija semiama pamažu ir dar tokiais momentais, kai smegenys laisvos, gal net klajoja, įsimename geriau.

Praktikuokitės, nors ir sunku ar nesigauna. Nusprendus išmokti programuoti iš pradžių viskas dažnai atrodo taip nauja ir nesuprantama, regis, net paprasčiausi dalykai užima begalę pastangų ir laiko. Ir štai tokiu momentu svarbu nepasiduoti, nes po kurio laiko, jei tik įdėsite pastangų ir turėsite noro išmokti programuoti, tikrai įsivažiuosite.

Labai geras pavyzdys, kurį mėgstu ir dažnai pasitelkiu – tai sportas. Aukščiausio lygio krepšininkai iš pradžių mėto kamuolį visiškai pro šalį, geriausi čiuožėjai pirmą kartą užlipę ant ledo juda pamažu perdėtai atsargiai laikydamiesi už bortelio, o profesionaliausius bėgikus pirmieji jų gyvenimo kilometrai uždusina ir pakerta kojas. Taigi, norint išmokti programuoti, praktikuotis yra lygiai taip pat svarbu, o jei įdėsite darbo, tai sunki pradžia greitai taps tik linksmu prisiminimu ir pasididžiavimu, jog vis dėlto jūs sugebėjote visa tai įveikti.   

Pailsėkite. Kaip dažnai reikėtų mokytis? Viską, ką norime išmokti, kuo dažniau darome, tuo greičiau išmokstame. Tačiau… Nepersistenkite! Programavimas – tai juk protinė veikla ir jei smegenys, perdegs, tai iš to naudos bus nedaug. Svarbu išlaikyti reguliarumą, nes pasimokius kartą per savaitę 5 valandas be sustojimo gali nelabai besinorėti dar kada nors apskritai mokytis.

išmokti programuoti
Neperempkite smegenų…

Jei sunku sugalvoti algoritmą… Jei turite užduotį, bet neįsivaizduojate, kaip reikėtų ją įgyvendinti, pabandykite suvokti, ką darote, kai sprendžiate tą užduotį kaip žmogus.

  • Pavyzdžiui, ką darote, jei jums reikia patikrinti, ar žodis vienodai skaitomas iš abiejų pusių? Sakytumėte, jog matosi natūraliai. Juk iš karto aišku, jog žodis „sėdės“ skaitomas taip pat iš abiejų pusių taip pat, o „saga“ – ne taip pat.
    Gerai, tai trumpi žodžiai, tarkime, jog matome savaime, ar jie simetriški, ar ne. Tačiau kaip būtų, jei žodžiai būtų ilgesni, na arba labai ilgi, tarkime iš 100 simbolių? Tuomet juk imtumėte po vieną simbolį iš priekio ir iš galo ir juos palygintumėte. Ir taip tol, kol prieitumėte žodžio vidurį ir tada jau paaiškėtų, ar žodis vienodai skaitomas iš abiejų pusių, ar ne.

Tai ir bus atsakymas į sprendžiamą uždavinį – algoritmas, kurį sugalvojus beliks tik jį užprogramuoti.

išmokti programuoti
Kai sprenžiame kaip žmogus, matosi „automatiškai“, o koks algoritmas aprašo tą automatiką?
  • Kitas pavyzdys – norime išvesti visas vasaros olimpinių žaidynių datas, kurios patenka į intervalą [a, b]. Vėlgi, jei iš karto neaišku, koks algoritmas tokią užduotį galėtų įgyvendinti, pagalvokite, kaip įgyvendintumėte jūs, jei turėtumėte tik popieriaus ir pieštuką. Tikriausiai pradėtumėte nuo pirmųjų žaidynių, patenkančių į duotą intervalą ir pridėdami vis po 4 metus tiesiog išrašytumėte visą sąrašą. Sustotumėte, kai pasieksite b arba peržengsite intervalo ribas. Tai vėlgi yra žmogiškas tokio uždavinio sprendimo būdas, tačiau analogiškai šį algoritmą galima paversti ir į kompiuterines komandas.
išmokti programuoti
Olimpiniai metai ir šalių – organizatorių žemėlapis

Sugalvojus veikimo principą dažniausiai įgyvendinimas pasirodo lengvesnioji darbo dalis.

Beje, tai yra įdomi problema, kaip sugalvoti, ką kompiuteris turi daryti, kad duotų atsakymą, kurio norime. Net jei žmogui atsakymas ir akivaizdus, kompiuteriui toli gražu niekas neaišku. Pavyzdys – dirbtinis intelektas. Kaip padaryti, kad tai, ką kompiuteris mato galėtų įvardyti? Kodėl mes, žiūrėdami į daiktą suprantame, jog tai katinas, morka, telefonas? O pagal ką tai nuspręsti kompiuteriui?

Jei galvojate, jog negalėtumėte programuoti visą dieną…  Programuotojo darbas nėra sėdėjimas nuo 9 val. iki 17 val. kasdien tik prie kodo ir įtemptas mąstymas. Tenka dalyvauti ir įvairiuose susitikimuose, aptarinėti projektą, derinti tolimesnius veiksmus, be to daugelis gali dirbti jiems patogiu laiku.

Svarbu ir tai, jog mokantys programuoti gali dirbti ne vien tik programuotojais. Yra daug įvairių specialybių, kuriose reikia programavimo, tačiau kartu integruojamos ir kitos sritys. Daugiau apie specialybes, kuriose reikalingos programavimo žinios skaitykite čia.

P.S. Daugelis šių patarimų gali būti pravartūs ne tik norint išmokti programuoti. Šie metodai pravers ir mokantis kalbų, groti muzikos instrumentu, gaminti skanius patiekalus bei lavinant daugelį kitų įgūdžių.

P.S.S. Jei norite išmokti programuoti ir pamatyti, jog tikrai galite ir jūs, jei tik turite noro ir šiek tiek kantrybės, Klavisas.lt programavimo kursai online laukia jūsų registracijos ir kviečia išmokti programuoti 13 savaičių programavimo kursuose. Plačiau šie programavimo kursai aprašyti mūsų pagrindiniame puslapyje: klavisas.lt

Vytautė Lipeikaitė
Klavisas.lt autorė
2021-01-31