wiki:sanasto
Last modified 20 months ago Last modified on 2015-12-26 19:09:04

Ohjelmointi 2 kurssilla käytettyjä termejä

Katso myös kurssin videohakemisto k2014 (k2013 k2012)

Lisää tähän kurssilla käytettyjä (oikeita) termejä. Pidä lista aakkosjärjestyksessä. Jos kurssilla tulee jokin sana, jota et ymmärrä ja haluat siihen selityksen, lisää se sanastossa oikeaan kohtaan tyyliin

  • kumma sana = ???

Sitten joku toinen etsii aina noita ??? rivejä ja laittaa tuohon selostuksen.

A

  • Algoritmi = Joukko toimenpiteitä joilla annettu tehtävä saadaan suoritettua äärellisessä ajassa. (Moniste:Algoritmi)
  • Aliluokka = Luokka joka perii. (ks. Luokka)
  • Aliohjelma = Itsenäinen ohjelman osa, joka suorittaa halutun toiminnon. Aliojelmaa voidaan kutsua pääohjelmasta sekä toisista aliohjelmista. (Moniste:Aliohjelma)
  • Alkeistietotyyppi(primitive type) = Vastakohta oliotietotyypeille, saa vain yhden arvon. Javan alkeistietotyypit: kokonaisluvut, liukuluvut, totuusarvot ja merkit. (Moniste:Javan alkeistietotyypit)
  • Aritmeettinen operaatio(arithmetic operation) = Laskuoperaatio, javassa aritmeettiset operaatiot suoritetaan matematiikan laskujärjestyksen mukaan. (Moniste:Aritmeettiset lausekkeet)
  • Attribuutti = Olion alkio. Luokassa oliolle määritelty muuttuja, joka tallentaa jonkun olioon liittyvän tietoalkion.
  • Autoboxing = termi tapahtumalle, jossa normaalista perusmuuttujasta(int, double jne.) tuleekin olio. (http://en.wikipedia.org/wiki/Autoboxing#Autoboxing)

B

  • Breakpoint = Debuggerilla ajettaessa ohjelman suoritus pysäytetään sille riville, mille breakpoint on laitettu. Tämä auttaa tarkastelemaan ohjelmaa askel kerrallaan.

C

  • CRC-kortti = Kuuluvat suunnitteluvaiheeseen ja niiden avulla hahmotellaan haluttuja toimintoja. Kortti sisältää luokan nimen, kyseisen luokan tehtävät sekä avustajat, joiden kanssa luokka on yhteistyössä. (Moniste:CRC-kortit)
  • ComTest = ComTest on tietotekniikan laitoksen opettajien ja tutkijoiden projekti yksikkötestauksen helpottamiseksi. (https://trac.cc.jyu.fi/projects/comtest)

D

  • Debuggaus = Paikallistetaan virheellisen toiminnan aiheuttanut virhe/bugi
  • Dynaaminen muisti = Javassa olioiden tila varataan muualta dynaamisen muistinhallinnan hoitamalta alueelta. Tästä käytetään nimitystä keko- tai kasamuisti. (Moniste:Dynaaminen muisti)

E

  • Ehtolause = Käytetään silloin, kun tarvitaan ehdollista toteutusta. Suomeksi esim. jos (if) tai kun (while). (Moniste:Ehtolauseet)

F

  • final-avainsana = javan avainsaina jolla luodaan vakio(c:ssä ja c++:ssa const). (Wikipedia: final).
  • For silmukka = silmukka joka käy koko tietorakenteen läpi, tai lopettaa ennalta määritetyn pisteen tullessa vrt. foreach silmukka. (Moniste: for-silmukka)
  • foreach silmukka = silmukka joka käy läpi kaikki tietorakenteen alkiot. (Moniste: foreach-silmukka)

G

  • Geneerinen ohjelmointi = tietorakenne, olio tai funktio, jossa jokin "olio" (attribuutti, parametri) on geneeristä tyyppiä
  • Geneerinen tyyppi = oliotyyppi, jonka todellinen tyyppi selviää käyttöyhteydessä (Moniste:Geneerinen taulukko)
      ArrayList<String> lista = new ArrayList<String>();
    
  • Globaali muuttuja = melkein pahinta mitä voi tehdä: Muuttuja näkyy kaikille ja kenelläkään ei ole kontrollia siitä, kuka muuttujaa muuttaa. Ehkä suurimpia yksittäisiä syitä oliohjelmoinnin kehittymiseen. Toinen tapa kiertää ongelmaa on funktionaalinen ohjelmointi, jossa ei ole muuttujia lainkaan.

I

  • Iteraattori = Tapa viitata tietorakenteisiin. Iteraattorin ideana on tarjota tietty, erittäin suppea joukko operaatiota, joita siihen voidaan kohdistaa. (Moniste:Iteraattori)

J

  • JavaDoc = Javassa lähdekoodi dokumentoidaan käyttäen JavaDoc-työkalua, näin saadaan helposti koostettua HTML-muotoinen dokumentti. (Moniste: JavaDoc)
  • JUnit = Testaamiseen tarkoitettu kirjasto. Isoissa projekteissa JUnit testit toteutetaan erilliseen pakettiin. (Moniste:JUnit)

K

  • Kapselointi = Toteutus joka kokoaa toimitoja yhdeksi kokonaisuudeksi. Kapselointia käytetään tiedon kokoamiseen sekä tiedon piilottamiseen. (Moniste:Kapselointi)
  • Kommentointi= aliohjelmien, muuttujien ym. asianmukainen kommentointi. Kommentointi helpottaa ohjelman ymmärtämistä niille, jotka eivät ole sitä tehneet, ja helpottaa ohjelmoijan työtä kun koodirivejä on todella paljon.
  • Kääntäjä = Kääntäjä käy ohjelmakoodin läpi rivi riviltä ja kääntää sen konekielelle, eli kielle jota kone osaa lukea, eli tuottaa koodista suoritettavan ohjelman. Kääntäjä osaa myös tulkita syntaksi-virheitä, joista se ilmoittaa kääntämisen yhteydessä, mikäli semmoisia ilmenee. ( Wikipedia: Ohjelmointikielen kääntäjä).

L

  • Lokaali muuttuja = muuttuja joka näkyy vain omasa yksikössään, esimerkiksi aliohjelmaassa (myös main on aliohjelma). Vastakohtana attribuutti, joka näkyy koko olion sisällä ja pahimmssa tapauksessa globaali muuttuja joka näkyy kaikille.
  • Looginen virhe = Virhe joka estää ohjelman ajamisen (kun tullaan virhekohtaan), mutta ei riko syntaksia esim. nollalla jakaminen. Syntaksivirheen löytäminen on huomattavasti hankalempaa koska ohjelmointiympäristöt eivät löydä näitä. Moniste: Virhetyypit.
  • Luokka = Määrittelee jonkun tietyin oliojoukon yhteiset piirteet. (Moniste:Luokka ja olio)
  • Lähdekoodi (source code) = Raaka tekstimuotoinen versio ohjelmasta, jotta ohjelma voidaan suorittaa, täytyy lähdekoodikoodi kääntää tai tulkata. (Wikipedia: Lähdekoodi)

M

  • Metodi = Olion toiminto. Aliohjelma joka käsittelee olion tietoa. (Moniste:Aliohjelmat)
  • Muodostaja = Metodi joka alustaa olion tilan ja luo tarvittavat dynaamiset muistialueet. (Moniste:Muodostajat)
  • Muuttuja = Muuttuja on symbolinen tietovarasto. Muuttujiin tallennetaan usein muuttuvaa tietoa. (Moniste:Muuttujat)
  • Muuttumaton(Immutable) olio = olio jonka arvoja ei voi muuttaa sen luonnin jälkeen. (Wikipedia: Immutable).
  • Merkkijono = Ohjelmoinnissa käytetty tietorakenne. Javassa käytössä kaksi merkkijonoluokkaa: String ja StringBuilder. (Moniste:Merkkijonot).

N

  • Naapurin poika = henkilö joka on kuullut jotakin Naapurin pojalta
  • New = new-avainsanalla luodaan olio ja varataan sille muistia keosta.
    new Tietotyyppi();
    

O

  • Luokan ilmentynä. "Paketti" joka sisältää tiedon ja sitä käsittelevän koodin. (Moniste:Kohti olio ohjelmointia)
  • Ohjelmointi kirjasto = kirjasto on kokoelma valmiita aliohjelmia, ja niiden kommentteja. Kirjastot helpottavat ohjelmointia huomattavasti siirtämällä yleisesti käytetyt aliohjelmat kirjastoon joten niitä ei tarvite kirjoittaa aina tarvittaessa uudelleen. (Moniste:Mikä on kirjasto)
  • Olio = Olio on ohjelmiston perusyksikkö, joka sisältää joukon loogisesti yhteenkuuluvaa tietoa ja toiminnallisuutta. Oliot kommunikoivat keskenään viesteillä. (Moniste:Kohti olio ohjelmointia)
  • Osoitinmuuttuja = Osoitinmuuttuja sisältää viitattavan arvon muistiosoitteen. (http://fi.wikipedia.org/wiki/Osoitin_(ohjelmointi))

P

  • Parametri = Funktiolle vietävä lähtöarvo (Moniste:Parametri)
  • Perintä = Perinnässä aliluokka perii käytettäväksi yliluokan kaikki ominaisuudet joita ei ole estetty. (Moniste:Perintä)
  • Pöytätesti = Ohjelman ja sen muuttujien läpikäyminen rivi kerralla, käyttäen apuna taulukkoa. (Moniste:Pöytätesti)

R

  • Rajapinta = Metodit joilla olion kanssa voi kommunikoida. (Moniste:Rajapinta)
  • Rekursio = itsensä avulla määritelty (vrt. Naapurin poika)
  • Relaatio = suhde asioiden välillä. Esimerkiksi tällä kurssilla käytettävien tiedostojen rivien (=tietueiden) välillä voi olla erilaisia suhteita.
    • 1:1 = jokaista riviä vastaa täsmälleen yksi rivi toisessa tiedostossa. Esimerkiksi tietyllä henkilöllä on täsmälleen yksi henkilötunnus
    • 1:n = yhdellä rivillä voi olla monta vastinetta jossakin toisessa tiedostossa. Esimerkiksi yhdellä henkilöllä voi olla 0-n kappaletta puhelinnumeroita (mutta yksi puhelinnumero ei miellellään kuulu monelle henkilölle). Alkuperäisessä harjoitustyön mallissa tällainen suhde on tehty henkilön ja hänen harrastamansa asian suhteen (vaikka oikeasti moni henkilö voisi harrastaa samaa harrastusta).
    • m:n - monen suhde moneen = yksi opiskelija voi käydä monella eri kurssilla ja toisaalta yhdellä kurssilla voi olla monta henkilöä. Tämä on monesti yleisin tapaus ja toteutetaan tiedostolla (tietokannoissa taululla), jossa on esim. 2 saraketta, joista toinen viittaa opiskelijan id:hen ja toinen sen kurssin id:hen, jota opiskelija opiskelee.
      opiskelijat.dat
        oid | nimi
         1  | Ankka Aku    // Akulla on 2 kurssia
         2  | Ankka Tupu   // Tupulla on 1 kurssi
         3  | Ankka Lupu   // Lupulla on 1 kurssi  
         4  | Susi Sepe    // ei käy mitään kurssia
      
      kurssit.dat
        kid | kurssin nimi  
         1  | Ohjelmointi 1  // Tällä kurssilla 1 opiskelija
         2  | Ohjelmointi 2  // tällä kurssilla 1 opiskelija 
         3  | Algoritmit 1   // tällä kurssilla 2 opiskelijaa
         5  | Algortimit 96  // kukaan ei käy tätä kurssia
      
      kurssilaiset.dat   // kurssien ja opiskelijoiden suhde (relaatio)
        oid |  kid
         1  |   1    // Aku käy Ohj 1 kurssia
         1  |   3    // Aku käy Alg 1 kurssia
         2  |   3    // Tupu käy Alg 1 kurssia
         3  |   2    // Lupu käy Ohj 2 kurssia
      

S

T

  • TDD(test-driven development) = on ohjelmointityyli, jossa kirjoitetaan testit ennen varsinaista koodia. (Moniste: Testaus)
  • This-osoitin = käytetään viittaamaan kyseisen luokan instanssiin. (Moniste: this-osoitin)

V

  • Viitemuuttuja = viitemuuttuja sisältää osoitteen tietokoneen muistissa sijaitsevaan arvoon, tai olioon. (Wikipedia: reference)

W

Y

  • Yliluokka = Luokka jolta peritään.(ks. Luokka)