Mõtteid ja nägemusi diplomitöödest TalTech IT Kolledžis. Jutt rohkem arenduse õppekavale.
                Andres Käver
            
Updated - 2025-01-29
Minu täiesti isiklik (ja netist siit-sealt kokku laenatud) nägemus, heietus, kriitika ja nõuanded diplomitöödest IT Kolledžis. Kuna olen valdavalt seotud arenduse õppega, siis minu kirjutis on kantud kõigest sellest, mida olen arenduse üliõpilasena ja seejärel õppejõuna, diplomitööde komisjoniliikmena, juhendajana ning retsensendina kogenud.
Kõigepealt, diplomitöö väljundiks on diplomitöö. Mitte selle käigus valminud rakendus või lahendus. See teos, mis jõuab komisjoni ja retsensendi lauale. Sageli kiputakse seda ära unustama ja kogu aeg ning energia suunatakse nn. päris asjale. Arendaja tahaks hirmsasti arendada, mitte pabereid kokku kirjutada. Komisjoni aga enamuses diplomitöö käigus tehtud arendus ja selle valmimine ise suurt ei köida, võibolla hindaks suhtena selline 20% projekt vs 80% paberile kirja pandu ja selle kaitsmine.
Mida diplomitöö peaks näitama?
                    Töö ja selle kaitsmine peavad tõestama, et sa oled omal õppekaval saanud spetsialistiks. Ja
                    selliseks spetsialistiks, keda tahaks üle võtta iga firma ja panna tegema XYZ eurose eelarvega
                    projekti. Ja et sa teed/juhid projekti selliselt, et tulemus saab parem/odavam/kiiremini valmis, kui
                    alguses arvata võis. Mida see tähendab diplomitöö mõistes? Sa püstitad probleemi, analüüsid seda
                    põhjalikult, analüüsi käigus valid/töötad välja parimad lahendusvariandid ja tööristad, teed mõne
                    parema variandiga valmis prototüübid, võrdled ja analüüsid tulemusi, otsustad, milline on antud
                    hetkel parim võimalik variant, teostad parima valikuga lõpplahenduse. Ükski otsus ega valik ei tohi
                    olla töös põhjendamata. Mingi kogus valikuid õnnestub ära teha teema püstituse või keskkonna
                    piirangutega - kuna firmas kasutatakse või klient nõuab asja X kasutamist, siis nii on. See tuleb ka
                    selgelt välja tuua. Aga selline põhjendamine ei saa olla valdav. Valikute põhjendamine - siin peab
                    olema metoodika, valem vmt. Tabel kaalude ja punktidega vmt. 
                    Näiteks: ei piisa üksnes kirjeldamisest, et olemas on keeled A, B ja C. Ja ma valin B, sest mulle
                    tundub nii. Ei, tuleb võrrelda, mis on erinevate keelte tugevused ja nõrkused, kuidas need sobiksid
                    antud ülesande lahendamiseks. Mõelda välja mingi metoodika, mis soovitavalt matemaatiliselt näitaks,
                    milline on sobivaim variant. Ka selle, et ma oskan ühte keelt/raamistiku paremini kui teist, saab
                    sõnastada sobivalt: 
| A | B | C | |
| Töötunnid lahendamaks probleemi | 100 | 300 | 150 | 
| Töötunnid keele õppimiseks | 700 | 0 | 300 | 
| KOKKU | 800 | 300 | 450 | 
Seega, põhirõhk on analüüsil ja põhjendatud järeldustel.
Diplomitöö teema valik ja sõnastamine. 
                    Väga paljud üliõpilased teevad oma diplomitöö praktikal tehtu põhjal. Väga hea. Nii ongi ette
                    nähtud. Aga sageli on probleem töö fookuse seadmisega. Tüüpiline on selline olukord: tegin
                    praktikal/tööl mingi rakenduse. Nüüd kirjutan sellest diplomi. Seda ma nimetan “Mina ka!”
                    diplomitööks. Tulevad umbes sellised pealkirjad/teemad: Android rakenduse arendus liiklustestid.ee
                    näitel. Või: Erply majandustarkvara liidestus mooduli analüüs ja arendus Magento e-kaubanduse
                    platvormile. Ehk siis sellised tööd, kus kirjeldatakse ühe arenduse läbiviimist, tüüpiliselt veel
                    suhteliselt sirgjooneliselt. Ei mingit analüüsi, otsuseid teha asju ühte- või teistmoodi
                    langetatakse puusalt. Sageli on juhendajaks valitud ka veel keegi praktika kohast - inimene, kes
                    sageli oli ise selles rakenduse valmimise protsessis mingil juhtival kohal - vanemarendaja, osakonna
                    juhataja vmt. Aga - nüüd on eesmärgiks diplomitöö, mitte arendus. Ja sellise juhendaja oskus hoida
                    õigel sihil ühte akadeemilist tööd on sageli üsna nõrk.
