Mõtteid ja nägemusi diplomitöödest IT Kolledžis. Jutt rohkem arenduse õppekavale.
Andres Käver
Skype: akaver akaver_at_akaver.com
Updated - 2024-09-10
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 ettevõtte vajadus. Seda siis tuleb
ka korralikult analüüsida/sõnastada/lahendada.
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 valmisel
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 kolme gruppi
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ügavaus.
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 einevates 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 kirjuta kavand - laiendatud kokkuvõte.
Olulised küsimused, mida jälgida: