Minult on mõnikord küsitud, kuidas ma oma lapsed programmeerima õpetasin. Olen neile rääkinud kõigest sellest, mis nüüd selle raamatu kaante vahele saab, aga alustasin hoopis mujalt, sest programmeerimine on palju rohkemat, kui lihtsalt koodi kirjutamine.
Alustasime igapäevaelu tegemisi ära kasutades ning seda on võimalik teha väga mänguliselt ja huvitavalt. Lastele võib arvuti paista põneva ja mõtleva masinana, aga oluline on mõista, et kodused programmeeritavad arvutid – vähemalt praegu veel – ise ei mõtle. Programmeerimine tähendabki arvutile instruktsioonide andmist: samm-sammult, lihtsalt ja loogiliselt. Sellise mõtteviisi saab lastele omaseks muuta imelihtsalt, lastes neil ideed sõnadeks või piltideks vormida.
Meie aga alustasime pannkookidest. Kõigepealt lasin poistel otsida info, kuidas pannkooke küpsetada. Seejärel tegin nende täpsete ja väga detailsete juhiste järgi valmis taigna – arvutiga sarnaselt järgisin ainult instruktsioone, oma varasemat pannkookide tegemise meisterlikku oskust ma demonstreerida ei tohtinud. Seejärel jõudsime küpsetamiseni. Esimene katsetus läks aia taha, järgnes väike analüüs, kus selgitasime välja põhjused ja parandasime vead. Teine katse oli juba parem ja kolmandaga oli poistel selge peale kõige muu ka pannkookide küpsetamine – seega ei pea ma neid enam igal pühapäevahommikul ise tegema. Täpselt sama eesmärk on ka arvutiprogrammidel.
Selles raamatus olen proovinud kirjutada arvutitest ja programmeerimisest võimalikult lihtsasti, sidudes õppimise näidetega igapäevaelust. Kirjutanud olen selle mõeldes oma teismelistele poistele, aga loodan, et raamat pakub avastamisrõõmu ka teistele lastele.
Praegusel ajal, kui tehisintellekti areng on ülikiire, võib tekkida küsimus, kas programmeerimisoskus on üldse veel oluline. Kindlasti on. Arvan, et see on oluline osa haridusest, et kiiresti muutuvat maailma mõtestada ja tehisintellekti hingeelu mõista. Aeg on keeruline meie kõigi jaoks, aga eriti raskelt mõjub teadmatus ja ebamäärasus lastele ja noortele. Lastele programmeerimise õpetamine on suurepärane võimalus pakkuda neile oskusi, mis aitavad paremini toime tulla igapäevaeluga, mitte lihtsalt ei loo paremaid valikuid täisealisena tööturul. Programmeerimisoskus arendab kriitilist ja loogilist mõtlemist, mida läheb iga päev järjest rohkem vaja meil kõigil. Peale selle annab programmeerimine oskuse lahendada probleeme. Keerulised probleemid võivad tekitada frustratsiooni. Kuid kui mahukas ja esialgu ehk lahendamatuna paistev ülesanne võtta väikesteks tükkideks ja otsida samm-sammult lahendusi, aitab see vältida rõhuvat tunnet, et ka päriselu probleemid on toimetulekuks liiga suured. Koodi kirjutamisel tehtud vigade parandamine (debugging) süvendab veendumust, et lahendused on olemas. Veel soodustab see keskendumisvõime arendamist, seoste märkamist ja tähelepanu koondamist.
Kindlasti tundub paljudele ikka veel, et programmeerimine on kuiv ja igav. Tegelikult on see erakordselt loov ja eneseväljendust pakkuv tegevus, mis annab lastele tunde, et see, mis nad teevad, on oluline ning et igal otsusel ja tegevusel on tulemus ja tagajärg. Mõttekaaslastega suhelda ja mõnes suuremas projektis osaleda on jõukohane ka introvertsematele lastele ja see sobib ka neile, kes elavad hajaasustusega piirkondades. Sellised tegevused parandavad ja arendavad sotsiaalseid oskusi ning aitavad leida uusi sõpru.
Programmeerimisoskust pole vaja ainult tarkvaraarendajatele, see on oskus, millest on kasu ka paljudel teistel elualadel. Lastele on see eelkõige aga tore ja arendav hobi.
Sisukord:
1. Miks?
2. Kuidas?
3. Riistvara ja tarkvara
4. Programmeerimine – mis see on?
5. Python
6. print("Hello, World!")
7. Peamised takistused ja kuidas neid
vältida
8. AI - tehisintellekt
9. Algoritmide imeline maailm
...
Kirjutan küll emotsioonitutest masinatest ja imeliselt loogilistest seostest sisendi ja väljundi vahel, aga jagada proovin eelkõige ikkagi rõõmu ja vaimustust, mida programmeerimine – ja millegi loomine! – pakkuda võib. Juba nakatunud isendid leiavad ilmselt õpivõimalusi nagunii, aga loodetavasti suudan innustada ja huvi tekitada ka mõnes sellises tüdrukus ja poisis, kes arvavad, et koodi kirjutamine pole nende jaoks.