Diplomitöö üheks eesmärgiks on ka taaskasutatavus - ja sellega kaasneb ka selgelt fokuseeritud teema. Liiklustestid.ee rakendust lahates selgus, et seal on huvi rohkem pakkuv probleem andmete ja piltide laadimine veebiteenusest - millist teeki kasutada, või siis hoopis ise kirjutada. Erinevate teekide omadused - turvalisus, vahemälu, multithreading, vigade haldus, jmt. Uueks teemaks sai: Android restful API suhtlusteegi valik ja rakendamine liiklustestide rakenduse näitel. Töö sisu muutus põhjalikuks teekide võrdluseks, testimiseks ja valikuks, koos selgete põhjendustega millal ja miks ühte või teist lahendust valida. Ja tekkis väga selge taaskasutusväärtus järgmise android rakenduse kirjutamise juures, kus vaja web api-t kasutada.
Diplomitöö sisuline ülesehitus: 
                    Sissejuhatus
                    Diplomitööd ümbritseva maailma kirjeldus ja töö paiknemine selles. Lahendatava probleemi
                    üldsõnaline püstitamine
                    Analüüs 
                    Detailne probleemi püstitamine, erinevate võimalike lahenduste, meetodite, vahendite
                    analüüs ja võrdlemine. 
                    Süntees 
                    Otsuste langetamine (metoodika!), parimate variantide põhjalik testimine-võrdlemine. 
                    Teostus
                    Probleemi lahendamine leitud lahendusega 
                    Järeldus 
                    Mis maailmas paremaks läks? Majanduslik mõõde oleks väga hea. Edasised tegevused. 
                    Kokkuvõte 
                    Lühike teemade uuesti läbikäimine, mineviku vormis.
                    Teostuses, järelduses ja kokkuvõttes enam uusi sisendeid tekkida ei tohiks - ala kui töö tulemused
                    on praktikas negatiivsed, siis ei tohi teostuses valida mingeid uusi teid probleemi lahendamiseks.
                
                    “Mina ka!” diplomitöö
                    No kui ikka ei ole mingit sobivat teemat, siis saab hea (harvemini väga hea) töö kirjutada
                    ka lihtsalt ühe rakenduse tegemisest. Kuid siis tuleb näidata, et olete valmis arendaja kogu koolis
                    õpitu spektris - korralik ärianalüüs, rakenduse disain, ui/ux disain, vahendite valik,
                    arendusmeetodite valik, korralik teostus, turvalisus, min 90% valminud prototüüp või lahendus. Ja
                    ikkagi on põhirõhk analüüsil, kuid analüüsi on rohkem - mitme erineva teema suhtes (mitte süvitsi
                    ühe kitsama probleemi uurimine). Kõikvõimalikud olemidiagrammid, uml-id, jmt. Ning hea ja
                    enesekindel kaitsmine. 
Vaadake ka kindlasti hindamismaatriksit. Heade tööde juures seda väga ei kasutata. Kuid maatriksis on oluline nn null tulp - kui mingi vastav osa on tööst täiesti puudu, siis on hinne automaatselt null.
Juhendi kirjutamine ei ole diplomitöö! Vähemalt mitte arenduses.
Laias laastus võib teha järgmise tabeli, laenates arhitektuuri näiteid:
                
| teema/teostus | lihtne | nutikas | 
| kitsas | Algeline kuur. Ei sobi diplomitööks. | Äge kuur. Eeldab huvi, motivatsiooni, uurimist jmt. | 
| lai | Elumaja. Vajab projekti. | Katedraal, tark maja | 
Kaitsmine
                    Kõige olulisem on oma teemas/töös “sees” olemine. Tead ja tunned nii oma töös tehtut, kui ka selle
                    ümber olevat maailma põhjalikult. Kui ei tea mingit asja, ütle seda julgelt ja selgelt - ära hakka
                    värisema ja kogelema. Ära vaata pidevalt seinalt slaide ega arvutit - vajadusel heida korraks pilk
                    slaidi vahetusel ekraanile. Vaata komisjonile otsa. Slaididel on märksõnad-laused, sina räägid
                    oluliselt rohkem - mitte ei loe slaide ette.
Juhendaja ja teema leidmine
                    See on probleem. Eriti, kui kohe mitte midagi endal pähe ei löö teema osas. “Mina ka!” stiilis töid
                    ei taha eriti keegi juhendada - pole huvitav. Vähemalt külalisõppejõud (mina) isiklikult ei taha.
                    Eriti, kui tudengil endal silm ei sära ja soov on kuidagi diplomiga maha saada - no ei paku pinget
                    selline juhendamine. Tööd on niigi palju. Igal õppejõul on tavaliselt paar teemat olemas, mida võiks
                    teha - aga need on enamuses üsna keerulised/mahukad ja sihitult ekslevad tudengid ei saa nendega
                    hakkama.
Probleemid teostusel
                    
                    Hiline alustamine.
                    Lõputööd ei ole võimalik kokku panna nädala, paari nädala või kuuga. Hea töö eeldab pikemaajalist
                    ettevalmistust: õige teema valikut, probleemi ja eesmärgi piiritlemist, struktuuri liigendamist,
                    uuringu kavandamist, info otsimist ja allikate läbitöötamist, ajagraafiku koostamist,
                    vormistusnõuetega tutvumist jm. Enamasti ei ole esimene variant lõplik variant. Töö tuleb sisuliselt
                    mitu korda läbi kirjutada (ühel rohkem, teisel vähem), kindlasti läheb päris palju aega lihvimisele,
                    vormistuslike nõuete täitmisele. IT Kolledžis on diplomitöö aine maht üsna väike - see ongi ette
                    nähtud töö kirjutamiseks. Mitte reaalse projekti tegemiseks. Projekti tegemise aeg oli
                    ettevõttepraktikal.
                    
                    Omapäi kirjutamine.
                    Lõputööle on ette nähtud juhendaja. Üliõpilane peab olema regulaarses kontaktis juhendajaga, kellelt
                    saab nõuandeid, abi, juhiseid, näpunäiteid, soovitusi, ja seda nii sisu kui vormi osas. Seda
                    võimalust on mõttekas kasutada õigeaegselt ja maksimaalselt. Üliõpilasel tuleb olla aktiivne –
                    leppida juhendajaga kokku regulaarsed kohtumised, olla kontaktis silmast-silma,
                    e-posti/skype/telefoni teel, pakkuda töövariante lugemiseks (dropbox vmt), esitada küsimusi,
                    diskuteerida jne. NB! Juhendaja ei pea üliõpilast taga ajama, teda torkima ja tööle sundima.
                    Juhendajat tasub usaldada! Juhendajal on kogemused, tema tajub üldist ja tervikut, ehkki juhendatav
                    võib olla targem, informeeritum mingis üksikküsimuses. Mõneti on olulisem, et juhendajal oleks tugev
                    akadeemiline taust - diplomitöö ise on olulisem, kui diplomitööks oleva projekti valmimine.
                    Kõikvõimalikud ülemused/osakonnajuhatajad on sageli akadeemilise töö kirjutamiseks mitte kõige
                    sobivamad. 
                    Probleemi puudumine.
                    Mis on mureks, valupunktiks, raskuseks, küsimuseks, mille lahenduseks pole piisavalt teadmisi ja
                    teavet? Üliõpilasel tuleb oma tööga avastada, eristada ja lahendada aktuaalset probleemi. Iga
                    teadust iseloomustab probleemiseade, uurimisobjekt ja metoodika. Probleemist algab kõik, probleem
                    kujundab eesmärgi, ülesanded ja meetodid. “Mina ka” tüüpi töödes ei ole kitsamalt piiritletavat
                    õppekavaga seotud probleemi - seal on probleemiks mingi reaalne pärismaailma vajadus. Seda siis tuleb
                    ka korralikult analüüsida/sõnastada/lahendada/kontrollida.
 
                    Referaat või juhend diplomitööna.
                    Bakalaureusetöö ei ole referaat, kogum teiste autorite tsitaate, arvamusi ega nähtust kirjeldav
                    ülevaade. Lõputöö on loomult uurimuslik ja analüütiline kraaditöö, mis peab vastama teadustöö
                    nõuetele.
 
                    Tulemuse puudumine.
                    Tulemused on kõige olulisem osa lõputööst, sest eelkõige nende järgi hinnatakse, kas töö on
                    vajalikul tasemel. Seega peavad nad esiteks olemas olema ja teiseks olema selgelt esitatud ja töös
                    välja toodud. Tulemused peaksid olema piisavalt põhjendatud, sealhulgas graafilise materjali ja
                    arvulise analüüsiga.
                
 
                    Väljund
                    Oskab oma seisukohti korrektselt kirjalikult väljendada.
                    Oskab oma seisukohti ja valikuid veenvalt põhjendada, kasutades loogilist arutlust, katseid ja
                    mõõtmisi, viiteid autoriteetsetele allikatele vms.
 
                    Probleem
                    Igas töös peab kindlasti olema selgelt välja toodud, mis probleemi lahendatakse. Probleemi valimisel
                    peaks arvestama sellega, kas on võimalik üldse antud töö raames veenvalt väita, et probleem on
                    lahendatud. 
                    Peaks veenduma, et väga sarnast probleemi pole mõne teise tudengi poolt paari eelneva aasta jooksul
                    lahendatud. Kui on valitud sarnane probleem, siis peaks kindlasti tõestama, et probleemi lahendus on
                    varasemast parem. 
                    
                     Hea töö liigitub enamasti ühte neist kolmest variandist
 
                    
                    On leitud ja lahendatud uudne probleem või leitud teadaolevale probleemile uudne ja parem
                    lahendus. Sellise töö suureks väärtuseks on tudengi leidlikkus või teadmiste sügavus. 
                    
                    On lahendatud probleem, mis ei nõua uudset lahendust. Sellise töö puhul peab tudengi näitama, et
                    mõistab väga hästi, miks antud lahendus konkreetsel juhul õige on. Oskab vaadata lahendust
                    erinevatest vaatenurkadest. Sellise töö puhul peab tudeng näitama, et oskab erinevates ainetes õpitut
                    oma projekti kontekstis kasutada. 
                    
                    On uuritud mingit probleemi põhjalikumalt. Probleemi lahenduse leidmiseks on kasutatud erinevaid
                    kirjandusallikaid või katsetatud erinevaid tehnoloogiaid. 
                    
                    Kahel viimasel juhul peaks välja paistma, et tudeng on vaeva näinud ja aega panustanud, esimesel
                    juhul kompenseerib osaliselt särav idee. 
                    
                    Kõikidel juhtudele peaks olema näha tudengi enda panus. Töö ei tohiks põhineda nö õpikulahendustel.
                    Tudeng peaks suutma sünteesida lahenduse konkreetsest probleemist lähtuvalt ja veenma lugejat, et
                    lahendus pole juhuslikult valitud.
                
Kõigepealt mõtle hoolikalt läbi mida ja miks sa teed. Ja siis kirjuta kavand - laiendatud kokkuvõte. Ja alles siis võta õppejõuga ühendust ja uuri juhendamise võimalust.
                    Kavandi struktuur:
                
Olulised küsimused, mida jälgida: