Visuaalinen ohjelmointi tietotekniikan perusopetuksessa

Koko: px
Aloita esitys sivulta:

Download "Visuaalinen ohjelmointi tietotekniikan perusopetuksessa"

Transkriptio

1 Visuaalinen ohjelmointi tietotekniikan perusopetuksessa 11. huhtikuuta 2006 Jussi Nikander 49537E 1 Johdanto Monilla opiskelijoilla on vaikeuksia oppia ohjelmoinnin perusteita ensimmäisellä yliopiston ohjelmointikurssilla. Erityisesti opiskelijat, joilla ei ole aikaisempaa ohjelmointikokemusta, tai joiden matemaattiset taidot ovat puutteellisia, ovat vaarassa pärjätä huonosti [7, 8]. Ongelmia aiheuttavat muun muassa ohjelmointikielten syntaksin opettamiseen tarvittava aika [1], opittavien konseptien, teorioiden ja käytäntöjen suuri lukumäärä [3], sekä ohjelmavirheiden aiheuttama epävarmuus ja tästä johtuva motivaation katoaminen [6]. Huonosti menestyvien opiskelijoiden tukemiseen on esitetty useita erilaisia ratkaisuja. Yksi tapa on järjestää ennen ensimmäistä ohjelmointikurssia esikurssi, jossa opetellaan ohjelmoinnin perusteita. Tällaisella kurssilla voidaan käyttää esimerkiksi ohjelmointikieltä muistuttavaa pseudokieltä [9] tai aloittelijalle helpommin lähestyttävää ohjelmointiympäristöä [8]. Joidenkin tutkimusten mukaan pseudokielen käyttö ei välttämättä helpota asioiden oppimista, vaan voi jopa lisätä aloittelijoiden vaikeuksia [4]. Ohjelmointiympäristöjen käytöstä on sen sijaan saatu paljon positiivisia kokemuksia. Aloittelijoille suunnatuissa ohjelmointiympäristöissä käytetään usein hyväksi visualisaatioita, joiden avulla joko kuvataan ohjelman rakennetta, tai havainnollistetaan sen toimintaa ajonaikaisesti. Monissa järjestelmissä on myös mahdollista tuottaa ohjelmakoodia manipuloimalla visualisaatioita; joissain järjestelmissä tämä on ainoa ohjelmakoodin tuottamistapa toisissa koodia on mahdollista myös kirjoittaa [2, 4]. Osa järjestelmistä käyttää visuaalisia ohjelmointikieliä termin varsinaisessa merkityksessä (ohjelmointikieli, jossa kontrollivuo määritellään vähintään kahdessa ulottuvuudessa) ja osa käyttää muita ohjelmistovisualisoinnin keinoja [1]. Tässä työssä käsitellään järjestelmiä, joissa ohjelmointia voidaan suorittaa visualisaatioita manipuloimalla, eikä pelkästään visuaalisia ohjelmointikieliä käyttäviä järjestelmiä. Työssä tarkastellaan kolmea ohjelmoinnin perusopetukseen suunniteltua järjestelmää, joissa käytetään visualisaatiota ohjelman rakenteen, ajonaikaisen toiminnan, tai koodin tuottamisen apuvälineinä. Tutkittavat järjestelmät ovat Alice [2], RAPTOR [1] ja ALVIS Live! [4]. Luvussa 2 esitellään järjestelmien analysoinnissa käytettävät mittarit ja luvussa 3 esitellään järjestelmät tarkemmin. Luvussa 4 verrataan järjestelmiä käytettävien mittarien avulla ja luku 5 sisältää loppukommentit. 2 Käytettävät mittarit Järjestelmiä voidaan vertailla lukuisten mittarien avulla. Tässä työssä käytetään kolmea mittaria: kirjallisuudesta löytyviä kriteerejä, järjestelmien testausta ja muiden saamia tutkimustuloksia. Mittareita ei käytetä asettamaan järjestelmiä paremmuusjärjestykseen, vaan niillä mitataan järjestelmien soveltuvuutta perusopetukseen. Kirjallisuudesta löytyi seuraavat kriteerit. 1

