Visuaalinen ohjelmointi tietotekniikan perusopetuksessa
|
|
- Ahti Pesonen
- 7 vuotta sitten
- Katselukertoja:
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 Tuukka Ahoniemi Ohjelmistotekniikan laitos, TTY tuukka.ahoniemi@tut.fi Yleistä Tämä teksti käsittelee yleisellä tasolla ohjelmoinnin
LisätiedotC++ 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ätiedot1. 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ätiedotAS-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ätiedot4. 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ätiedotMaastotietokannan 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ätiedotELM 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ätiedot11/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ä
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ätiedotMaha 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ätiedot811120P 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ätiedotKoodaamme 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ätiedotNaps 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ä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ätiedotBlueJ 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ätiedotKTKO104. 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ätiedotPERL. 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ätiedotVisual 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ätiedot811120P 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ätiedotKieliteknologian 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ätiedotPythonin 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ätiedotTrakla2-opetusympäristö
Trakla2-opetusympäristö TRAKLA: TietoRakenteet ja Algoritmit; KotiLaskujen Arvostelu TEKNILLINEN KORKEAKOULU Informaatio- ja luonnontieteiden tiedekunta Tietotekniikan laitos Esityksen rakenne Katsaus
LisätiedotIDL - 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ä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ätiedot5. 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ätiedotMITÄ 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ätiedotSen 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ätiedotOhjelmointi 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ätiedotJohnson, 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ätiedotOsa 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ätiedotOhjelmointikoulutuksen 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ätiedotATK 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ätiedotTä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ätiedot11. 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ätiedotTutkittua 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ätiedotLokalisointitestaus. 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ätiedotEsimerkkiprojekti. 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ätiedotGIS-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ä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ätiedotOhjelmointi 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ätiedotIR-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ä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ätiedotLisää 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ätiedotASIO-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ätiedot5. 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ätiedotPedacode 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ätiedotNä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ätiedotTIE 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ätiedotOhjelmoinnin 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ätiedotOhjelmointitaito (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ätiedotRaspin 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ätiedotSoveltuvuustutkimus 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ätiedotAsennuksessa 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ätiedotPRINCIPLES 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ätiedotTä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ätiedotPong-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ätiedotPedacode 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ätiedotPong-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ätiedothttp://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ätiedot1. 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ätiedotPerusohje 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ätiedotLausekielinen 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ätiedotDXL 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ätiedotTaulukot. 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ätiedot12. 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ätiedot17/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ätiedotAalto 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ätiedot58160 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ätiedotPurot.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ätiedotVERSIONHALLINTA. 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ätiedotITKP102 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ätiedotPerinteiset 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ätiedotPeilaus 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ätiedotUutta 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ätiedot12. 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ätiedotTIE 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ä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ätiedotEnsin 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ätiedotetunimi, 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ätiedotJype 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ätiedotTeollisuusautomaation 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ätiedotTentissä 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ätiedotKOODAUSPLÄ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ätiedotMäärittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
LisätiedotConcurrency - 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ätiedotS11-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ä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ätiedotSelainpelien pelimoottorit
Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta
LisätiedotDepartment 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ätiedotIR-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ätiedotMatriisit 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ätiedotTestaaminen 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ätiedotOhjelmoinnin 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ätiedotTekstinkä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ätiedotYksikkö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ätiedotRuby. 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ätiedotMitä 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ä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ätiedot1 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ätiedotTAMPEREEN 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