Opinnäytetyö
TiteWiki
Ammattikorkeakoulussa opinnäytetyön tavoitteena on kehittää ja osoittaa opiskelijan valmiuksia soveltaa tietojaan ja taitojaan ammattiopintoihin liittyvässä käytännön asiantuntijatehtävässä. Työssä tehdään usein käytännön osuus eli ohjelmistotekniikkaa ajatellen jokin koodaustyö. Aina ei näin kuitenkaan ole. Opinnäytetyön tulokset kootaan yhteen opinnäytetyön kirjallisessa raportissa. Opinnäytetyön laajuus on 15 opintopistettä ja useimmiten se tehdään viimeisen eli neljännen opintovuoden aikana. Jos työ tehdään yritykseen, maksetaan siitä yleensä opiskelijalle stipendi.
Sisällysluettelo |
Aiheen etsiminen
Opinnäytetyön aihe yritetään pääsääntöisesti saada joltain yritykseltä, jolloin työn tekeminen tutustuttaa opiskelijaa työelämään ja aitoon asiakassuhteeseen ja toisaalta voi myös avata reittejä työpaikkaan heti valmistumisen jälkeen. Minun opiskeluaikanani Saimaan ammattikorkeakoululle vaikutti tulevan vähän väliä kyselyjä yrityksiltä opinnäytetyön tekijöistä. Lisäksi opettajat tiedustelevat joskus suoraan opinnäytetyön tarvetta tuntemiltaan yrityksiltä.
Tärkeä tekijä opinnäytetyön aiheen saamisessa yrityksiltä on tietenkin opiskelija itse. Aiempien opiskeluvuosien työharjoittelut voivat hyvinkin mahdollistaa sen, että opinnäytetyön voi tehdä samaan yritykseen. Parhaimmillaan yrityksessä voi myös jatkaa töissä valmistumisen jälkeen tai jo koulun aikana. Omalta luokaltani muutama henkilö pääsi oman alan (ohjelmistotekniikan) töihin jo koulun aikana, kuten itse Viope Solutionsille (ks. 3. ja 4. opintovuoden harjoittelu). Tällaiset opiskelijat tekivät myös opinnäytetyönsä samoihin yrityksiin.
Aina opinnäytetyön aiheen saaminen yrityksiltä ei kuitenkaan onnistu. Onneksi koululla on tällöin tarjota varavaihtoehtona sen omia aiheita, toisin sanoen jotain sellaisia töitä, joiden tuloksia voidaan hyödyntää esimerkiksi omassa koulutusohjelmassa tai yleisesti koulun organisaation käytössä. Tällaisia aiheita keksivät pääasiassa oman koulutusohjelman opettajat, mutta silloin tällöin aiheita tulee myös esimerkiksi opintotoimiston henkilökunnalta.
Esimerkkinä koulun omasta aiheesta voidaan mainita seuraava: Opiskelija tekee tutkimustyötä jostain ohjelmistoalan osa-alueesta mm. tutkien olemassa olevaa materiaalia aiheesta ja kokeilemalla itse työkaluja. Tutkimustyöstä syntyy opinnäytetyö eli käytännössä sen raportti. Raporttiin siis kerätään parhaat palat asiasta, saaden aikaiseksi tiivis tietopaketti. Tutkimustyön tuloksena opiskelija kirjoittaa myös kurssimateriaalin aiheesta (esim. esityskalvoja), jolloin kurssi otetaan opetusohjelmaan tulevaisuudessa. Tämä helpottaa myös opettajien työtä, sillä kurssimateriaalin valmistelussa menee paljon aikaa.
Työvaiheet
Opinnäytetyön tekeminen suositellaan aloitettavan viimeisen opintovuoden alussa, eli syyskuussa. Loppuvuosi voidaan hyvinkin käyttää suunnitteluvaiheiden merkeissä ja seuraavan vuoden alussa aloitetaan käytännön työ. Opinnäytetyön raportin kirjoittaminen on syytä aloittaa ajoissa ja sen (kuten muutenkin koko työn) olisi hyvä olla valmis suunnilleen huhtikuun puolivälin paikkeilla.
Koulu tarjosi opinnäytetyön tekemiseen hyvän, ohjeistavan aikataulun kaikkine työvaiheineen. Seuraavassa on esitetty sen pääkohdat. Täytyy kuitenkin muistaa, että tämä on tietotekniikan alaan sovitettu käytäntö. Rivien alussa on mainittu kuukaudet.
- 09 - 10: aiheen etsiminen ja sen ehdottaminen opinnäytetyöksi, esitutkimus, opinnäytetyön lupa-anomuksen jättäminen ja käsittely
- 11 - 12: projektisuunnitelma, palavereita, kirjallisuustutkimus, toiminnallinen määrittely
-- joululoma --
- 01: tekninen määrittely, palavereita
- 02 - 03: toteutus
- 03 - 04: palavereita, opinnäytetyön raportin kirjoittaminen, kypsyysnäytteen suorittaminen, raportin monistus ja jakelu
- 04 - 05: työn arviointi (oma, koulun ja asiakkaan)
Jos työssä toteutetaan eli koodataan jokin ohjelmisto tai sen osanen, tehdään työssä yleensä tärkeimmät ohjelmistotuotannon vaiheet eli mm. projektisuunnitelma, toiminnallinen määrittely, tekninen määrittely ja testausraportti. Näiden kunnollinen tekeminen vie usein paljon aikaa ja niiden tekeminen sisältyi omaan työhönikin. Täytyy kuitenkin huomata, ettei dokumentteja ole pakko tehdä: jos työ esimerkiksi tehdään yritykseen, joka ei vaadi työn tekijältä näin perusteellista suunnittelua ja dokumentointia, ei koulukaan sitä voi vaatia. Tunnen luokaltani opiskelijan, jolla riitti projektisuunnitelmaksi ja määrittelyiksi pari A4-paperia, ei mitään muuta.
Oman opinnäytetyön aihe
Tein oman opinnäytetyöni Viope Solutions Oy:lle, jossa olin ollut töissä jo kolmannen opintovuoden puolivälistä alkaen. Työn nimi on "Ohjelmointi www-pohjaisessa komentoriviympäristössä". Opinnäytetyön raporttiin kirjoitetaan aina tiivistelmä, joka tiivistää työn sisällön yhden A4-sivun mittaiseksi. Niinpä on hyvä tehdä tähän suora lainaus tiivistelmästä:
Opinnäytetyössä määriteltiin, suunniteltiin ja toteutettiin Viope Solutions Oy:lle laajennos ohjelmoinnin verkkokursseja tarjoavaan Ohjelmointikurssit.com-palveluun.
Eräs asiakkaan verkkokurssiympäristön ominaisuuksista on Vapaa harjoittelu -toiminto, jonka avulla kurssien opiskelijat voivat harjoitella ohjelmointia rajoituksitta JavaScript-tekniikalla toteutetussa graafisessa ohjelmointiympäristössä. Opinnäytetyössä kehitettiin laajennos Vapaa harjoittelu -toiminnolle, joka antaa käyttäjille mahdollisuuden harjoitella ohjelmointia aidossa Linux-komentoriviympäristössä suoraan internetselaimen avulla.
Työ toteutettiin projektimuotoisesti, kaikki suunnittelu- ja määrittelyvaiheet tarkasti dokumentoiden. Toteutus jakautui kahteen osaan: komentoriviympäristön tarjoavan palvelimen asentamiseen sekä Ohjelmointikurssit.com-ympäristön laajentamiseen niin, että sen kautta voitiin käyttää komentoriviympäristöä. Toteutuksessa keskeisiä tekniikoita ja sovelluksia olivat palvelimen osalta Debian GNU/Linux, chroot, Ajaxterm, Apache, OpenSSH ja Bash sekä verkkokurssiympäristön osalta Perl, XHTML, CSS, JavaScript ja AJAX.
Opinnäytetyön tuloksena Ohjelmointikurssit.com-verkkokurssiympäristöön julkaistiin määrittelyjen mukainen www-pohjainen komentoriviympäristö. Uusi toiminto otettiin käyttöön C-, C++-, Java-, Python- ja PHP-aiheisilla kursseilla. Jatkossa uutta toiminnallisuutta voidaan soveltaa tulevilla eri ohjelmointikielien kursseilla ja työstä kerättyä tietoa voidaan käyttää hyödyksi suunniteltaessa uutta Linux-aiheista kurssia.
Työ vietiin läpi suunnitellusti tehtävien, aikataulun ja työmääräarvioiden mukaisesti. Toiminnallinen ja tekninen määrittely olivat onnistuneita ja työn toteutus voitiin tehdä ongelmitta niiden mukaisesti. Asiakas oli tyytyväinen opinnäytetyöprosessin kulkuun ja työn lopputuloksiin.
Asiasanat: verkko-opiskelu, ohjelmointi, Linux, Perl, chroot, www-pohjaiset ssh-ratkaisut, Ajaxterm
Oman opinnäytetyön eteneminen
Pidin opinnäytetyön tekemisen ajan tarkkaa kirjaa tehdyistä työtunneista, joten niiden perusteella on helppo esittää työn etenemisen tärkeimmät kohdat. Huomasin työtä tehdessä, että koulun antama ohjeistava aikataulu on todellakin toimiva ja sitä kannattaa yrittää noudattaa. Itse aloitin työn tekemisen hieman myöhässä eivätkä kaikki työvaiheet menneet "oikeassa" järjestyksessä, mutta näistä ei loppujen lopuksi ollut haittaa.
- 23.10.2008: Aihe valittu, alkuperäinen työnimi: "Www-pohjainen shell-ympäristö".
- 30.10.2008: Lupa-anomus jätetty ja työ hyväksytty.
- 05.11.2008: Ensimmäinen palaveri, aiheena esitutkimus ja yleisesti se, miten työtä lähdetään tekemään. Palaverissa paikalla opinnäytetyön tekijä, työn valvoja (eli koulun edustaja, Mikko Huhtanen) sekä työn ohjaaja (eli asiakkaan edustaja Viope Solutions Oy:stä).
- 06.11.2008: Esittelin työn ensimmäisen kerran luokalle opinnäytetyöseminaarissa.
- 24.11.2008 - 02.12.2008: Projektisuunnitelman laatiminen. Tätä tarkennettiin useaan otteeseen jälkikäteen.
- 03.12.2008: Toinen palaveri, aiheena projektisuunnitelman tarkastaminen.
- 18.12.2008 - 27.12.2008: Toiminnallisen määrittelyn laatiminen. Tätä tarkennettiin useaan otteeseen jälkikäteen. Ja ei, en kirjoittanut sitä jouluaattona :)
- 28.12.2008 - 01.01.2009: Kirjallisuustutkimuksen tekeminen, ts. lukuisten internetresurssien tutkiminen aiheen tiimoilta ja niistä raportoiminen kirjalliseen muotoon (nämä sisällytetään opinnäytetyön raporttiin muodossa tai toisessa).
- 16.01.2009: Kolmas palaveri, aiheena toiminnallisen määrittelyn tarkastaminen.
- 22.01.2009: Esittelin työn toisen kerran luokalle opinnäytetyöseminaarissa.
- 26.01.2009 - 28.01.2009: Teknisen määrittelyn laatiminen. Tätä tarkennettiin useaan otteeseen jälkikäteen.
- 30.01.2009: Neljäs palaveri, aiheena teknisen määrittelyn tarkastaminen.
- 05.02.2009: Ensimmäinen kerta, kun kirjoitan opinnäytetyön raporttia. Tässä vaiheessa hahmottelin mm. sisällysluetteloa ja kirjoitin jotain alustavaa asiakkaasta. Raporttia naputtelin eteenpäin aina silloin tällöin tästä lähtien.
- 12.02.2009: Käytännön toteutus alkaa.
- 12.03.2009: Esittelin työn kolmannen kerran luokalle opinnäytetyöseminaarissa.
- 19.03.2009: Viides ja viimeinen palaveri, aiheena työn toteutuksen tulosten tarkastelu, raportin alustavan version silmäily ja raportin kirjoittamisen jatkotoimenpiteiden suunnittelu.
- 25.03.2009: Käytännön toteutus viimeistä vetoa myöten valmis, työn tulokset julkaistu asiakkaan järjestelmässä.
- 26.03.2009: Kehitelty uusi opinnäytetyön nimi, joka jäi myös lopulliseksi ("Ohjelmointi www-pohjaisessa komentoriviympäristössä").
- 27.03.2009 - 08.04.2009: Opinnäytetyön raportin kirjoittamisen kiivain aika. Käytännössä kirjoitin suurimman osan raportista tällä aikavälillä.
- 09.04.2009: Raportin kieliasun (suomi ja englanti) tarkastuttaminen kieltenopettajilla ja vaadittujen korjausten tekeminen.
- 28.04.2009 - 10.05.2009: Viimeisten korjausten tekeminen raporttiin valvojan ja ohjaajan kommenttien perusteella.
- 10.05.2009: Opinnäytetyö täysin valmis ja luovutettu arvioitavaksi!
- 12.05.2009: Opinnäytetyön raportin kansittaminen, itsearviointi ja saatu samantien myös lopullinen arvosana opinnäytetyöstä.
- 18.05.2009: Tiivistelmien lähettäminen koulun kirjastolle arkistointia varten.
Oman opinnäytetyön tulokset
Sain opinnäytetyöni tehtyä ajallaan ja sen tuloksiin oltiin kaikin puolin tyytyväisiä. Asiakkaan Ohjelmointikurssit.com-palveluun julkaistiin tekemäni muutokset maaliskuun lopulla 2009 ja kehittämäni lisäosa on toiminut moitteetta järjestelmässä. Olen itse pystynyt seuraamaan järjestelmän toimintaa, sillä jatkoin valmistumiseni jälkeen töissä asiakkaalla.
Opinnäytetyön raportista tuli 52 sivua pitkä, lisättynä kolmella liitteellä. Raportin kirjoittaminen ei ollut mielestäni vaikeaa, etenkään kun olin toteutuksen aikaan dokumentoinut tarkasti kaikki tekemiseni. Suosittelen ehdottomasti tällaista tapaa kaikille, sillä tällä tavoin työn vaiheita ei tarvitse muistella ulkoa raporttia kirjoitettaessa. Opinnäytetyöni raportti on saatavilla Saimaan ammattikorkeakoulun kirjastosta.
Opinnäytetyön arvosanaksi tuli 5.
Ohjeet opinnäytetyön tekijöille
- Koulun antamaa ohjetta opinnäytetyön aikatauluttamiseksi kannattaa noudattaa - se on oikeasti toimiva malli.
- Projektityö olisi hyvä saada tehtyä pois alta ennen opinnäytetyön tekemistä, ainakin ennen toteutusvaiheen aloittamista. Projektityö on niin iso kokonaisuus, että kahden tällaisen projektin tekeminen yhtäaikaa muiden kurssien ja mahdollisten töiden lisäksi ei ole hyväksi lopputulosten kannalta.
- Ei kannata pelätä kysyä apua opinnnäytetyön ohjaajalta ja valvojalta, heidän tehtävänsä on auttaa työn tekemiseen liittyvissä asioissa.