2 Helppojen virheiden välitön huomionti tai estäminen [1, 2, 4] Yksinkertainen, vasta-alkajalle ymmärrettävä syntaksi [2, 4] Välitön palaute koodin kirjoittamisen aikana [1, 4] Järjestelmien testauksen tarkoitus on evaluoida kuinka hyvin järjestelmää voidaan käyttää perusopetuksessa. Evaluaatiossa kiinnitetään huomiota seuraaviin ominaisuuksiin: helppo asennus, helposti opittava käyttöliittymä, dokumentaatio ja erityisesti järjestelmän tutoriaalit, käytetyn kielen ilmaisuvoima ja järjestelmän kattama aihealue. Ilmaisuvoimaa lukuunottamatta kriteerit on soveltuvin osin muokattu Korhosen ja muiden esittämästä vaivattoman algoritmanimaation taksonomiasta [5]. Valitut kriteerit ovat aivan yhtä relevantteja ohjelmoinnin perusopetuksessa käytettävissä järjestelmissä kuin algoritmivisualisaatiojärjestelmissäkin. Muiden tutkimustulokset etsitään kirjallisuudesta. Näitä tuloksia tutkitaan objektiivisesti, ja pyritään päättelemään mitä tuloksia oikein on saatu, ja ovatko nämä tulokset päteviä. 3 Tutkitut järjestelmät Työhön mukaan valittiin kolme järjestelmää, Alice, RAPTOR ja ALVIS Live!. Järjestelmät valittiin, koska ne ovat tarkoitettu nimenomaan ohjelmoinnin perusopetukseen, niitä on onnistuneesti käytetty tässä tarkoituksessa ainakin yhdessä yliopistotason oppilaitoksessa, käytöstä saatuja tuloksia on julkaistu, ja järjestelmät ovat vapaasti saatavilla. 3.1 Alice Alice [2] on aloittelijoille suunnattu kolmiulotteisen maailman mallinnusjärjestelmä, jossa käyttäjä manipuloi virtuaalimaailmassa olevia olioita visuaalisesti. Jokaisella oliolla on joukko metodeja, joiden avulla sitä voi käskyttää, ja siten luoda maailmaan animaatioita ja muuta toiminnallisuutta. Olioita käskytetään järjestelmän ohjelmaeditorissa, jossa koodia tuotetaan raahamalla varattuja sanoja, metodeja ja muita ohjelman osia koodi-ikkunaan. Kaikki koodin muuntelu tapahtuu hiiren avulla. Koodi muistuttaa tyypillistä oliokielen koodia, ja sisältää yleisimmät ohjelmarakenteet, kuten muuttujat, taulukot, silmukat ja ehtolauseet. Alice on suunnattu käyttäjille, joilla ei ole laisinkaan aikaisempaa ohjelmointikokemusta, eikä kovinkaan suurta kiinnostusta ohjelmoinnin oppimiseen. Alicen maailman käsittely ja siinä olevat oliot on pyritty tekemään mahdollisimman intuitiivisiksi käyttäjille, jotka eivät ole aikaisemmin ohjelmoineet. Esimerkiksi olioita käsketään suhteessa niiden sen hetkiseen sijaintiin ja suuntaan, eikä suinkaan mihinkään absoluuttiseen koordinaatistoon. Lähes kaikki maailmaan tehtävät käskyt animoidaan, ja järjestelmässä on kattavat aputoiminnot. Järjestelmän käyttöliittymä näkyy kuvassa 1. Tekijät uskovat, että Alicen kolmiulotteinen maailma, animaatioiden antama välitön palaute sekä helpot ohjelmointivirheet estävä graafinen ohjelmointiympäristö motivoivat huonosti pärjääviä opiskelijoita. Järjestelmää kehitettäessä on erityisesti otettu huomioon tyttöjen motivaation herättäminen 1. Järjestelmää on käytetty useissa yliopistoissa osana ohjelmoinnin opetusta, tyypillisesti joko ensimmäisen ohjelmointikurssin alussa tai erillisellä esikurssilla, jossa riskiopiskelijoille esitellään ohjelmoinnin perusteet [3, 8]. Raportoidut tulokset ovat olleet lupaavia, ja periteisillä ohjelmointikursseilla huonosti pärjäävät riskiryhmät ovat pärjänneet Alice-kursseilla, sekä Alicea käytettyään tavallisessa ohjelmoinnin opetuksessa

3 Kuva 1: Kuvakaappaus Alice-järjestelmästä 3.2 RAPTOR RAPTOR [1] on ohjelmoinnin perusopetukseen kehitetty visuaalinen ohjelmointikieli, jossa ohjelman toiminta esitetään vuokaaviomaisesti. Kaavio muodostuu sijoituksista, metodikutsuista, syöttö- ja tulostuskäskyistä, ehtolauseista ja silmukoista. Jokainen RAPTOR-kaavion symboli sisältää yhden komennon. Käyttäjä voi ajaa valmista ohjelmaa jatkuvana animaationa, tai askel kerrallaan, jolloin järjestelmä näyttää jokaisella askeleella suoritettavan komennon sekä muuttujien tilan. Järjestelmä on kehitetty Yhdysvaltain ilmavoimien akatemiassa ohjelmoinnin perusopetukseen, ja se korvasi akatemian ensimmäisellä ohjelmointikurssilla Adan ja Matlabin. Järjestelmän tarkoitus on helpottaa ohjelmoinnin harjoittelua estämällä helppojen syntaksivirheiden teko sekä näyttämällä ohjelman kontrollivuo visuaalisemmin kuin tavanomaisissa kielissä. Järjestelmä näkyy kuvassa 2. Ohjelmointi RAPTORilla on yhdistelmä ohjelman graafista manipulaatiota ja parametrien kirjoittamista. Itse symboli ja sen paikka koodissa määritellään hiiren avulla, ja tarkka käsky, sen parametrit, yms., kirjoittamalla. Ohjelmasymboleissa käytetty syntaksi on yhdistelmä C-kielen ja Pascalin elementtejä, ja elementeillä voi olla useita synonyymejä. Esimerkiksi ehtolauseissa sekä C-tyylinen &&, että Pascal-tyylinen and merkkaa loogista jaoperaatiota. RAPTORin käyttöä on tutkittu yhdessä oppilaitoksessa, ja siitä on saatu hyvältä vaikuttavia tuloksia. Mitään tietoja järjestelmän käytöstä Yhdysvaltain ilmavoimien akatemian ulkopuolella ei ole. 3.3 ALVIS Live! ALVIS Live! [4] on visualisointijärjestelmä, jossa käyttäjä voi generoida ohjelmakoodia joko manipuloimalla objekteja graafisesti, tai normaalisti kirjoittamalla. Järjestelmän ohjelmointikieli on pseudokoodia suuresti muistut- 3

4 Kuva 2: Kuvakaappaus Raptor-järjestelmästä tava, algoritmien perusopetukseen kehitetty SALSA-kieli. ALVIS Live! on ensisijaisesti perusalgoritmien opetukseen tarkoitettu järjestelmä, mutta sitä voidaan käyttää myös ohjelmoinnin perusteiden opiskeluun. Kuvassa 3 näkyy järjestelmän käyttöliittymä. ALVIS Live! perustuu radikaalin dynaamiseen algoritmivisualisaatioon. Periaatteena on, että järjestelmä tuottaa algoritmianimaatiota sitä mukaa, kun ohjelmakoodia syötetään, ja pyrkii jatkuvasti pitämään animaation kursorin osoittamalla ohjelmakoodin rivillä. Täten, jos käyttäjä muuttaa kursorin paikkaa esimerkiksi nuolinäppäimien avulla, ajaa ALVIS Live! algoritmianimaatiota joko eteen tai taaksepäin. Järjestelmä tarkistaa koodin syntaksin jokaisen näppäimen painalluksen jälkeen, ja korostaa väärää syntaksia sisältävät rivit. Syntaksivirheiset rivit jätetään animaatiota tuotettaessa huomiotta. Järjestelmän visualisaatio tunnistaa kolme entiteettiä, joille on mahdollista suorittaa operaatioita. Entiteetit ovat muuttuja, taulukko ja indeksi. Muuttuja sisältää yhden lukuarvon, taulukko useita, ja indeksi on lukuarvo joka viittaa taulukon indeksiin. Entiteettejä on mahdollista luoda, muokata, verrata, vaihtaa päittäin ja niille on mahdollista tehdä matemaattisia perusoperaatioita. Tavallisten ohjelmointikäskyjen lisäksi järjestelmässä on myös animaatioon liittyviä operaatioita, kuten arvojen korostaminen, niiden sijainnin siirtäminen visualisaatiossa, ja niin edelleen. 4

5 Kuva 3: Kuvakaappaus ALVIS Live!-järjestelmästä ALVIS Livea on käytetty yhdessä yhdysvaltalaisessa yliopistossa ja järjestelmän käytöstä on saatu vasta alustavia tuloksia. Vaikuttaa kuitenkin siltä, että järjestelmästä on apua ohjelmoinnin perusopetuksessa, ja opiskelijoiden suhtautuminen siihen on ollut positiivinen. Laajempia, perusteellisia käyttäjätutkimuksia ei kuitenkaan ole vielä julkaistu. 4 Järjestelmien vertailua Kaikki kolme työhön valittua järjestelmää ovat selkeästi suunnattu tietotekniikan perusopetukseen. Niissä on kuitenkin suuria eroja, alkaen jo siitä, että ALVIS Live! vie levytilaa hiukan yli 6 megatavua ja Alice reilusti yli sata megatavua. Myös järjestelmien fokusalueissa, lähestymistavoissa ja yleisessä filosofiassa on valtavia eroja. Siten tässä tehtävä vertailu ei voi kertoa onko jokin tietty järjestelmä parempi kuin toinen. 4.1 Alice Alicessa kaikki koodimanipulaatio tehdään graafisesti ja järjestelmä ei hyväksy operaatioita, jotka tuottavat syntaktisesti rikkinäistä koodia. Alicen syntaksi on kohtuullisen yksinkertainen ja vasta-alkajakin voi oppia ymmärtämään sitä hyvin nopeasti. Esimerkiksi toiminnot saa suoritettua rinnakkain käskyllä DoTogether, ehtolause on nimeltään If/Else, ja niin edelleen. Järjestelmä antaa välitöntä palautetta koodin syntaktisesta oikeellisuudesta koodin tuottamisen aikana. Koodin semanttinen oikeellisuus on tarkistettava ajamalla koodi. Koodia voi ajaa samassa ympäristössä missä sitä muokataan. Alice toimii vain Windows -ympäristössä, mutta on äärimmäisen helppo asentaa. Järjestelmä on välittömästi käyttövalmis, kun jakelupaketin (zip-paketti) on purkanut, eikä mitään erillisiä asennusohjelmia tarvitse ajaa. Järjestel- 5

