Muuttujien roolit ohjelmoinnin opettamisessa. Jorma Sajaniemi
|
|
- Petri Laaksonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Muuttujien roolit ohjelmoinnin opettamisessa Jorma Sajaniemi Joensuun yliopisto Tietojenkäsittelytiede Johdanto Roolikäsite Roolit ja opiskelijat Roolit ja ammattilaisohjelmoijat Roolit alkeisohjelmoinnin opettamisessa Roolit muussa opettamisessa Rekursio ja roolit Yhteenveto Viitteet Johdanto Ohjelmoinnin oppiminen on monille opiskelijoille todella vaikeaa uusi abstrakti maailma uusia käsitteitä, joiden väliset suhteet eivät aukea Muuttujien roolit muuttujien stereotyyppisiä käyttötapoja, jotka toistuvat ohjelmissa yhä uudelleen hyvin pieni joukko riittää kattamaan lähes kaikki muuttujat eksperttiohjelmoijien hiljaista tietoa, joka voidaan tuoda esiin aloittelijoille helposti omaksuttavassa muodossa havaittu parantavan oppimistuloksia merkittävästi Roolikäsite Muuttujien roolit: (Sajaniemi, 2002; Sajaniemi ym., 2006) laskuri, tmp: entuudestaan tuttuja muuttujien käyttötapoja (käyttäytymistapoja!) roolit: edellisten yleistys; täysi kattavuus Laskuri i:=0... i:=i+1 yleistys askeltaja Juokseva summa rainsum:=0... rainsum:=rainsum+rain yleistys kokooja
2 11 roolia kattaa 99 % noviisitason ohjelmien muuttujista sanasto ohjelmista puhumiseen; mentaalinen apuväline ohjelmien suunnitteluun ohjelmointitietämystä (vrt. ohjelmointikielitietämys tai ohjelmatietämys) jota voidaan opettaa eksplisiittisesti opiskelijoille Noviisitason ohjelmissa esiintyvät roolit: Rooli Esimerkki Kattavuus Kiintoarvo Askeltaja Tuoreimman säilyttäjä Sopivimman säilyttäjä Kokooja Seuraaja Yksisuuntainen lippu Tilapäissäilö Järjestelijä Säiliö Kulkija maxstringlength count inputdata maximum sum prev errorsoccurred temp sortarray processqueue currnode 99 % Muu tabpos 1 % Kattaa olio-ohjelmoinnin, proseduraalisen ohjelmoinnin ja funktionaalisen ohjelmoinnin Esimerkki: program doubles; var data, count, value: integer; begin end. repeat write('enter count: '); readln(data) until data > 0; count := data; while count > 0 do begin write('enter value: '); readln(value); writeln('two times ', value, ' is ', 2*value); count := count - 1 end data count value tuoreimman säilyttäjä askeltaja tuoreimman säilyttäjä Olio-ohjelmointi: rooleja annetaan muuttujille, parametreille, attribuuteille ja olioille, jotka kapseloivat yhden käsitteellisen attribuutin
3 public class Dog { String name; // Kiintoarvo: koiran nimi int age; // Askeltaja: nykyinen ikä vuosissa public Dog (String n) { name = n; age = 0; public void birthday () { age++; name age n kiintoarvo askeltaja kiintoarvo Funktionaalinen ohjelmointi: roolit kuvaavat parametrien ja palautusarvojen käyttäytymistä rekursiossa fun max(a, nil) = a max(a, (h::t)) = if h>a then max(h,t) else max(a,t) a sopivimman säilyttäjä h tuoreimman säilyttäjä t kulkija max:in palautusarvo kiintoarvo (rekursiosta lisää myöhemmin) Roolimuutokset: repeat write('enter count: '); readln(count) until count > 0; while count > 0 do begin... count := count - 1 end tuoreimman säilyttäjä askeltaja
4 Roolit ovat kognitiivinen (eikä tekninen) käsite: Fibonacci-sarja (1, 1, 2, 3, 5, 8, 13,...): kokooja vaiko askeltaja? keskustelut muuttujan mahdollisista rooleista selventävät ohjelman toimintaa ja syventävät ymmärrystä! roolit ovat ohjelmien suunnittelun ja ymmärtämisen mentaalinen apuväline roolit antavat terminologian ohjelmista keskustelemiseen Roolit ja opiskelijat (Sajaniemi ja Kuittinen, 2005; Byckling ja Sajaniemi, 2005, 2006) 91 opiskelijaa Pascal-kielen alkeiskurssilla kolme opetustapaa: Ryhmä Luennot Animointi harjoituksissa Traditional Ei rooleja Roles Roolit käytössä Ei rooleja (Turbo Pascal debugger) Ei rooleja (Turbo Pascal debugger) Animation Roolit käytössä Roolit käytössä (PlanAni) Ohjelmien mentaaliset esitykset (loppukoe):
5 (p=0.0046) Pariohjelmointi: ei-triviaali ohjelmointitehtävä kuvan ja puheen tallennus videolle 3-4 opiskelijaparia kussakin ryhmässä Ohjelmointitietämys:
6 Ohjelmointitietämyksen soveltaminen: Roolinimien käyttö loppukokeessa:
7 35 % opiskelijoista sekä rooliryhmässä että animointiryhmässä käytti roolinimiä vastauksissaan roolinimet yleensä oikein; virheitä teki kaksi rooliryhmän opiskelijaa Roolit ja ammattilaisohjelmoijat (Sajaniemi ja Navarro Prieto, 2005) Empiirinen tutkimus, jossa selvitettiin eksperttiohjelmoijien muuttujiin liittyvää tietämystä. Viisi ohjelmaa, joissa 30 muuttujaa. Tehtävänä perehtyä ohjelmiin ja tehdä kuhunkin yksinkertainen muutos, jonka jälkeen korttien ryhmittely haastattelu Osallistujat: 13 ohjelmoinnin ammattilaista (mediaani 15 vuotta ohjelmointikokemusta) Ryhmittelyperusteet (käytetty tai mainittu):
8 Hierarkkinen klusterianalyysi:
9 Roolit ovat kognitiivinen käsite --- ihmisten välisillä eroilla kaksi lähdettä: mikä käyttäytyminen aistitaan mitä käyttäytymisiä pidetään samanlaisina on OK olla eri mieltä! Roolit alkeisohjelmoinnin opettamisessa (Kuittinen ja Sajaniemi, 2004) Roolien väliset suhteet: Roolitietämyksen luonti tuo roolit esiin yksi kerrallaan sitä mukaa kuin ne esiintyvät ohjelmissa selitä roolin tärkeimmät ominaisuudet (ts. käyttäytyminen = rooli) kuvaa roolin tyypillisiä hyödyntämistapoja (ts. käyttö) selitä olennaiset erot aiemmin opittuihin rooleihin (tiedon konstruktiivinen rakentuminen) anna tiivis yhteenvetopaketti (linkki)
10 => luentoihin tarvittavat muutokset ovat minimaalisia! tai: perusta ohjelmien käsittely kokonaan rooleille (linkki) (Tedre, 2006) Roolitietämyksen vahvistaminen roolien käyttö mielekkäällä tavalla: kehoitetaan oppilaita ajattelemaan rooleja aktiivisesti omia ohjelmiaan tehdessään roolinimet mielekkäissä yhteyksissä: #include <stdio.h> int data, /* tuoreimman säilyttäjä: kierrosten lukumäärä */ count, /* askeltaja: silmukkalaskuri */ value; /* tuoreimman säilyttäjä: kaksinkertaistettava luku */ mielekkäät keskustelut opiskelijoiden kanssa yksittäisten muuttujien rooleista roolikuvat mielekkäinä metaforina roolipohjainen ohjelmien animointi (Sajaniemi ja Kuittinen, 2004), roolien näytteleminen (Timcenko, 2006),... Roolitietämyksen käyttö ohjelmointistrategioiden opettamisessa Roolipohjainen ohjelmien suunnittelu: Poimi tehtäväksiannosta: mitä rooleja (ja siis attributteja) tarvitaan olioiden mallintamiseen mitä rooleja (ja siis muuttujia) tarvitaan toimintojen tekemiseen mitä parametreja tarvitaan ulkopuolelta tulevien tietojen vastaanottamiseen Kirjoita ohjelman runko (luokkamäärittely / ohjelman vakio-osat) ja sijoita siihen edelläsaatujen attribuuttien ja muuttujien esittelyt Hahmottele toiminnot (muodostaja, metodit, pääohjelma) roolien tyypillisten käyttötapojen avulla Täydennä puuttuvat yksityiskohdat (Esimerkki seuraavalla kalvolla) Huom: Roolipohjaisuus ei auta ohjelman moduulirakenteen (luokat, metodit, proseduurit) suunnittelussa! Roolipohjainen sunnittelu on tarkoitettu ohjelmoinnin alkeiden opiskelun yhteyteen! Esim: Laadi valuuttalaskuri, jolle voidaan ilmoittaa uusi vaihtokurssi milloin tahansa ja joka tietää kaksi viimeisintä kurssitasoa. Laskurin tulee kertoa kulloinkin annettavan dollarisumman hinta euroina korkeamman kurssitason mukaisesti. Tehtäväksiannosta löytyy: nykyinen kurssitaso: olion tiedettävä => attribuutti, tuoreimman säilyttäjä edellinen kurssitaso: olion tiedettävä => attribuutti, seuraaja korkeampi kurssitaso: selvitetään paluuarvoa varten => muuttuja, sopivimman säilyttäjä hinta euroina: lasketaan paluuarvoa varten => muuttuja, tilapäissäilö
11 uusi vaihtokurssi: ulkopuolelta tuleva tieto => parametri annettava dollarisumma: ulkopuolelta tuleva tieto => parametri Runko ja toiminnot: public class Valuuttalaskuri {?näkyvyys??tyyppi? nykykurssi; // tuoreimman säilyttäjä: nykyinen kurssitaso?näkyvyys??tyyppi? edelkurssi; // seuraaja: edellinen kurssitaso public Valuuttalaskuri (?) { nykykurssi =?; edelkurssi =?; public asetakurssi (?tyyppi? uusikurssi) { edelkurssi = nykykurssi; nykykurssi = uusikurssi; public muunna (?tyyppi? dollarit) {?tyyppi? kurssi; // sopivimman säilyttäjä: korkeampi kurssi?tyyppi? eurot; // tilapäissäilö: summa euroina kurssi = nykykurssi; if (edelkurssi > kurssi) kurssi = edelkurssi; eurot =?laskenta? return eurot; Roolit muussa opettamisessa Roolien merkitseminen UML-kaavioihin: (Byckling ym., 2006)
12 : Muuttujapohjainen ohjelmointi "etydinä" (Sorva, 2007) etydi: ohjelmointitekniikan sisäistäminen viemällä sen käyttö äärimmäisyyksiin (Bergin, 2005) Esim: Kirjoita jokin oma ohjelmasi täysin ilman if/switch-rakenteita käyttämällä niiden tilalla polymorfismia Muuttujapohjainen ohjelmointi: (Sorva, 2007) Follower prev: inits to: 0 follows: curr Kehittää opettajan ohjelmointitaitoa Rekursio ja roolit Parametrien rooli useimmiten kiintoarvo. Rekursiossa rooli voidaan antaa
13 parametrin käyttäytymiselle yli rekursiivisten kutsujen palautusarvon käyttäytymiselle yli rekursiivisten kutsujen int sum (node n) { if (n == NULL) return 0; else return n->data + sum(n->next); n kulkija sum:in palautusarvo kokooja int factorial (int n) { if (n==0) return 1; else return n*factorial(n-1); n askeltaja factorial:in palautusarvo kokooja int factorial_2 (int m) { return fact_calc(m,1); int fact_calc (int n, int x) { if (n==0) return x; else return fact_calc(n-1, n*x); n askeltaja x kokooja fact_calc:in palautusarvo kiintoarvo Yhteenveto Roolit ja opiskelijat? Roolit ja ammattilaisohjelmoijat? Roolien käyttö opettamisessa! Lisää tietoa: PlanAni ladattavissa ilmaiseksi samasta osoitteesta!
14 Viitteet Bergin J. (2005) Variations on a polymorphic theme: An Etude for Computer Programming. Byckling P., Gerdt P., Kuzniarz L., Sajaniemi J. (2006) Increasing Comprehensibility of Object Models: Making the Roles of Attributes Explicit in UML Diagrams. Nordic Journal of Computing 13(3), Byckling P., Sajaniemi J. (2005) Using Roles of Variables in Teaching: Effects on Program Construction. P. Romero, J. Good, S. Bryant, E. A. Chaparro (eds.) Proceedings of the 17th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2005). University of Sussex, U.K., Byckling P., Sajaniemi J. (2006) Roles of Variables and Programming Skills Improvement. Proceedings of the 37th SIGCSE Tehnical Symposium on Computer Science Education (SIGCSE 2006), Houston, USA, March 2006, Association for Computing Machinery, Kuittinen M., Sajaniemi J. (2004) Teaching Roles of Variables in Elementary Programming Courses. ITiCSE 2004, Proceedings of the 9th Annual Conference on Innovation and Technology in Computer Science Education, Leeds, UK, June Association for Computing Machinery, Pennington N. (1987) Comprehension Strategies in Programming. G. M. Olson, S. Sheppard, E. Soloway (eds.) Empirical Studies of Programmers: Second Workshop. Ablex Publishing Company, Rist R. S. (1989) Schema Creation in Programming. Cognitive Science 13, Sajaniemi J. (2002) An Empirical Analysis of Roles of Variables in Novice-Level Procedural Programs. Proceedings of IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02), Arlington, VA, September IEEE Computer Society, Sajaniemi J., Ben-Ari M., Byckling P., Gerdt P., Kulikova Y. (2006) Roles of Variables in Three Programming Paradigms. Computer Science Education 16(4), Sajaniemi J., Kuittinen M. (2004) Visualizing Roles of Variables in Program Animation. Information Visualization 3(3), Sajaniemi J., Kuittinen M. (2005) An Experiment on Using Roles of Variables in Teaching Introductory Programming. Computer Science Education, 15(1), Sajaniemi J., Navarro Prieto R. (2005) Roles of Variables in Experts' Programming Knowledge. P. Romero, J. Good, S. Bryant, E. A. Chaparro (eds.) Proceedings of the 17th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2005). University of Sussex, U.K., Sorva J. (2007) A Roles-Based Approach to Variable-Oriented Programming. Accepted to the 19th Annual Workshop of the Psychology of Programming Interest Group (PPIG07), July 2007, Joensuu, Finland. Tedre M. (2006) Johdatus ohjelmointiin. Luentomoniste, Joensuun yliopisto, Tietojenkäsittelytieteen ja tilastotieteen laitos. Timcenko O. (2006) Example of Using Narratives in Teaching Programming: Roles of Variables. 2nd Kaleidoscope Narrative SIG Workshop, Palermo, June Available at Jorma.Sajaniemi@Joensuu.Fi
Ohjelmointikoulutuksen tehostaminen kognitiivisilla menetelmillä
11.4.2007 Ohjelmointikoulutuksen tehostaminen kognitiivisilla menetelmillä Prof. Jorma Sajaniemi Joensuun yliopisto, Tietojenkäsittelytiede Jorma.Sajaniemi@Joensuu.Fi www.cs.joensuu.fi/~saja Taustaa Sisältö
LisätiedotMuuttujien roolit Kiintoarvo cin >> r;
Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,
Lisätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
Lisätiedot2. Olio-ohjelmoinista lyhyesti 2.1
2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotTyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006
Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet TIES341 Funktio-ohjelmointi 2 Kevät 2006 Alkuperäislähteitä Philip Wadler & Stephen Blott: How to make ad-hoc polymorphism less ad-hoc,
Lisätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävistä: Pankkitilit kotitehtävä 7 Toteuttakaa kotitehtävä 1:n kuvan mukaiset metodit open(), close(), deposit(), withdraw(), joilla voi Nostaa
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotTehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg
Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg Matematiikan ja tilastotieteen laitos Tietojenkäsittelytieteen laitos Kisällioppiminen = oppipoikamestari
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
Lisätiedot812336A C++ -kielen perusteet, 21.8.2010
812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
Lisätiedot1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotA) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)
1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden
LisätiedotUML ja luokkien väliset suhteet
UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi
LisätiedotTenttikysymykset. + UML-kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
LisätiedotPariohjelmoinnilla lisää mielekkyyttä ohjelmoinnin opetukseen? Annika Alakastari
Pariohjelmoinnilla lisää mielekkyyttä ohjelmoinnin opetukseen? Annika Alakastari Pariohjelmointi soveltuu opetusmenetelmäksi ryhmille, joilla on riittävät perusvalmiudet ohjelmointiin sekä halua ja kykyä
LisätiedotP e d a c o d e ohjelmointikoulutus verkossa
P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN
LisätiedotTIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
LisätiedotAliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
Lisätiedot19/20: Ikkuna olio-ohjelmoinnin maailmaan
Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotTIETORAKENTEET JA ALGORITMIT
TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
LisätiedotJakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotOpettajan pedagoginen ajattelu
Oulun yliopisto / Kasvatustieteiden ja Opettajankoulutuksen yksikkö Sanna Järvelä & etunimi.sukunimi(at)oulu.fi http://oppiohja.wordpress.com/ Oppimisen ohjaaminen, opetuksen suunnittelu ja arviointi Opettajan
LisätiedotMuuttujien roolit noviisien kirjoittamissa C- kielisissä ohjelmissa
Muuttujien roolit noviisien kirjoittamissa C- kielisissä ohjelmissa Samppa Timonen 17.6.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma Tiivistelmä Tietokoneohjelmaa voidaan tarkastella
LisätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotVertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
LisätiedotSisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto
Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotOhjelmistotekniikan menetelmät, koe 2.5.2014
Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotSisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus
Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
Lisätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 8: Pienen ohjelmointikielen tulkki (ohjelmoitava laskin) (mm. SICP 4-4.1.5 osin) Riku Saikkonen 15. 11. 2012 Sisältö 1 Nelilaskintulkki, globaalit muuttujat
LisätiedotT740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010
12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotAntti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011
Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011 Yleistä olioista ja OOP:sta OOP, eng. Object Oriented Programming C#:ssa oliot luodaan käyttämällä (olio)luokkia Olio tarkoittaa yksinkertaisesti ohjelman
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
LisätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
Lisätiedot18. Abstraktit tietotyypit 18.1
18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:
LisätiedotLuento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivaatiotietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
LisätiedotMuuttujien roolit ohjelmistoasiantuntijoiden kirjoittamissa Java-ohjelmissa
Muuttujien roolit ohjelmistoasiantuntijoiden kirjoittamissa Java-ohjelmissa Kasper Heikkilä 06.06.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma Tiivistelmä Lähes kaikkiin ohjelmointiparadigmoihin
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!
LisätiedotOlio-ohjelmointi Syntaksikokoelma
C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja
LisätiedotMuuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)
VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,
LisätiedotSopimuspohjainen olio-ohjelmointi
Sopimuspohjainen olio-ohjelmointi Jouni Smed Kevät 2007 Yleistä Laajuus: 5 op. (3 ov.) Esitiedot: Olio-ohjelmoinnin perusteet (tai ent. Ohjelmointi I) Ilmoittautuminen: https://www.it.utu.fi/kurssi-ilmo/
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
Lisätiedot815338A Ohjelmointikielten periaatteet 2014-2015
815338A Ohjelmointikielten periaatteet 2014-2015 X Skriptiohjelmointi Sisältö 1. Johdanto 2. Skriptikielten yleispiirteitä 3. Python 815338A Ohjelmointikielten periaatteet, Skriptiohjelmointi 2 X.1 Johdanto
Lisätiedot19. Olio-ohjelmointia Javalla 19.1
19. Olio-ohjelmointia Javalla 19.1 Sisällys Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotRINNAKKAINEN OHJELMOINTI A,
RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen
LisätiedotOliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
LisätiedotTrialogisen oppimisen suunnitteluperiaatteet
Trialogisen oppimisen suunnitteluperiaatteet Tekijät: Hanni Muukkonen, Minna Lakkala, Liisa Ilomäki ja Sami Paavola, Helsingin yliopisto 1 Suunnitteluperiaatteet trialogisen oppimisen pedagogiikalle 1.
LisätiedotKOHDELUOKAN MÄÄRITTELY
KOHDELUOKAN MÄÄRITTELY Kohdeluokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Taulukon alkiona
LisätiedotJohdatus ohjelmointiin 811122P Yleiset järjestelyt: Kurssin sivut noppa -järjestelmässä: https://noppa.oulu.fi/noppa/kurssi/811122p/etusivu 0. Kurssin suorittaminen Tänä vuonna kurssin suorittaminen tapahtuu
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
LisätiedotOhjelmointikieli TIE Principles of Programming Languages Syksy 2017 Ryhmä 19
Ohjelmointikieli TIE-20306 Principles of Programming Languages Syksy 2017 Ryhmä 19 Juho Kärnä Ville Mäntysaari 1. Johdanto D on yleiskäyttöinen, strukturoitu, staattisesti tyypitetty, käännettävä ohjelmointikieli
LisätiedotTietorakenteet ja algoritmit. Kertaus. Ari Korhonen
Tietorakenteet ja algoritmit Kertaus Ari Korhonen 1.12.2015 Tietorakenteet ja algoritmit - syksy 2015 1 Presemosta: 12. Kertaus» Mitkä tekijät, miten ja miksi vaiku1avat algoritmien nopeuteen» Rekursiohistoriapuut
LisätiedotNäkökulmia tietoyhteiskuntavalmiuksiin
Näkökulmia tietoyhteiskuntavalmiuksiin Tietotekniikka oppiaineeksi peruskouluun Ralph-Johan Back Imped Åbo Akademi & Turun yliopisto 18. maaliskuuta 2010 Taustaa Tietojenkäsittelytieteen professori, Åbo
Lisätiedotpublic static void main (String [] args)
HAAGA-HELIA OHJELMOINTI 1(5) OHJELMALUOKKA Ohjelma-luokan käynnistää public static void main (String [] args) main-metodiin voi koodata 1. ohjelman logiikan tai 2. luoda ohjelma-olion ja kutsua metodia,
LisätiedotAliohjelmatyypit (2) Jakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotREKURSIO. Rekursiivinen ohjelma Kutsuu itseään. Rekursiivinen rakenne. Rakenne sisältyy itseensä. Rekursiivinen funktio. On määritelty itsensä avulla
REKURSIO Rekursiivinen ohjelma Kutsuu itseään Rekursiivinen rakenne Rakenne sisältyy itseensä Rekursiivinen funktio On määritelty itsensä avulla Esim. Fibonacci-luvut: X(i) = X(i-1) + X(i-2), X(0) = X(1)
LisätiedotJakso 4 Aliohjelmien toteutus
Jakso 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet: aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotLuokan sisällä on lista
1 Luokan sisällä on lista Luokan sisällä lista Listan sisältävä luokka Konstruktorit get-metodi Lista muissa metodeissa addxx-metodi Yksinkertainen pääohjelma Kertauksen List-luokan metodeja 1 Luokan sisällä
LisätiedotTaulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu
Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on
LisätiedotLuento 4 (verkkoluento 4) Aliohjelmien toteutus
Luento 4 (verkkoluento 4) Aliohjelmien toteutus Tyypit, Parametrit Aktivointitietue (AT) AT-pino, rekursio 1 Aliohjelmatyypit Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri Parametrit
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotYhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ
Lisätiedoton ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
LisätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
LisätiedotJava-API, rajapinnat, poikkeukset, UML,...
Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)
LisätiedotInformaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006
TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa
LisätiedotKielioppia: toisin kuin Javassa
Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien
LisätiedotKÄYTTÄJÄKOKEMUS & KÄYTTÖLIITTYMÄSUUNNITTELU. CSE- C3800, Aalto 16.9.2015, Eeva Raita
KÄYTTÄJÄKOKEMUS & KÄYTTÖLIITTYMÄSUUNNITTELU CSE- C3800, Aalto 16.9.2015, Eeva Raita TÄNÄÄN 1. KÄYTTÄJÄKOKEMUS EI OLE 2. KÄYTTÄJÄKOKEMUS ON 3. RYHMÄTEHTÄVÄ 4. HUOMIOINTI SUUNNITTELUSSA CSE- C3800, 16.9.2015,
LisätiedotCODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0
CODEONLINE Monni Oo- ja Java-harjoituksia Version 1.0 Revision History Date Version Description Author 25.10.2000 1.0 Initial version Juha Johansson Inspection History Date Version Inspectors Approved
LisätiedotMetodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet
Metodit Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin return; -lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua Metodi voi palauttaa alkeistyypin tai olion Tällöin
LisätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotLuento 4 Aliohjelmien toteutus
Luento 4 Aliohjelmien toteutus Tyypit Parametrit Aktivointitietue (AT) AT-pino Rekursio 1 Aliohjelmatyypit (2) Korkean tason ohjelmointikielen käsitteet aliohjelma, proseduuri parametrit funktio parametrit,
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja
LisätiedotAnalyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:
LisätiedotVastuuopettaja. Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015. Olio-ohjelmoinnin perusteet (5 op) Tavoitteena
Kurssiesite Olio-ohjelmoinnin perusteet Kevät 2015 Jorma Laurikkala Tietojenkäsittelytieteet Informaatiotieteiden yksikkö Tampereen yliopisto Vastuuopettaja Jorma Laurikkala, yliopistonlehtori. Luennot,
Lisätiedot