Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 2. OSA sisukord | järgmine > |
2.3 Silmaring. Kodumasinad
Tänapäevases maailmas pole mingisugune ime vajutada nuppu ja selle tulemusena saada oma tahtmine, olgu selleks siis mis iganes - kiiresti keedetud vesi, puhtaks pestud pesu või ahjus valminud hea õhtusöök. Kuid kui palju me teame sellest, mis on peidetud antud tegevuste taha? Mis tegelikult juhtub, kui me vajutame nuppu? Kas me ehk isegi oleme kaasa aidanud sellele maagilisele tegevusele?
Üheks nutikaimaks seadmeks, mis paljudel enesega sisuliselt igal pool kaasas käib, on nutitelefon. Nutitelefon on muutunud meie ühiskonnaks täiesti tavaliseks nähtuseks ning kõik, mis me sellega teeme, on harjumuspärane. Kuid kas me tegelikkuses kasutame ära maksimaalselt võimalusi, mida see nutikas seade meile pakub?
Kui me mõtleme, et mida me oskame oma nutitelefonidega teha, siis meenuvad meile sellised asjad nagu helistamine, sõnumite saatmine, internetiavaruste kasutamine, pildistamine, e-mailide kirjutamine ja lugemine. Kuid kas me oleme kunagi mõelnud näiteks oma kodulooma toitmisele läbi oma seadme või hoopis pesumasina käivitamist? Kohati tunduvad need asjad ulmelised, kuid need on siiski võimalikud selles samas tavalises infotehnoloogia nutimaailmas, kus me elame.
Selle kõige põneva taga on programmeerimine. Programmeerimine võimaldab meil panna seadmeid tegema seda, mida me ise tahame, tuleb anda ainult vastav korraldus. Kui mõelda koduste seadmete ja masinate peale, siis selliseid, mis ilma programmeerijate kirjutatud programmideta õigesti töötaksid, on üpris vähe. Programmidest võime mõelda ka laiemalt - näiteks käikudega jalgrattale kontekstis. Ratta käikudest võib mõelda kui programmijuppidest, mis täidavad oma ülesande, kui sa need välja kutsud (käiku vahetad). Käike vahetades valid sa programmi, millega ratas edasipidi sõitma hakkab. Seega oled sa põhimõtteliselt tegelenud programmeerimisega.
Kui aga mõelda programmeerimise peale veidike keerulisemast ja tõetruumast vaatenurgast, võime vaadelda näiteks pesumasinat. Tänapäevased pesumasinad on väga võimsad ning viimaste tehnoloogiate järgi loodud pesumasinad on programmeeritud nii, et nad saavad ise aru, mis materjalist ja kui mustad meie riided on. Selle põhjal arvutab masin programmipõhiselt vajalikud temperatuurid ja pesuainete kogused ning oma pesu näeme uuesti alles siis, kui see on puhas ja triigitud. Enamikes kodudes meil kahjuks või õnneks selliseid masinaid ilmselt ei leidu, kuid kui mõelda harjumuspärase pesu pesemise viisi peale pesumasinas, oleme me kõik programmeerijad. Me valime vastava programmi, millega pesu pesta, määrame temperatuuri, loputuskordade arvu ning tsentrifuugi. Iga selle valiku tegemine on programmeerimine, kuna valikutest valime välja meile sobilikud ning välistame mittevajaliku.
Üks kindlasti tüütumaid tegevusi kodus on koristamine. See on tegevus, mida võiks lõputult teha. Kuid ka sellele on meie kaasaeg mõelnud ning siinkohal mitte koduabilise seisukohast, keda me võiksime ka programmeerida, andes sisendiks raha, vaid jutt on kodumasinatest, mis üpris keerukate programmijuppide abiga suudavad teha ära suure osa meie üksluisemaist tegevusest. Kui me kujutame ette tavalist koristuspäeva, meenub ikka tolmu võtmine, asjade korrastamine ja õigetesse kohtadesse panemine, tolmuimejaga põrandate imemine, põrandapesu ... Aga kui meil oleks võimalik umbes 70% koristustööst korraldada nii, et me ei peaks seepärast otseselt ise muretsema?
Tänapäevaseid tolmuimejaid leidub ka selliseid, mis töötavad aku pealt ja teevad kogu töö ise. Vastavalt sellele, kuidas kasutaja on masina programmeerinud, käib ta intervalliti kõik põrandad üle. Imepäraseks teeb selle masina aga programm, mis on õpetanud teda aru saama, kus on astakud, millest ta võiks alla kukkuda, asjad, mille otsa ta võiks põrgata. Nendest ta hoiab "teadlikult" eemale. Kui ta aga mõistab, et tema aku hakkab tühjaks saama, on ta piisavalt mõistlik, et ise laadima minna. Tolmuimejate programmeerimisest ja sellest, mida on võimalik programmidega teha, on näha järgmiselt videolt (minutil 8:30).
https://www.youtube.com/watch?v=OdjPSxWxWKg&feature=youtu.be&t=8m30s
Samasuguse põhimõttega on olemas ka aknapesumasinad, põrandapesumasinad ning muruniidukid.
Kui tulla tagasi nutitelefonide juurde või ka tahvelarvutite juurde, siis võimaluse korral on võimalik muuta suur osa oma elust programmeerituks. Võimalused, mida tehnika viimane sõna meile täna pakub, on pea uskumatud. Päeva sellises elus kujutab hästi järgmine video.
https://www.youtube.com/watch?v=_RvjektuDfU
Uskumatu, kas pole?
Teisest küljest on igal heal omad vead ehk tuleb olla ikkagi igati ettevaatlik. Lubades tehnoloogial kontrollida nii suurt osa meie elust võib osutuda ka ohtlikuks. Pidevalt tuleb meeles pidada, et turvariskid on suured. Ikka leidub geniaalseid inimesi, kes oskavad läbi murda meie keerukatest süsteemidest ja muuta meie nõrkused enda tugevusteks.
Kokkuvõtvalt võime öelda, et meie elu sisaldab programmeerimist väga palju suuremal osal kui me seda esialgu ise ette kujutasime. Paljud meie tegevused ja meid ümbritsevad masinad on seotud programmeerimisega, mis on lihtsustanud meie elu väga suurel määral ja teevad seda ka edaspidi. Ehk innustab see meid suuremal määral tähelepanu pöörama programmeerimisele ja sellealastele oskustele. Olles ise teadlikumad, on kindlasti ka meie maailm põnevam.
Järgmine ülesanne jääb ootama seda aega, kui me oskame Pythonis valikuid programmeerida. See aeg tuleb varsti!
Luua väike programm pesumasina kasutamiseks. Programm küsib kasutaja käest, millist pesu soovitakse pesta ning programm vastab vastavalt, kui kaua on masin töös ning mis kraadide juures tuleks pesu pesta. Villane pesu 1 tund alla 30˚ juures, õrn pesu 1,5 tundi 40˚ juures ning tavaline pesu 1,5 tundi 40˚ - 80˚ juures. Andmeid võib ka muuta või ise režiime juurde mõelda (loputuskorrad, tsentrifuugimine/väänamine).
Materjali koostasid Airika Veinjärv ja Merili Raudmäe. Kohendatud kursuse korraldajate poolt.
< eelmine | 2. OSA sisukord | järgmine > |