.st0{fill:#FFFFFF;}

IT õppimine – 2. semester 

 May 21, 2021

By  Marko Rillo

Pool aastat tagasi kirjutasin oma esimese semestri kogemusest Tallinna Tehnikaülikooli IT Kolledži bakaõppe IT süsteemide arenduse tudengina. Eile sai viimane aine sooritatud, mistõttu hetk on küps järjekordseks peegelduseks.


Kokkuvõte: teisel semestril oli õppimine olukorrast tulenevalt üksildasem:

  • Üksilduse tunnet süvendas täies ulatuses distantsõppele minek. Seoses COVID-19 sulgemistega õnnestus mul selle poolaasta vältel IT Kolledži õppehoones täpselt ühel korral – arvutivõrkude aluse aine seminaris, kus vedasime füüsilisi kaableid ruuterite ja lülitite vahel.

… aga samas ka toetavam:

  • Õppetööd toetas poolt mõne tubli õppejõu valmisolek olla tudengite jaoks koroonast hoolimata konsultatsioonide ajal kord nädalas individuaalselt kas auditooriumis ja Teamsis olemas.
  • Selle semestri ainetes oli rohkem rühmatöid. Kui eelmisel semestril tõdesin, et enamikes ainetes nõuti individuaalset panust, siis nüüd sain teha valiku selliselt, et viiest valitud ainest kolmes toimus vähemalt osaline tiimitöö.
  • Toetas ka ka õppurite aktiivsem koostöö loodud Discord serverites, kus enamikke kodutöid ühiselt arutati ja jagati üksteisega nii õpinguid kui igapäevaelu.

Distantsõpe ja kontaktõpe?

Alustaks naljaga päriselust, mis ilmselt iseloomustab suurt osa pandeemia-aegset haridusuuendust, mis seisneb alltoodud valemis:

Distantsõpe = õppejõud teeb loengu videosalvestuse tudengitele kättesaadavaks.

Kontaktõpe = tudengid õppejõudu video vahendusel vaatamas kui too loengu videosalvestust teeb.

Pandeemia tuli ootamatult. Mõni õppejõud ja tudeng sai hakkama paremini. Mõni teine mitte. Omavahelistes vestlustes kaastudengitega jõudsime järeldusele, et arenguruumi on tegelikult mõlemal poolel.

Viimane semester näitas, et kuidas kõik õpingud muutusid väga sarnaseks suvalise MOOC-iga, mistõttu meie koolid võiksid väga tõsiselt peeglisse vaadata ja mõelda, et mida tuleks teha teistmoodi, et kuidagi Ivy League’i tasuta EdX-st, Courserast, tasulistest Udemy‘st , Udacity‘st või kasvõi üle lahe valmis tehtud Helsinki Ülikooli MOOCidest eristuda.

IT õppimises on tehniliste oskuste omandamist võimalik automatiseerida. Tuleb öelda, et milliste sisend- ja väljundparameetritega rakendus tuleb koostada ning seejärel lasta õpilase loodud rakendust automaattestril hinnata. Aasta tagasi osalesin Harvardi Introductory Computer Science CS50 kursusel. See on lihtsalt niivõrd hästi üles ehitatud ja nii vägeva energiaga tehtud, et väga keeruline on sellest veel paremat standardiseeritud asja teha.

Samuti on Udemy’sse lisatud õpiampsud väga heal tasemel. Päris algajale tehakse 19.99 EUR maksva kursuse raames mingi eesrakenduse aspektid kuni professionaalse tasemeni selgeks. Ole ainult järjekindel ja süvene.

Ehk teisisõnu – asukoha-lukust lahti saanud globaalsel haridusmaastikul ei piisa enam eelsalvestatud loenguvideost, mis on samasugune igav slaidide ette lugemine nagu varasemalt auditooriumis. See ei ole isegi hügieenifaktor. Tarvis on uut lähtekohta. Vahva oleks ühiselt töötada nüüd uue raamistiku väljamõtlemise juures, et jõuda millegi paremani.

Niisiis – praegu tuleks ennekõike mõelda, et kui me standardiseeritud teemades võistelda ei suuda, siis õppejõudude põhiline fookus peaks olema püüda olla “personaaltreenerid”, kes üritavad parimal võimalikul moel olla tudengitele vestluspartneriteks, väljakutsete esitajad, keerulisemate teemade mõtestajad ja kaasamõtlejad. Tuleks tagasi tulla vestlusformaadi juurde, kus hariduses osalejad pole mitte passiivsed info tarbijad, vaid selle loojad.

Seejuures pole aga mõeldav, et üks õppejõud suudab samasuguse intensiivsusega vestelda 200 õppuriga. Ehk järjest olulisem tundub olevat kas rühmade väiksemaks muutmine või õppuritele kordades suurema autonoomia andmine, et ise enda haridusteed kujundada ja anda neile võimalust üksteiselt õppida.

Ehk kordan uuesti üle seda, millest juba eelmise semestri lõpus rantisin – progemise õpetamisel tuleks plagiaadikontroll unustada ja suunata õppurid tegutsema pigem nii, et neil oleks aktiivne huvi üksteisega koostööd teha ja infot jagada, et toimuks rohkem omavahelist “risttolmlemist” ja üksteise toetamist. Seda tuge on pandeemia-ajal kordades rohkem tarvis kui muidu.

Ehk teisisõnu – Jõhvi Koodikooli-sarnased algatused kõlavad üha enam lubavalt. Point on üldiselt raamist välja mõtlemisel.

Aga … stop the rant … tulen nüüd siis oma aruandeni – kuidas teine semester IT Kolledžis läks?

Semestri ainete valik

Taltechi puhul kiidan programmi valmidust noppida aineid tudengile endale sobival ajal ja sobivast kohast. Kui esimesel semestril otsustasin võtta 2 ainet soovituslikust õppekavast ja 4 lisasin teistelt kursustelt, siis jätkasin sama liini õppeaineid pooleks võtta ka teisel semestril. Esmakursuse ainetest said kirja:

  • IT sotsiaalsed, professionaalsed ja eetilised aspektid (ICY0004) – Kaido Kikkas – 6EAP
  • Java (ICD0019) – Märt Kalmo – 6EAP ja
  • Arvutivõrkude alused (ICA0013) – Mohammad Meeran, Neeme Kalda ja Baseer Baheer – 6EAP

Ülejäänud ained vastavalt 2. ja 3. kursuselt:

  • Tarkvaratehnika (ICD0010) – Paul Leis ja Kristi Paakspuu – 6EAP
  • Tarkvara testimise alused (ICD0012) – Maili Markvardt ja Raido Martinson – 6EAP

Nagu ka eelmisel korral, üritan mõnevõrra avada ainete sisu.

IT sotsiaalsed, professionaalsed ja eetilised aspektid

Lisaks kõige pikemale nimetusele (lühendatud kujul: ITSPEA) hõlmab see oma sisult kõige laiemat skoopi teemasid – alates ajaloost, häkkeri-kultuurist, infoturbest, juriidikast, ärist kuni interaktsioonidisainini välja. Tegemist oli juba enne distantsõppele minekut täielikult online’is toimuva ainega, mis eeldas suurel hulgal iseseisvat tööd. Kogu õppeaines ette antud materjalide komplekt on avatud põhimõttel vabalt leitav IT Kolledži wikist.

Kui valdav osa IT Kolledži õppeaineid on käsitööoskuste omandamisele suunatud, siis ITSPEA oli suunatud mõtisklusele, reflektsioonile ja suhtlusele. Õppejõud Kaido Kikkas oli välja pakkunud üpris erinevaid viise oma oskuste lihvimiseks – artiklite, referaatide, rühmatööde koostamine, ettekannete tegemine jms. Ennekõike oli ülesandeks oma mõtlemis- ja arutlusvõime regulaarne demonstreerimine.

Selleks avanes võimalus kogu semestri vältel iganädalaselt kirjutada mingil ette antud teemal blogipostitusi. Niisiis lõin oma kodulehele eraldi sektsiooni ITSPEA, kust neid mõtteavaldusi võib leida. Lisaks sai osaleda veebipõhises foorumis toimuvas tudengite omavahelises temaatilises arutelus.

ITSPEA sektsioon minu blogis

Õppeaines alustas 79 tudengit ja päris märkimisväärne oli see, et õppejõud suutis iga nädala lõpuks nende poolt toodetud tekstilise materjali blogidest läbi töötada ja anda enamikele ka isiklikku tagasisidet. Positiivne oli see, et ta tegeles ka avaliku kiitmisega – kõik need, kelle mõtteavaldused olid tähelepanu väärt, said tema poolt viidetega ja kommentaaridega esile tõstetud. See tekitas mõnusa tagasiside ringi, kus aines osalejatel kinnistus soov aktiivselt panustada isegi siis kui distantsõppe väsimus hakkas laialdasemalt võimust võtma.

Aine osas ei oska miskit soovitada. Kõik viis pluss!

Java

Tegemist oli Märt Kalmo poolt antava õppeainega, kus nii nagu pealkiri selgitab – tuli hakata õppima programmeerimist Java keele abil. Lühikokkuvõte – see aine jäi mul sedapuhku lõpetamata. Võtan uuesti järgmisel semestril. 🙂

Alguses saime tudengitena tasuta IDE IntelliJ IDEA ja juhisena ette iganädalased distantsõppe seminarid, milleks õppejõud koostas meile sissejuhatava video, kus ta kirjeldas mingit ette antud kontseptsiooni (andmetüübid, kontrollstruktuurid, üksuste testimine, Git, OOP, erindid, pärimine, kollektsioonid, funktsionaalne progemine, sorteerimine, silumine, enum, polümorfism, mitmelõimeline programmeerimine ja väliste Java teekide kasutamine).

Seejärel tuli teha mingid konkreetsed harjutused, mida võis põrgatada vastu ette antud automaatteste, mis kõige olulisemad vead koodist üles leidsid. Lõpuks tuli kood Bitbucketisse lisada, et ka õppejõudu veenda, et sa asjaga hakkama said. Enamik õppeaines kirjeldatud juhendvideosid on Märt Kalmo avalikul YouTube kanalil kõigile vaatamiseks väljas: https://www.youtube.com/user/mkalmo100/videos – Java loengud on seal tähistatud koodiga ICD0019 ja Java Spring Boot veebirakenduste loengud vastavalt ICD0011-ga

Java aine põhisisuks sai õppida ilusa koodi kirjutamist ja programmeerimise mõtlemisoskuse omandamist. Kui esimesel semestril programmeerimise algkursuse raames oli peamine tähelepanu Pythoni süntaksi omandamisel ja tulemuseks oli üpris keeruliste konstruktsioonide meisterdamine, mida oli samas keeruline mõista. Kui vaatan enda “meistriteoseid”, siis võib mõnel juhul pilt päris segaseks minna.

Java õppeaine keskendus üldistuste, pärimise, kordamise põhimõtete juurutamise abil sellise koodi loomisele, mis oleks niivõrd intuitiivselt mõistetav, et igaüks võiks koodijupi suvalises kohas lahti võtta ja lugeda seda nagu raamatuteksti. Ehk olulisematest põhimõtetest:

  • Kuidas sõnastada oma muutujate nimetused sellisel moel, et igaüks mõistaks nende sisu;
  • Kuidas luua funktsioone selliselt, et nad täidaksid selgelt ette antud ülesandeid ega teeks midagi kaheti mõistetavat;
  • Kuidas eemaldada oma koodist spagettide-laadseid sektsioone jne.

Paraku läks minuga nii, et selle õppeaine kolmandal nädalal olin käpuli. Õpikõver sööstis vertikaalis minu lähima arengu tsoonist läbi sellistesse kõrgustesse, millega ma ei suutnud hakkama saada. Niisiis hingasin sisse-välja ja hakkasin endale ise Javat õpetama sellise tempo ja sisuga, mis mulle sobis. Point ennekõike selles, et saada võimalikult kiirelt selgeks kogu see ballast, mis Java OOP süntaksiga kaasas käib:

public class main {
    public static void main(String[] args) {
        System.out.println("Whatever");
    }
}

Kust Java kohta sissejuhatust saada?

Niisiis leidsin mõningaid lihtsaid viise Java baasteadmiste omandamiseks:

  • Tasuta Java MOOC. Kõige paremaks vahendiks oli Robert Laursoo soovitatud Helsingi Ülikooli JAVA sissejuhatav kursus, kus kasutusel on mõnevõrra kehvema UI-ga IDE NetBeans ja kus liigutakse rohkem samm-sammult, mille käigus saab erinevad teemad lihtsamini selgeks. Seda kursust ma igal juhul soovitan. Saadaval nii soome kui inglise keeles: https://java-programming.mooc.fi/
  • Codingbat.com Stanfordi professor Nick Parlante on püsti pannud CodingBat nimelise keskkonna: https://codingbat.com/java – tegemist on vahva vahendiga, kus ta on loonud mitusada lihtsalt algoritmilist ülesannet, mida on võimalik Java ja Pythoni koodi abil lahendada. Põhiline kasu selle keskkonna kasutamisest oli programmeerimiskeele süntaksi lihasmälu treenimise võimalus. Kui kümnendat korda järjest mingi ülesande jaoks tsüklit püsti panna, siis ühel hetkel hakkab see tulema automaatselt.
  • Sololearn.com mobiilirakendus. Kombineeritud lühike selgitus, ülesanded, testid, koodi kirjutamise liivakast ja foorum, kus on võimalik õppida üpris laia valikuid erinevaid programmeerimiskeeli. Samuti töötas süntaksi harjutamise töövahendina. Pisut ebamugavam kui Codingbat, aga päris hea vahend harjutamiseks ja mõtlemiseks.
  • ProgrammingHub mobiilirakendus. Kuigi visuaalselt oli see eeltoodutest kenam – videotesse on üritatud igat liiki visuaaliat lisada, siis kasutajakogemust häiris regulaarne kokku jooksmine ja suhteliselt vähene aktiivne panus – ise eriti koodi kirjutada ei saa, pigem klõpsida olemasolevaid koodijuppe läbi ja vastata valikvastustega testides küsimustele. Mõned üksikud teemad on küll ülevaatlikult lahti selgitatud, aga oskuste harjutamisel sellest erilist kasu pole.

Nimetatud lisaks astutud sammude tulemusena olen nüüd semestri lõpufaasiks taas jõudnud selleni, et olen valmis taas poole pealt edasi liikuma ja aine uuel aastal uuesti võtma. Niisiis soovitus kõigile teistele pikaldastele tegelastele, kelle õpikõverad on pisut lamedamad – enne selle kursusega alustamist on kindlasti hea teha paar kuud eeltööd, et Java põhialused ise selgeks saada. Vastupidisel juhul ei ulatu lihtsalt jalad põhja. 🙂

Arvutivõrkude alused

Tegemist on praktilist laadi kohustusliku ainega, mille käigus õpitakse võrgukaableid vedama ja võrguseadmeid häälestama.

Aine puhul oli väga mõnus kolme õppejõu poolne aktiivne tugi tudengitele. Kõik nad olid sümpaatsed ja abivalmid seminaride käigus selgitama ja uusi teemasid avama isegi nendel puhkudel kui tudengil oli endal veel segadus. Arvestades ainesse deklareerinute arvuga – kokku 199 tudengit, suutsid nad sellegipoolest panustada üle nädala vähemalt veerand tundi üks-ühele aega iga tudengiga, et arutada läbi tehtud individuaalse töö tulemused ja panna nad mõtlema ka laiemalt. Seega – õppejõudude tugi oli absoluutselt viis pluss.

Sellega kaasnes semestri suurim koroonast tingitud virrvarr. 🙂

Kursuse alguses oli nõuetes kirjas, et seminarides osalemine peaks toimuma füüsiliselt koha peal, et kõik tudengid omandaksid reaalse elu kogemuse kaablite ühendamisest, ning füüsiliste ruuterite ja lülitite seadmistamisest. Selleks on Kolledžis sisse seatud ülemise korrusel kaableid täis töötuba, milleks Cisco on investeerinud nii vahendite kui ka teadmistega.

Lisan siia Cisco labist ühe vananenud foto

Koos semestri alguse piirangutega liikusid seminarid virtuaalsesse keskkonda. Nädal hiljem kutsuti tudengid siiski maskidega seminariruumi kohale. Mitmed said sõnumi nii hilja kätte, et ei jõudnudki esimesel kohal kohale (sh allakirjutanu). Kolmas seminar toimus samuti füüsiliselt koha peal. Seejärel taas virtuaalsesse ruumi. Mis seal ikka – muutunud olukorras oli segadus mõistetav.

Minu jaoks oli frustreeriv selle õppeaine sisu. Kursuse käigus keskenduti sisuliselt ainult ühe konkreetse võrgutootja seadmetega tuttavaks saamisele. Hmm – Cisco võib olla küll enterprise networking segmendis turuliider, aga teisi lahenduste pakkujaid on küllaga. Halloo – miks just nemad?

Niisiis tuli kuulata loenguid, osaleda virtuaalsetes laborites Cisco poolt kokku pandud piiratud ligipääsuga Netacad keskkonnas ja püüda saavutada valikvastustega testides piisav arv punkte, et edasi liikuda. Intellektuaalselt huvitav oli teada saada, et mil viisil IPv4 ja IPv6 notatsioonis on võimalik võrke jagada alamvõrkudeks ja piiritleda nendevahelisi turvanõudeid. Samuti, et kaabli pikkuse kasvades saab ühel hetkel müra signaalist jagu. Aga see oli paraku kogu kasutegur.

Ivan Pavlov and his staff demonstrating condition reflex phenomenon with a dog.

Seminarides tuli kogu semestrit läbinud järjestikustel nädalatel teha üheplaanilisi liigutusi, mis meenutas pigem “Pavlovi Koera” treenimist:

  • Loo virtuaalne võrk Packet Traceri abil
  • Tekita PCd, tekita ruuter, tekita switch, ühenda kõik eeltoodid omavahel virtuaalsete võrgukaablitega
  • Sisene käsitsi konfiguratsioonirežiimi, konfigureeri ruuterit, switchi ja PC-d
  • Proovi PING-käsu abil, et kas kõik võrgu elemendid töötavad
  • Oota nädal aega ja korda järgmises seminaris kõike eeltoodut uuesti. 🙂

Puändiks selgus viimasel kolmandikul, et mitmeid hoste saab täna konfigureerida tegelikult SLAAC abiga automaatselt või saavad DHCP serveri abil IP aadressid vaikimisi jagatud. Niisiis – kogu kursusetäiel Pavlovi Koeral on nüüd lihasmällu harjutatud oskus, millega pole praktikas ilmtingimata miskit olulist peale hakata.

Kokkuvõte. Iseenesest õppejõudude poolt hästi toetatud aine, aga kasutegur on küsitav. Viimati vedasin ma kaableid kahe arvuti vahel 1990ndate alguses Doomi mängimiseks. Vaevalt, et seda edaspidi vaja läheb. Samas – antud aine on praegu IT Kolledžis kohustuslik. Samuti on see õppekavas praktikale pääsemise eelduseks. Minu soovitus – kohandada õppeaine sisu ajakohaseks, siduda end lahti Cisco vendor lockist ning vaadata ka teisi tehnoloogilisi alternatiive. Lõppkokkuvõttes – mõistlik oleks see aine muuta tulevaste progejate jaoks vabaaineks.

Tarkvaratehnika

Tegemist on kohustusliku õppeainega, mille käigus õpitakse tundma tarkvaraarenduses kasutatavaid metoodikaid ja harjutatakse mõningaid neid rühmatöö käigus ka praktikas. Õppejõude oli aines kaks – Paul Leis ja Kristi Paakspuu. Mõlemad sümpaatsed ja osavõtlikud, kes mõtlesid tudengitele aktiivselt kaasa.

Õppeaine alguses anti õppuritele kätte rühmatööde tegemiseks Exceli faili vormid, kuhu tuli kirjelda omavahelises rühmatöös sündiv arendusprojekt. Selle arendusprojekti juures tuli lahti kirjeldada protsessi etapid, olulisemad arenduselemendid (Epicud), seejärel konkreetsemad arendusülesanded ja lõpuks testijatele ette antavad testimisülesanded.

Väljavõte rühmaülesandest – mobiilirakenduse äriprotsessi kirjeldus

Boonuspunktid ainele selle eest, et õppejõud panid tudengid kohe algusest peale tiimitööd tegema. Meil tuli kokku üpris vahva punt, kellega sai kogeda esmakordselt üsna omapärast koostöö vormi. Nimelt toimusid meil kohtumised Discord keskkonna kaudu, kus tegime ühisel osalemisel audiokõne ja seejärel siirdusime koostöiselt kas Google Drive’i või Lucidcharti, kus ühiselt vastavalt täitsime ette antud materjali või joonestasime diagramme.

Peale rühmatööde valmimist avanes võimalus nii enda tarkvaratehnilist meistriteost teistele rühmadele esitada, saada neilt kommentaare ja kaasamõtlemist.

Aine rühmatöö lõppes kosemudeli viimase sammuga – kui nõuded ja testid olid kirjeldatud. Praktilist arendustööd me harjutada ei saanud.

Tore, et ainesse kutsutud oli praktikutest külalisesinejaid. Tore, et õppejõud olid olemas vajadusel rühmatöödele kommentaare jagamas. Hea, et sai kätte erinevate arendusmetoodikate põhialused ja tarkvaraarenduses toimimise olulisemad rollid.

Arenguvõimalusi oleks ka. Õppeaines oli aeg-ajalt kuulda klišeesid (vt alltoodud fotot) ja üksjagu oli väga lihtsate teemade kordi üle kordamist. Aga võib-olla olen lihtsalt ebaõiglane nende kaasõppurite suhtes, kelle jaoks teema oli uus ja seetõttu tuli põhialustes aeglaselt liikuda.

Teine arendusvõimalus selles aines oleks õpiväljundite kohta. Õppeaines lõpuks oli oluline saada “teada” või “mõista” koske, agiilset, scrumi, kanbani jms. Niisiis – enamikke neid teemasid õppisime loengute vormis või külalisesinejaid kuulates. Need olid kindlasti huvitavad, aga oleks saanud vast teisiti.

Näiteks Tallinna Ülikoolis on Inga Petuhhov tarkvaratehnika õppeaine lõpuakordiks kokku kutsunud juba IT esimese kursuse tudengid tegema tarkvaraarenduse praktikat – jagunema arendustiimidesse ja valmis meisterdama ette antud kliendi nõuetele vastamiseks konkreetsed lihtsad rakendused. Samuti on Tartus Dietmar Pfahl & co oma tarkvaratehnika kursuse üles ehitanud kaubanduse jaoks nõutud süsteemi arendusprojektidena. Töö taas tiimides, kus harjutatakse asjade üheskoos tegemist. Kui aines osalejatele on antud konkreetne arendusülesanne ja neil on kohustus imiteerida semestri vältel oma gruppides arendustiimi tööd. Lõpuks teevad nad esitlused ja õpiväljundina mõõdetakse nii nende tulemuse saavutamist kui ka protsessi – see annab neile lõpuks palju sügavama mõistmise tarkvaratehnika nõuetest ja olemusest. Äkki on mingi analoogne lähenemine väärt kaalumist ta Taltechis?

Pisut pani kukalt kratsima ka selle õppeaine lõpuakord, milleks oli 15-minutiks avanenud 14 küsimusega valikvastustega test, mida võis teha avatud arvuti ja avatud märkmetega. Ma ei ole kuigi kindel, et kas ajasurve all sooritatud nobedate näppude harjutus, kus tuli demonstreerida oma faktiteadmisi ka tegelikult näitab kellegi võimet tarkvaraarenduse tiimis hakkama saada. Ilmselt oleks siiski otstarbekam hinnata scrummimise oskusi kui üritada meenutada, et mis see Scrumi raamistiku kolmas element nüüd päriselt oligi.

Tarkvaratehnika lõputest
Tarkvaratehnika lõputest

Igal juhul kokkuvõtlikult võib öelda, et aine praktiliste harjutustega võis väga rahule jääda. Neid oleks võinud lihtsalt veelgi rohkem olla – mitte ainult kosemudeli vaid ka agiilse mudeli praktikas katsetamiseks. 🙂

Tarkvara testimine

Õppeaine, mille käigus oli võimalik õppida tarkvara testimise strateegia koostamist, riskianalüüsi korraldamist, käsitsi testimise metoodikaid ja automaattestide haldamist. Selle käigus õppisime võrgusüsteemide testimist, mobiilirakenduste testimist, kasutavuse testimist, turvatestimist ja jõudlustestimist.

Õppejõude oli aines kaks – Maili Markvardt alustas ja sisustas esimese poolsemestri. Raido Martinson lõpetas teise poolsemestri. Maili keskendus ennekõike testija töö tutvustamisele, rääkides meile palju enda kogemustest ja andis meile iga kohtumise kokkuvõtteks mingi praktilise tööriista, mille abil saime oma rühmatöödes kohe mingit reaalset asja katsetada.

Semestri esimene pool olid kõik ülesanded läbi viidud rühmatöödena. Meil õnnestus kokku saada mõnus kamp, kellega koos oli asju lust teha. Regulaarsed kohtumised tiimiga toimusid alguses Discordi ja seejärel Teamsi vahendusel ja katsetasime erinevaid testimisprotokolle mõnuga. Võtsime ühistööna ette MS Teams kui ühe laialdaselt kasutatud platvormi ja testisime selle piire, kasutatavust, erinevaid rakendusi mobiilis, veebis ja mujal. Igast testiloost koostasime dokumentatsiooni ja raporteerisime teistele osalejatele.

Raido kirjeldas pigem testimise põhimõtteid ja pani meid tööle rohkem individuaalselt ja rohkem testijate kui häkkeritena – andes meile kätte tööriistad, kuidas XAMPP abiga oleks võimalik modelleerida turvaründeid enda süsteemide vastu.

Siinsel pildil on näha kuidas neljarealise skriptiga tehtud ründega saab XAMPP abiga keerata turvamata blogileheküljel kogu pildi pea peale

Järgmine ülesanne oli testida juurdepääsetavust – WCAG 2.0 põhimõtete alusel. Selle kohta kirjutasin ka ITSPEA ainesse mõnevõrra põhjalikuma juurdepääsetavust käsitleva blogipostituse – näidates, et kuidas isegi Google’i otsingu avaleht võiks olla paremini tehtud.

Seejärel harjutasime aines koormustestide loomist – ehk sisuliselt kontrollitud DDoS rünnakute katsetamist, mille abil enda süsteemide toimepidevust monitoorida. Selle jaoks oli meil tööriistaks Apache JMeter. Süsteem andis võimaluse õppida veebis automaattestide läbiviimist – vali veebileht, kirjuta testiks vajalikud ülesanded ükshaaval üles ja seejärel klõpsa “Run” ning vaata, et kuidas veebileht toime tuleb.

Koormustestimine Apache JMeter abiga – automaattestide kirjeldus vasakul

Lõpuks koostasime igaüks veel mingis konkreetses testimist puudutavas teemas detailsema referaadi ja kommenteerisime kahe kaastudengi mõttemõlgutusi. See andis võimaluse ja juhised testimise praktiliseks korraldamiseks.

Pisut koomilisi intsidente oli samuti. Seoses distantsõppega lappasid Raidol mõned kellaajad üle ja oli aeg-ajalt segadusi sellega, et kellele tudengitest ta millal mingit tagasisidet annab – et mis materjalid tuli lisada Moodle’isse, mis tuli saata talle e-kirja teel ja millist tagasisidet siis keegi peaks kuhugi edastama. Lõpuks kui õppuritena omavahel suhtlesime, siis selgus, et kellelgi olid õppeaines tulemused sisse kantud enne kui ta kodutööd üldse esitatudki sai. 🙂

Aga nendest korralduslikest apsudest hoolimata võib lõppkokkuvõttes siiski öelda, et oma laadilt oli testimise aine mõnusalt käed-küljes, kus omandasime just metoodika osas uusi käsitöölisi oskuseid, et kuidas tarkvara kvaliteeti parimal võimalikul moel tagada.

Kokkuvõtlikult leian, et see õppeaine oli semestri kõige kasulikum ja andis lõpuks kõige parema emotsiooni.

Tehtud!

Teise semestri ülevaateks

Lisaks ülaltoodud ainetele otsustasin sel semestril esitada ka VÕTA-taotluse, mõningad varasemates õppekavades kaetud praegusest stuudiumist välja õgvendada. Sain üle kanda:

  • Tõenäosusteooria ja matemaatiline statistika;
  • Ettevõtluse alused ja ärialase suhtlemine;
  • Majandusõpetus.

Niisiis – esimene kolmandik läbi. Ainepunktide saak praeguseks 74 EAPd. 106 EAP-d veel stuudiumi lõpuni.

Kuidas edasi?

Järgmisel semestril on mul kavas oma õpingutega keskenduda juba tarkvaraarenduses väga konkreetse oskuste omandamisele, mille abil on võimalik juba suuremate süsteemide valmis ehitamine nii võrgus kui mobiilis. Järgmiseks on tulemas:

  • C#-keeles programmeerimine
  • Mobiilirakenduste arendamine
  • Java Spring Boot veebirakendused

Ja lisaks neile on tulemas ka kursusi, mis õpetavad mõtlemist ja suure pildi nägemist:

  • Algoritmid ja andmestruktuurid
  • Diskreetne matemaatika

Autorist ...

Marko Rillo on juhtimiskonsultant, koolitaja ja executive coach. Temaga saab ühendust siit

Blogipostitused:

Leave a Reply:

Your email address will not be published. Required fields are marked

This site uses Akismet to reduce spam. Learn how your comment data is processed.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}