The page has been modified since the last reload. Refresh now?

There are {{ pendingUpdatesCount() }} pending paragraph updates.

 

Ohjelmointi 2 kurssilla käytettyjä termejä

Katso myös kurssin videohakemisto k2016 (k2015 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ää siitä julkinen kommentti ko. kirjaimen viereen tyyliin - kumma sana = ??? Sitten joku toinen etsii aina noita ??? kommentteja 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. (Wikipedia: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

  • Eclipse = Kurssilla käytettävä IDE (Integrated Development Environment) eli integroitu ohjelmointiympäristö, jonka avulla kurssin Java ohjelmointi suoritetaan.
  • 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)
  • funktio = Joissakin kielissä kaikkia aliohjelmia sanotaan funktioiksi. Javassa periaattessa kaikki aliohjelmat ovat metodeja, mutta kurssilla käytetään nimeä funktio staattisista aliohjelmista joilla on muu tyyppi kuin void, eli niissä on return jotakin;. Staattista aliohjelmaa voidaan kutsua ilman että on vastaavaa oliota.
{}

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

  • IDE = Ohjelmointiympäristö, joka on ohjelma tai joukko ohjelmia, jolla ohjelmoija suunnittelee ja toteuttaa ohjelmistoa.
  • 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)
  • JavaFX = Swingiä uudempi kirjasto Javan graafisen käyttöliittymän tekemiseen. Ulkoasu voidaan esittää .fxml-tiedostossa, joka noudattaa XML-syntaksia.
  • 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.
  • Koostaminen=luokka koostetaan muiden tyyppien/luokkien avulla. Periaattessa melkein
  • jokainen luokka on koostettu, koska se koostuu attribuuteistaan. Ainoastaan peritty luokka,
  • johon eiole lisätty yhtään attribuuttia, ei ole koostettu (mutta sen isä-luokka todennäköisesti on
  • koostettu).
  • 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 syntaksivirheitä, 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.
  • Luokan ilmentynä = Olio ("paketti") joka sisältää tiedon ja sitä käsittelevän koodin. (Moniste:Kohti olio ohjelmointia)
  • Luokka = Määrittelee jonkun tietyin oliojoukon yhteiset piirteet. (Moniste:Luokka ja olio). Luokkien nimet kirjoitetaan Javassa isolla alkukirjaimella.
  • 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) Kurssilla metodi-nimeä käytetään ei-stattisista aliohjelmista. Niitä ei voida kutsua ennenkuin vastaava olio on luotu. Esimerkiksi miuku.aantele();
  • 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 ( tiedon luotettavuus kyseenalaista )
  • New = new-avainsanalla luodaan olio ja varataan sille muistia keosta.
{}
new Tietotyyppi();
{}

O

  • Ohjelmointi kirjasto = API, 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. (Wikipedia:Osoitin)
{}

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 = Tietokannan yksi taulu. 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

  • SceneBuilder = JavaFX:än .fxml tiedostoja käsittelevä graafisen liittymän suunnitteluohjelma.
  • Super = käytetään viittaamaan yläluokan instanssiin. (Moniste: Perintä, inheritance)
  • Swing = Swing on graafisten käyttöliittymien koodaukseen luotu kirjasto javalle. Wikipedia:Swing
  • Switch = Switch-lauseella voidaan toteuttaa monivalinta osa ohjelmakoodista. (Moniste: Switch -valintalause)
  • Syntaksi = ts. ohjelmointikielen kielioppi, jolla ohjelmaa kirjoitetaan. (Wikipedia:Syntax)
  • Syntaksi virhe = Ohjelman "kieliopissa" virhe esim. sulkeet avoinna, ylimääräisiä merkkejä. (Moniste:Virhetyypit)
{}

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

  • White space = Tyhjä. Välilyöntejä, tabulointimerkkejä, rivinvaihtoja ja sivunvaihtoja nimitetään yleisesti tällä nimellä. (Moniste:White Spaces)
  • WindowBuilder = Plugin, jonka Eclipse -ohjelma vaatii graafisia käyttöliittymiä tehtäessä (EclipseOrg:WindowsBuilder)
{}

Y

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