6 män käyttöliittymä on monipuolinen ja samalla monimutkainen. Siinä on suuri määrä erilaisia toimintoja ja käyttötiloja, joten aloittelijan saattaa olla vaikeaa päästä ohjelmaan sisään ilman apua. Dokumentaatio koostuu lähinnä tutoriaaleista, jotka opettavat järjestelmän käyttöä kädestä pitäen. Muu dokumentaatio on hyvin vähäistä, eikä auta järjestelmän opettelussa. Opettajan läsnäolo olisi suotavaa, kun aloittelija rupeaa järjestelmää ensimmäisen kerran käyttämään. Alice on suunnattu selkeästi olioohjelmoinnin opiskeluun. Kaikki Alice-maailmassa olevat asiat ovat olioita, joita voi käsitellä, joiden metodeja voi kutsua, ja joille voi ohjelmoida lisätoiminnallisuutta. Maailmaan tuotuja olioita voi Alicessa manipuloida hyvin monipuolisesti. Järjestelmän ilmaisuvoima kuitenkin rajoittuu vain sen sisältämään 3-ulotteiseen maailmaan ja tähän maailmaan tehtyihin olioihin. Mihinkään maailman ulkopuoliseen järjestelmä ei voi vaikuttaa. Alicessa on vielä bugeja, joista osaa voi pitää hyvinkin vakavina. Järjestelmä esimerkiksi tukee taulukoita ja niiden käyttöä, mutta tuki ei toimi kunnolla. Taulukot toimivat hyvin niin kauan, kuin niistä luetaan arvoja, ja niihin tallennetaan suoria olioviittauksia tai arvoja. Muuttujan arvon tallentaminen taulukkoon aiheuttaa kuitenkin ajonaikaisen virheen, ja kaataa maailmasimulaation. Alicen hyödystä ohjelmoinnin perusopetuksessa on julkaistu useita tutkimuksia [2, 3, 6, 8]. Tyypillisesti tulokset tuntuvat olevan positiivisia. Useimmissa tutkimuksissa kuitenkin keskitytään antamaan riskiryhmässä oleville opiskelijoille ylimääräisiä ohjelmointiharjoituksia Alicen avulla, joten tutkimuksista ei voi selvittää johtuvatko paremmat tulokset Alicen käytöstä vaiko ylimääräisestä harjoittelusta. 4.2 RAPTOR Toistuvista yrityksistä huolimatta RAPTOR-järjestelmää ei saatu asennettua. Ilmeisestikin jakelupaketin mukaan liitetty Microsoftin.NET -sovelluskehys oli rikki, koska järjestelmän asennus keskeytyi aina.net:n asennukseen. Täten RAPTORin evaluaatio on tehty puhtaasti järjestelmästä julkaistun raportin perusteella. RAPTOR-koodia tuotetaan lisäämällä vuokaaviomaiseen visualisaatioon uusia käskyjä hiirellä ja antamalla näiden tarkat parametrit näppäimistön kautta. Järjestelmä tarkastaa jokaisen käskyn syntaktisen oikeellisuuden ja siten estää käyttäjää tekemästä syntaksivirheitä. Järjestelmän tekijöiden mukaan käytetty kieli muistuttaa käskyiltään jonkin verran C-kieltä ja Pascalia, ja useille käskyille on olemassa monia synonyymejä. Järjestelmää testaamatta on kuitenkin mahdotonta sanoa mitään siitä, kuinka yksinkertainen tai intuitiivinen käytetty kieli on. Syntaktinen oikeellisuus tarkastetaan koodin muokkaamisen aikana, ja semanttisen oikeellisuuden voi tarkastaa ajamalla koodi. Koodia voi ajaa muokkausympäristössä. Julkaisuista voidaan päätellä, että RAPTOR on ainakin tarkoitus olla yleiskäyttöinen ohjelmointikieli, joten sen ilmaisuvoima on luultavasti suuri. Saattaa olla, että RAPTORilla on mahdollista tuottaa RAPTOR-tulkki. RAPTORin käytöstä opetuksessa on julkaistu yksi tutkimus. Tutkimuksessa verrattiin kahden eri vuosikurssin tuloksia ensimmäisellä ohjelmointikurssilla: toisena vuonna käytettiin perinteisiä ohjelmointityökaluja ja toisena RAPTORia. RAPTORin avulla saatiin hiukan parempia tuloksia, mutta mitään tilastollisia laskelmia ei tuloksista tehty. Tulosten perusteella ei myöskään voi päätellä onko RAPTOR parempi kuin perinteiset menetelmät, vai johtuiko arvosanojen lievä nousu jostain muista syistä. 4.3 ALVIS Live! ALVIS Live! esittää kaikki ohjelmakoodin rivit, joissa on syntaksivirheitä, punaisella. Syntaksivirheitä sisältäviä rivejä ei huomioida algoritmia animoitaessa, joten huolimaton ohjelmoija voi järjestelmällä tehdä yksinkertaisiakin virheitä. Järjestelmä kuitenkin varoittaa näistä selkeästi. Järjestelmän käyttämä SALSA-kieli on hyvin yksinkertainen ja muistuttaa rakenteeltaan suuresti englantia. Kielessä on eri komentoja alle 20, joten koko kielen voi opetella hyvin helposti. Järjestelmässä on myös mahdollista 6

7 tehdä yksinkertaista ohjelmointia pelkän hiiren avulla, joten ALVIS Live! on mitä luultavimmin helppo noviisinkin oppia. Järjestelmä evaluoi koodia sitä mukaan kun sitä tuotetaan, ja pyrkii aina pitämään tuotettavan algoritmianimaation ohjelmakoodin kursorin osoittamalla rivillä, joten käyttäjä saa järjestelmältä jatkuvasti välitöntä palautetta. ALVIS Live! toimii vain Windows-ympäristössä ja on helppo asentaa. Jakelupakettiin kuuluu asennusohjelma, jonka käyttö on hyvin yksinkertaista. Asennusohjelma lisää järjestelmän kuvakkeen työpöydälle ja käynnistysvalikkoon. Käyttöliittymä on yksinkertainen, ja jokaisesta sen ominaisuudesta on hiiren vieressä leijuva infolaatikko. Dokumentaatio on riittävä, ja siihen kuuluu tutoriaali, joka opettaa järjestelmän perusteet. Käytetyn SALSA-kielen ilmaisuvoima on kuitenkin hyvin rajoittunut. Kieli ei sisällä ollenkaan funktiokutsuja, joten sillä ei voi tehdä kuin hyvin yksinkertaisia operaatioita. Myös käytetty visualisaatio on yksinkertainen, ja käytännössä järjestelmällä voi tehdä vain iteratiivisia taulukkoalgoritmeja. Taulukkoalgoritmien perusteiden opetukseen järjestelmä voi olla riittävä, mutta muuhun sitä ei kannata käyttää. Järjestelmä on vielä selvästikin keskeneräinen, ja siinä on useita virheitä. Esimerkiksi visualisaatioiden ominaisuuksien muuttamiseen tarkoitetun ikkunan sulkeminen cancel-käskyllä voi joskus kaataa koko järjestelmän. Pahimmassa tapauksessa järjestelmä kaatuu niin vakavasti, että se on poistettava koneelta ja asennettava uudestaan. ALVIS Liven käytöstä opetuksessa on julkaistu yksi alustavia tuloksia sisältävä paperi. Artikkelin mukaan järjestelmä on auttanut opettamaan ohjelmoinnin perusteita. Tulokset ovat kuitenkin vasta pienestä pilottiprojektista saatuja alustavia tuloksia, joten niistä ei voi sanoa mitään lopullista. 5 Lopuksi Tässä paperissa evaluoitiin kolme ohjelmoinnin perusopetukseen tarkoitettua järjestelmää: Alice, RAPTOR ja AL- VIS Live!. Näistä järjestelmistä Alice on laajasti käytetty, ja sen hyöty perusopetuksessa on ainakin jossain määrin onnistuttu todistamaan. Alice on kohtuullisen vakaa ja monipuolinen RAPTORia ei toistuvista yrityksista huolimatta saatu asennettua, joten sitä ei voitu testata. Dokumentaation perusteella RAPTOR kuitenkin saattaa vastata ilmaisuvoimaltaan perinteisiä ohjelmointikieliä, joten sillä saattaisi olla käyttöä ohjelmoinnin opetuksessa laajemminkin. ALVIS Live! vaikuttaa lupaavalta, mutta on ainakin toistaiseksi hyvin rajoittunut. Viitteet [1] M. C. Carlisle, T. A. Wilson, J. W. Humphries, and S. M. Hadfield. Raptor: a visual programming environment for teaching algorithmic problem solving. In SIGCSE 05: Proceedings of the 36th SIGCSE technical symposium on Computer science education, pages , New York, NY, USA, ACM Press. [2] M. Conway, S. Audia, T. Burnette, D. Cosgrove, and K. Christiansen. Alice: lessons learned from building a 3d system for novices. In CHI, pages , [3] S. Cooper, W. Dann, and R. Pausch. Teaching objects-first in introductory computer science. In SIGCSE 03: Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages , New York, NY, USA, ACM Press. [4] C. Hundhausen and J. L. Brown. What you see is what you code: a radically dynamic algorithm visualization development model for novice learners. In 2005 IEEE Symposium on Visual Languages and Human-Centric Computing, pages , September [5] P. Ihantola, V. Karavirta, A. Korhonen, and J. Nikander. Taxonomy of effortless creation of algorithm visualizations. In ICER 05: Proceedings of the 2005 international workshop on Computing education research, pages , New York, NY, USA, ACM Press. [6] A. J. Ko. Preserving non-programmers motivation with error-prevention and debugging support tools. In HCC, pages ,

8 [7] M. Morrison and T. S. Newman. A study of the impact of student background and preparedness on outcomes in cs i. In SIGCSE 01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education, pages , New York, NY, USA, ACM Press. [8] B. Moskal, D. Lurie, and S. Cooper. Evaluating the effectiveness of a new instructional approach. SIGCSE Bull., 36(1):75 79, [9] R. L. Shackelford and R. J. L. Jr. Introducing computer science fundamentals before programming. In Frontiers in Education Conference, th Annual Conference, volume 1, pages , November

Yleisiä ohjeita visualisointien käyttöönotosta ohjelmointikurssilla

Yleisiä ohjeita visualisointien käyttöönotosta ohjelmointikurssilla Yleisiä ohjeita visualisointien käyttöönotosta ohjelmointikurssilla Tuukka Ahoniemi Ohjelmistotekniikan laitos, TTY tuukka.ahoniemi@tut.fi Yleistä Tämä teksti käsittelee yleisellä tasolla ohjelmoinnin

Lisätiedot

C++ Ohjelmoijan käsikirja. Johdanto

C++ Ohjelmoijan käsikirja. Johdanto Johdanto C++ Ohjelmoijan käsikirja Johdanto Tervetuloa Inside C++-kirjan pariin. Tämä on opaskirja standardi C++:n käyttöön. Käsittelemme kirjassa kaikki syntaksin, kieliopin, olio-ohjelmoinnin ja standardikirjastojen

Lisätiedot

1. Mitä tehdään ensiksi?

1. Mitä tehdään ensiksi? 1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

- Kuvan osoittamalla tavalla klikkaa kohtaa Tallenna Tiedosto. - Esimerkissämme Firefox selaimessa latauspalkki näyttää tältä

- Kuvan osoittamalla tavalla klikkaa kohtaa Tallenna Tiedosto. - Esimerkissämme Firefox selaimessa latauspalkki näyttää tältä 1 KODU OHJEET OSA 2 KODUN ASENNUS - Aloitamme asennuksen menemällä osoitteeseen www.google.fi ja sinne kirjoitamme kuvan osoittamalla tavalla kodu ja kun kuvan tapainen linkki listalta löytyy, niin siitä

Lisätiedot

Maha Eurosystem jarrulaskentaohjelman asennusohje versio 7.20.026

Maha Eurosystem jarrulaskentaohjelman asennusohje versio 7.20.026 2012 Tecalemit Oy Seppo Koskivuori Maha Eurosystem jarrulaskentaohjelman asennusohje versio 7.20.026 Vaatimukset: - tietokone (PC), jossa vapaa USB portti - käyttöjärjestelmä Windows XP, Vista tai Windows

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/

Koodaamme uutta todellisuutta FM Maarit Savolainen https://blog.edu.turku.fi/matikkaajakoodausta/ Koodaamme uutta todellisuutta FM Maarit Savolainen 19.1.2017 https://blog.edu.turku.fi/matikkaajakoodausta/ Mitä on koodaaminen? Koodaus on puhetta tietokoneille. Koodaus on käskyjen antamista tietokoneelle.

Lisätiedot

Naps ja Bloom teollisuusrobotiikan Peda-Forum,

Naps ja Bloom teollisuusrobotiikan Peda-Forum, Naps ja Bloom teollisuusrobotiikan simulaatio-opetuksessa @sakarikoivunen Peda-Forum, 15.8.2018 Johdanto Tuotantoautomaation koulutus- ja tutkimusvastaava Oma opetus lähinnä Tuotantoautomaation perusteet

Lisätiedot

1. Olio-ohjelmointi 1.1

1. 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ätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

KTKO104. Luento

KTKO104. Luento KTKO104 Luento 6.11.2014 OPS2016 Uusi opetussuunnitelma tulee voimaan 2016 syksyllä. Tällä hetkellä vielä luonnosvaiheessa. Muutamia huomioita: peruslukutaito, medialukutaito ym. => monilukutaito. tieto-

Lisätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Kieliteknologian ATK-ympäristö Kolmas luento

Kieliteknologian ATK-ympäristö Kolmas luento Kieliteknologian ATK-ympäristö Kolmas luento Miikka Silfverberg Nykykielten laitos 20. syyskuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 3 20. syyskuuta 2010

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Trakla2-opetusympäristö

Trakla2-opetusympäristö Trakla2-opetusympäristö TRAKLA: TietoRakenteet ja Algoritmit; KotiLaskujen Arvostelu TEKNILLINEN KORKEAKOULU Informaatio- ja luonnontieteiden tiedekunta Tietotekniikan laitos Esityksen rakenne Katsaus

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Tehostettu 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ätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

Lisätiedot

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms. Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,

Lisätiedot

Osa 7: Hahmojen ohjelmointi ja hienosäätö

Osa 7: Hahmojen ohjelmointi ja hienosäätö 1 Osa 7: Hahmojen ohjelmointi ja hienosäätö Tässä luvussa käymme läpi perusohjelmoinnin alkeita. - Ensimmäisenä koduhahmon ohjelmointia. 1. Program -osiossa tapahtuu itse se koodin kirjoitus, missä määrätään

Lisätiedot

Ohjelmointikoulutuksen tehostaminen kognitiivisilla menetelmillä

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ätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009

Tähtitieteen käytännön menetelmiä Kevät 2009 Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

Lisätiedot

Lokalisointitestaus. Matti Vuori, www.mattivuori.net 1(17) 26.3.2009

Lokalisointitestaus. Matti Vuori, www.mattivuori.net 1(17) 26.3.2009 Lokalisointitestaus Lokalisointitestauksella varmistetaan se, että ohjelmisto toimii halutussa kohdemaassa oikein ja halutulla laatutasolla. Lokalisointitestaus ei ole pelkkää käännösten testausta, vaan

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen

GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen GIS-automatisointi ja ohjelmointi/skriptaus Harri Antikainen Mistä nyt puhutaan? Automatisointi: Mikä tahansa tapa teettää tietokoneella asioita ilman että käyttäjän tarvitsee tehdä muuta kuin laittaa

Lisätiedot

Pariohjelmoinnilla lisää mielekkyyttä ohjelmoinnin opetukseen? Annika Alakastari

Pariohjelmoinnilla 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ätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

IR-lämpömittarityypit

IR-lämpömittarityypit IR-lämpömittarityypit Kokonaissäteilypyrometrit Laaja aallonpituusalue (esim. 1-100 µm) häiriöaltis Hidas (vaste 1-3 s) Osittaissäteilypyrometrit Kapea aallonpituusalue (esim. 0,5-1,1 µm) vähemmän häiriöaltis

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

ASIO-OHJE HENKILÖSTÖLLE. www.laurea.fi

ASIO-OHJE HENKILÖSTÖLLE. www.laurea.fi ASIO-OHJE HENKILÖSTÖLLE www.laurea.fi ASIOssa henkilöstö voi: Varata tiloja mistä tahansa Laurean kampukselta Tarkastella omaa opetusaikataulua ja opetukselle varattuja tiloja kalenterinäkymässä Saada

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi

Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen

Lisätiedot

TIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä

TIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä TIE-20306 Principles of Programming Languages Seminaariesityksen essee Ryhmä 18: Heidi Vulli, Joni Heikkilä SISÄLLYSLUETTELO 1. Johdanto... 1 2. Ohjelmointikielen perusperiaatteet... 1 2.1 Paradigmat...

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Raspin Geany-IDE:n etäkäyttö

Raspin Geany-IDE:n etäkäyttö Raspin Geany-IDE:n etäkäyttö PUNOMO NETWORKS OY 23.7.2016 pva Geany ei ole IDE, eikä se ole teksturi, vaan se on kevyt-ide. IDE, Integrated Development Environment, integroitu ohjelmointiympäristö. Geany

Lisätiedot

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt

Lisätiedot

Asennuksessa kannattaa käyttää asennusohjelman tarjoamia oletusarvoja.

Asennuksessa kannattaa käyttää asennusohjelman tarjoamia oletusarvoja. 1 1 Tivax Laskutus 4.5 1.1 Tivax ohjelman asentaminen TivaxLaskutus version 4.5 asentamiseksi on oltava asennus CD. Asennusohjelma käynnistetään tuplaklikkamalla asennus CD:llä olevaa Tivax45LaskuSetup.exe

Lisätiedot

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER Group 16 Ville Laatu Henri Myllyoja - i SISÄLLYSLUETTELO 1. DEBUGGERI YLEISESTI... II 1.1 Debuggerin käyttämien... ii 1.2 Debuggerin käynnistäminen... ii

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan

Lisätiedot

Pedacode Pikaopas. Web Service asiakasohjelman luominen

Pedacode Pikaopas. Web Service asiakasohjelman luominen Pedacode Pikaopas Web Service asiakasohjelman luominen Pikaoppaan sisältö Pikaoppaassa kuvataan, Netbeans-työkalulla luodaan valmista olemassa olevaa Web Service palvelua käyttävä asiakasohjelma. Opas

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

http://info.edu.turku.fi/mato/

http://info.edu.turku.fi/mato/ Matemaattisia VALOja Vapaita avoimen lähdekoodin ohjelmia matematiikan opettamiseen ja muuhun matemaattiseen käyttöön. http://info.edu.turku.fi/mato/ LaTeX ja Texmaker LaTeX on ladontaohjelmisto, joka

Lisätiedot

1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Perusohje vi-editorin käyttöön

Perusohje vi-editorin käyttöön Perusohje vi-editorin käyttöön Aapo Rista 22.9.2000 Sisältö 1 Johdanto 1 2 vi:n komento- ja kirjoitustilat 2 3 vi:n käynnistäminen ja siitä poistuminen 2 4 Liikkuminen tekstissä 3 5 Merkkien lisääminen

Lisätiedot

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö Yleistä Tehtävä: Tee Javalla LineBreaker-ohjelma tekstirivin sovittamiseen tekstialueelle riviä katkomalla. Lausekielinen ohjelmointi II -kurssin pakollinen

Lisätiedot

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/

DXL Library ja DXL-kielen olemus. Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DXL Library ja DXL-kielen olemus Pekka Mäkinen Pekka.Makinen@softqa.fi SoftQA Oy http/www.softqa.fi/ DOORS extension Language DXL on DOORSin laajennuskieli, jolla voidaan kehittää lisätoiminnallisuutta.

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

17/20: Keittokirja IV

17/20: Keittokirja IV Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita

Lisätiedot

Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa

Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa Cleantech gaalan iltapäiväseminaari 20.11.2013 Helena Mälkki & Petri Peltonen Aalto-yliopisto,

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

58160 Ohjelmoinnin harjoitustyö 58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista

Lisätiedot

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu 24.10.2012 Purot.net Wiki Tutkielma Paavo Räisänen Centria Ammattikorkeakoulu 24.10.2012 Sisällysluettelo 1: Esittely 2: Perustaminen 3: Uuden sivun luonti 4: Kuvien lisääminen 5: Linkin lisääminen 6: Lopuksi 1:

Lisätiedot

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka

Lisätiedot

Uutta Remote Support Platform 3.0 -versiossa

Uutta Remote Support Platform 3.0 -versiossa Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2

Lisätiedot

Java-kielen perusteet

Java-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ätiedot

Ensin klikkaa käynnistä-valikkoa ja sieltä Kaikki ohjelmat valikosta kaikki ohjelmat

Ensin klikkaa käynnistä-valikkoa ja sieltä Kaikki ohjelmat valikosta kaikki ohjelmat Microsoft Office 2010 löytyy tietokoneen käynnistä-valikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Jype visualisointi ja automaattinen arviointi ohjelmoinnin opetuksessa

Jype visualisointi ja automaattinen arviointi ohjelmoinnin opetuksessa Tietojenkäsittelytiede 31 Marraskuu 2010 sivut 43 56 Toimittaja: Jorma Tarhio c kirjoittaja(t) Jype visualisointi ja automaattinen arviointi ohjelmoinnin opetuksessa Juha Helminen Aalto-yliopisto Tietotekniikan

Lisätiedot

Teollisuusautomaation standardit Osio 9

Teollisuusautomaation standardit Osio 9 Teollisuusautomaation standardit Osio 9 Osio 1: SESKOn Komitea SK 65: Teollisuusprosessien ohjaus Osio 2: Toiminnallinen turvallisuus: periaatteet Osio 3: Toiminnallinen turvallisuus: standardisarja IEC

Lisätiedot

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Tentti Tentti Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla. Omia koneita ei saa käyttää. Sähköisessä tentissä on paperitentin tapaan osaamisen

Lisätiedot

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet KOODUSPLÄJÄYS Ohjelmoinnin perusteet Korttien merkinnät Korttien yläreunaan on merkitty, mitä taitoja ja ohjelmoinnissa käytettyjä rakenteita korteista oppii. Merkkien määrä ( 4) kuvaa kortin vaikeustasoa.

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

Näkökulmia tietoyhteiskuntavalmiuksiin

Nä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ätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea. Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla

Lisätiedot

IR-lämpömittarityypit

IR-lämpömittarityypit IR-lämpömittarityypit Kokonaissäteilypyrometrit Laaja aallonpituusalue (esim. 1-100 µm) häiriöaltis Hidas (vaste 1-3 s) Osittaissäteilypyrometrit Kapea aallonpituusalue (esim. 0,5-1,1 µm) vähemmän häiriöaltis

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

Lisätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Tekstinkäsittelyn jatko KSAO Liiketalous 1

Tekstinkäsittelyn jatko KSAO Liiketalous 1 KSAO Liiketalous 1 Makrojen perusteita Toistuvia tehtäviä ja tehtäväsarjoja voidaan automatisoidan makrojen avulla. Makrot ovat sarja nauhoitettuja käskyjä, jotka määräävät mitä toimintoja makro toteuttaa.

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

Lisätiedot

Ruby. Tampere University of Technology Department of Pervasive Computing TIE Principles of Programming Languages

Ruby. Tampere University of Technology Department of Pervasive Computing TIE Principles of Programming Languages Tampere University of Technology Department of Pervasive Computing TIE-20306 Principles of Programming Languages Ruby Ryhmä 8 Juho Rintala Sami Paukku Sisällysluettelo 1 Johdanto... 3 2 Paradigma... 3

Lisätiedot

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Mitä on konvoluutio? Tutustu kuvankäsittelyyn Mitä on konvoluutio? Tutustu kuvankäsittelyyn Tieteenpäivät 2015, Työohje Sami Varjo Johdanto Digitaalinen signaalienkäsittely on tullut osaksi arkipäiväämme niin, ettemme yleensä edes huomaa sen olemassa

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisä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ätiedot

1 Tivax siirto uuteen koneeseen

1 Tivax siirto uuteen koneeseen Tivax siirto uuteen koneeseen 1 1 Tivax siirto uuteen koneeseen 1.1 Tivax ohjelman asentaminen Huom. Siirrossa mahdollisesti esiintyvien ongelmien ratkaisu on veloituksetonta ainoastaan asiakkaille, joilla

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot