2.2. Tietokoneohjelman tekeminen pva, kuvat jma
|
|
- Albert Mäkelä
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 2.2. Tietokoneohjelman tekeminen pva, kuvat jma Nothing is particularly hard if you divide it into small jobs. - Henry Ford Yleistä Tietokone tekee kaiken sen - ja vain sen - mitä ohjelmoija ohjelmassa määrittää. Ohjelma on tietokoneen toimintaohje, joka koostuu peräkkäisistä komennoista eli käskyistä. Käskyt on tallennettu ohjelmamuistiin, josta ne haetaan yksi kerrallaan ja viedään mikroprosessorin käskynkäsittelyyksikköön, jossa ne tulkitaan ja tehdään käskyn määräämä pieni, hyvin yksinkertainen toiminto. Riittävän paljon erilaisia pieniä toimintoja, hyvin, hyvin nopeaan tahtiin peräjälkeen suoritettuna muodostaa ajettavan ohjelman. Kuva Koneellisen tiedonkäsittelyn idea. Ohjelmia on joka lähtöön. Yksi mahdollistaa kännykän puheliikenteen, toinen punnitsee kaupan hedelmätiskillä banaanipussin painon ja kolmas laskee ostoksen hinnan ja vielä tulostaa viivakooditarran. 1
2 2.1. Tietokoneohjelman tekemisen eri vaiheet Ensiaskel ohjelmien laatimisen opiskelussa on perehtyä ja jäsentää ajatteluunsa oikeat ohjelman tekemisen metodit. Seuraavat sivut kannattaa lukea nyt huolella ja myöhemmin, sitten kun hieman ohjelmointikokemusta on kertynyt, kerrata ne omaksumisen tasolle. Tutkitaan ohjelmantekoprosessia ensin kaaviokuvalla. Kuvahan kertoo enemmän kuin sata sanaa. Sen avulla voi nopeasti hahmottaa monimutkaisiakin asioita, siis mitä ollaan tutkimassa tai tekemässä. Kuva Tietokoneohjelman tekemisen eri vaiheet. Kaikki alkaa suunnittelusta On hyvin tärkeää, että ohjelma oikeasti suunnitellaan, eikä vaan ajauduta summittaisen yritys- ja erehdys-systeemin kautta epätoivoon. Kunnollinen suunnittelu antaa työskentelyyn ryhtiä ja luo kestävän perustan jolle varsinainen koodi rakennetaan. Aivo- ja käsityönä. Suunnittelu tulee tehdä ensimmäisenä, ennen ensimmäisenkään koodirivin kirjoittamista. Kokemus on osoittanut, että ohjelma kannattaa suunnitella ylhäältä alas, top down. Hahmotetaan ensin kokonaisuus ja jaetaan sitten tämä pienempiin, helpommin hallittaviin osiin, moduuleihin. Jos moduulit suunnitellaan itsenäisiksi toimintakokonaisuuksiksi, joista voi kirjoittaa itsenäisiä funktioita, niin varsinainen koodin kirjoittaminen ja testaaminen helpottuu oleellisesti. Toisinkin voi tehdä. 2
3 Varsinkin sulautetuissa järjestelmissä asia voidaan, ja joskus kannattaakin (riippuu tapauksesta), tehdä toisin päin, alhaalta ylös. Jos tehdään esimerkiksi termostaatti, tehdään ensin mittaussysteemi, joka testataan huolellisesti. Sitten tehdään erikseen asetusarvon syöttö, ja toimilaitteen ohjaus, jotka samoin testataan. Lopuksi kirjoitetaan pääohjelma, joka vain mittaa, vertaa ja ohjaa. Jokainen ymmärtää, että suunnitteluprosessi on aivan erilainen, jos kännykkätehtaan ympäri maailmaa hajautetut asiantuntijaryhmät pitää ohjata tekemään uutta matkapuhelinsukupolven ohjelmaa, tai jos yksinäinen koodaaja päättää tehdä ohjelman (ja elektroniikan), joka pyörittää tuuletinta lämpötilan ylittäessä tietyn raja-arvon. Ensimmäinen on hyvinkin pitkä, erittäin sosiaalinen ja moniulotteinen prosessi, jälkimmäinen individualistin yksinäistä puuhastelua. 1. Tehtävän määrittely, analyysi Aluksi on viisainta jäsentää tietokoneelle annettavaa tehtävää yksityiskohtaisesti, kirjoittamalla se selväkielisenä paperille. Tai oikeastaan ehkä nykyään teksturilla kuvaruudulle. Analysoidaan eli selvitetään mikä on ongelma joka ohjelmalla on tarkoitus hoitaa. Siis mitä ohjelmalla pyritään tekemään. Ajatellaanpa tovi miten kotoinen leipuri toimii. Hänen arkinen tehtävänsä voi olla vaikka valmistaa sokerikakku. Aluksi hän pohtii, kuinka suuri kakku eli montako vierasta tulee, mitä työvälineitä ja raaka-aineita tarvitaan ja kuinka paljon, onko niitä valmiina hyllyssä vai pitääkö ostaa/lainata, onko uuni riittävän lämmin jne. Hän analysoi eli jäsentää kakun valmistusprosessia, siis pohtii mitä kaikkea pitää tehdä ja missä järjestyksessä ennen kuin herkku on valmis kahvipöytään. Kakun tekemisestä luodaan, ellei paperille, niin ainakin päässä, algoritmi. Vaikka tuskin leipuri sitä nimeä käyttää. Mikro-ohjaimen ohjeet tehdään aivan samalla tavalla. Analyysi tehdään selväkielisenä. Varsinainen tehtävä on ensin jaettava sellaisiin osiin, jotka ohjelmassa suoritetaan erikseen. Tapauksesta riippuen, mietitään mm: - millaisiin osiin, moduuleihin, tehtävä kannattaa jakaa - mitä I/O-portteja ja/tai oheiskomponentteja tarvitaan - tarvitaanko käyttöjännitteen lisäksi muita jännitteitä - tarvittavien syöttö- ja tulostustietojen/ohjaussignaalien muotoa ja sisältöä - mitä tulevalle tiedolle tehdään, mihin pyritään, mitä sillä ohjataan - mietitään erikoistapaukset - mitä tehdään, jos jokin menee pieleen Näiden perusteella kirjoitetaan algoritmi. 3
4 2. Algoritmi Algoritmi vastaa kysymykseen, mitä pitää tehdä ja missä järjestyksessä, jotta tavoite saavutetaan? Se on kuvaus toimenpiteistä, joiden avulla tietokone tehtävän suorittaa. Algoritmilla kuvataan ongelman ratkaisu niin yksinkertaisina loogisina askeleina, että sen perusteella voidaan kirjoittaa ohjelma. Kakun tekemiseen riittää ylimalkaiset ohjeet, sillä ihminen pystyy järkeilemään epätarkatkin sanonnat ( ripaus, hyppysellinen, maun mukaan ). Tietokone ei tähän pysty. Siksi sille pitää kirjoittaa pilkuntarkat ohjeet. Algoritmin idean oppiminen ja hyödyntäminen lienee vaikein osa ohjelmoinnin oppimista. Aiheesta on kirjoitettu useita kirjoja. Niihin kannattaa tutustua. Mutta vasta myöhemmin, kun ohjelmoijalla on tarpeeksi pohjatietoa asian omaksumiseen. Uusi tieto tarvitsee tartuntapintaa. Sulautettuihin systeemeihin ensiaskeleitaan ottavan tulee hallita ainakin algoritmien perusteet. Ne tulevat tässä. Algoritmin kirjoittaminen Ongelman ratkaisun kuvaus voidaan tehdä monella eri tavalla. 1. Matemaattinen malli - esimerkkinä vaikka lukujärjestelmämuunnokset. 2. Vuokaavio - joka etenee kuva kuvalta kohti ratkaisua. 3. Pseudokieli, -koodi - lopullista ohjelmakoodia jäljittelevää tekstiä Parasta opetella käyttämään yhtä kirjoittamismallia kunnolla. Tällöin valinta(ehdotukseni) on pseudokieli, koska siinä tehtävän jäsentelyn ohessa syntyy ohjelmalauseiden alkioita. Toisaalta pseudokoodin kirjoittaminen on saanut yhä lisääntyvää suosioita ohjelmoijien keskuudessa. Pseudokieli Pseudokieli on selväkielistä tekstiä, siis ihmiselle tarkoitettu kuvaus mitä ollaan tekemässä. Se on sekoitus suomea (englantia) ja C-kielen termejä, joilla kuvataan tehtävän suoritusaskeleet. Jokaisesta moduulista (funktio) kirjoitetaan oma pseudokoodi. 4
5 Pseudokoodin kirjoittaminen aloitetaan sitten, kun ensin on selvitetty perusteellisesti, mikä on ongelma, mitä ollaan tekemässä, mikä on toimintaympäristö, mitä se edellyttää ohjelmalta. Esim. kännykän ohjelman tekemisessä itse koodin kirjoittaminen sujuu, kunhan ensin on kirjoitettu toimiva algoritmi (tai oikeastaan toimivat algoritmit). Sen tekeminen on suuritöinen ja vaikeasti hallittava prosessi, koska ensin pitää selvittää järjestelmän toiminta, mitä kaikkia signaaleja ja datoja se käsittää, millaisia ne ovat, millä ajanhetkellä ja millä ehdoilla ne ovat voimassa, mitä niille voi ja saa ja pitää tehdä ja milloin, jne. Algoritmi kannattaa kirjoittaa pseudokoodiksi, sillä se on lähimpänä lausekielistä ohjelmarakennetta ja siten jatko on vähätöisempää. Tärkeää on jakaa monimutkainen tehtävä, task, lohkoiksi, eli osatehtäviksi. Jos on tarvetta, nämä jaetaan edelleen pienemmiksi osatehtäviksi, kunnes päädytään helposti ratkaistavaan 'pikku ongelmaan'. Kun pseudokielen avulla on luotu kuvaus tehtävästä, niin sitten sen kääntäminen ja kirjoittaminen varsinaiseksi lähdekoodiksi on helppoa. Tai ainakin se on vähemmän vaikeaa. Tässä mahdollisimman yksinkertainen esimerkki, joka selvittää asiaa. Toinen esimerkki, perusteellisempi, on kirjan lopussa, jossa käydään läpi kännykkään liittyvä harjoitusprojektityö. Tehtävä: Mikrotietokoneella mitataan huoneen lämpötila minuutin väliajoin, tallennetaan arvot muistiin ja tulostetaan ne LCD-näyttöön. Jos raja-arvo ylittyy, annetaan hälytys. Pseudokoodi Alku luo taulukko ja aseta rekisterit alkuarvoihin // CPU, keskeytys- ja timer-rekisterit ja LCD-näyttö repeat(1) // toista niin kauan kuin { mittaa_aikaa, kun minuutti kulunut read anturi() // lue lämpötila-anturi laske_asteet() // muuta lukema Celcius-asteiksi talleta taulukkoon() tulosta_asteet() // tulosta näyttöön jos aste > raja-arvo // testi anna_halytys() } Sama asia voidaan esittää vuokaaviona esimerkiksi näin. 5
6 Kuva Vuokaavioesitys. Algoritmi kirjoitetaan ihmisen ajattelua varten, mutta koko ajan miettien, miten työ on tietokoneella tehtävissä. Hyvin tehdystä algoritmista on helppoa kirjoittaa itse ohje, eli ohjelma tietokoneelle. Parhaimmillaan ohjelmalauseet vain pudotellaan ruudulle algoritmin ohjaamana. 3. Lähdekoodin kirjoittaminen Ulkopuoliselle ohjelmointi näyttää tietokoneen ääressä istumiselta ja cokiksen juomiselta, mitä nyt välillä naksutellaan näppäimistöä. Mutta se on aivan muuta. Tavallaan ohjelmointi on algoritmin kääntämistä ohjelmointikielelle. Algoritmin kääntäminen tapahtuu pääasiassa ohjelmoijan päässä. Siksi työ vaatii häiriöttömän työskentely-ympäristön ja edellyttää syvää keskittymistä. Harmaat aivosolut on viritettävä hallitusti maksimisuoritukseen. Jos tehtävästä on kirjoitettu hyvä algoritmi, silloin asiaa on selvästikin syvällisesti mietitty ja itse ohjelman kirjoittaminen on vähemmän työlästä, etten sanoisi helppoa. Ainakin se on antoisaa. 6
7 Tietokoneelle annettavien toimintaohjeiden on oltava yksityiskohtaisia ja yksikäsitteisiä, konkreettisia. Sokerikakun tekijälle riittää suurpiirteinen, abstrakti ohje. Virheettömän koodin tekeminen ensimmäisellä kirjoittamiskerralla onnistuu harvoin. Usein jäädään, ainakin joksikin aikaa, kolmen koon silmukkaan : kirjoita, käännä, kokeile. Mitä lyhyempi tämä silmukka on, sitä parempi. Älä kirjoita pitkää koodia yhteen menoon, vaan käännä ja testaa mielellään yksi funktio kerrallaan. Vian ilmetessä muuta lähdekoodia vain yhdestä kohtaa. Muuten on vaikea todeta, mikä toimenpide oikeastaan virheen poisti. Tai aiheutti niitä lisää. Jos yhden funktion lauseet eivät mahdu kerralla kuvaruudulle, koodi on todennäköisesti liian pitkä ja siten liian vaikeasti hallittavissa. Palastellaan ongelmaa lisää muodostamalla uusia funktioita, siten ratkaisun löytyminen helpottuu. Ohjelma: - aluksi kirjoitetaan ohjelma jollakin ihmisen ymmärtämällä ohjelmointikielellä - sitten se käännetään käänninohjelmalla tietokoneen ymmärtämäksi konekieleksi. Itse ohjelma voidaan toteuttaa millä kielellä tahansa, kunhan sille löytyy käytettävälle mikro-ohjaimelle koodia tekevä käänninohjelma. 4. Lähdekoodin kääntäminen Ohjelman lähdekoodi kirjoitetaan jollain editorilla ja käännetään käänninohjelmalla konekielelle eli mikroprosessorin ymmärtämään muotoon. Jos lähdekoodi ei ole C-kielen kieliopin sääntöjen mukaista, käänninohjelma keskeyttää kääntämisen ja antaa virheilmoituksen. Usein tämä virheilmoitus on älykäs arvaus, virhe voi olla ilmoituksen mukainen, tai jossain siellä päin. Tutki ilmoitus tarkkaan ja mietinnän jälkeen korjaa virhe, yksi kerrallaan. Jos virheitä on monta, aloita aina ensimmäisestä. Useimmiten tämän jälkeen virheiden määrä vähenee oleellisesti. Usein C-käännin generoi varsinaisen käännetyn koodin lisäksi monta muuta tiedostoa. Niitä voi hyödyntää ohjelmavikojen etsinnässä tai koodin toiminnan optimoinnissa. 5. Mikro-ohjaimen ohjelmointi Ajokelpoinen koodi on siirrettävä PC:n muistista mikro-ohjaimen ohjelma-muistiin. Sen tekee erityinen latausohjelma (ohjelmointiohjelma), joka siirtää koodin PC:ltä kirjoitin-, sarja-, tai USB-portin kautta ohjelmointikaapelia pitkin mikro-ohjaimen ohjelmointiliitäntään. Harvemmin nykyään käytetään erillistä ohjelmointilaitetta. Ohjelma: - sellaisia peräkkäisiä binäärilukuja (ykkösiä ja nollia) ohjelmamuistissa, jotka CPU osaa tulkita transistorien ohjausjännitteiksi. 7
8 6. Ohjelman testaus ja virheiden etsintä, debuggaaminen Ohjelman loogiset virheet tulevat esille vasta ajamalla sitä oikeassa toimintaympäristössä. Jos nyt ilmenee virheitä, taas on miettimisen paikka. Korjaa virhe vasta, kun tiedät tarkalleen, mikä sen aiheuttaa ja miten se korjataan. Muuten saattaa tapahtua niin, että korjauksen seurauksena syntyy uusia, entistä vaikeampia virheitä. Testauskin kannattaa tehdä palasina. Siis ohjelmaa pitää testata kaiken aikaa, sitä mukaa kuin se valmistuu. Jos suinkin mahdollista funktio kerrallaan. Silloin ongelmien ilmetessä ei niitä tarvitse etsiä suuresta koodikokonaisuudesta, vaan vian etsiminen voidaan kohdistaa pieneen, tarkasti määriteltävään ohjelman osaan. Kun kaikki moduulit on valmiina ja yksittäin testattuna, kokonaisuuden testaus tuskin aiheuttaa ongelmia. Ohjelmavirheet ovat bugeja ja siten de-buggaaminen on virheiden etsimistä ja korjaamista. Siihen on tehty moninaisia työkaluja. Niitä sanotaan debuggereiksi. Simulaattori on eräs tällainen testaustyökalu, se matkii mikro-ohjaimen toimintaa. Simulaattori on PC:ssa ajettava ohjelma, jonka avulla testataan ohjelman toiminta (etsitään mahdolliset virheet) ennenkuin itse sulautettua rautaa on saatavillakaan. Emulaattori on toinen tärkeä testaus- ja debuggaustyökalu. Siinä tutkittava ohjelma ajetaan oikeassa ympäristössä, tässä tapauksessa AVR-mikro-ohjaimessa. Emulaattori tuo PC:n ruudulle näkyviin kaiken mitä mikroohjaimen sisällä rekistereissä tapahtuu, siis juuri testattavassa laitteessa ja reaaliajassa. o ohjelmakoodia voidaan ajaa AVR:ssa käskyrivi kerrallaan o ohjelmasuoritus voidaan pysäyttää jonkin ehdon perusteella (breakpoint) o suorituksen aikana voidaan seurata ja muutella rekistereitä, I/O-portteja muistipaikkoja muuttujia Erikoisesti ohjelmoinnin opiskelussa emulaattori on kelpo apulainen. Samalla sen avulla opitaan tehokkaasti mikro-ohjaimen toiminta ( mitä siellä CPU:ssa oikeesti tapahtuu ). 7. Ohjelman dokumentointi ja ylläpito Dokumentointi on tärkeä osa ohjelmaprojektia, varsinkin jos tehdään isompaa, aikaa ja monta ohjelmoijaa vaativaa työtä. Ilman kunnon dokumentointia ohjelman ylläpito (päivitykset, muutokset, korjaukset) on lähes mahdotonta. Sen merkityksestä saa käsityksen kun tietää, että (muille) hyödyllisen dokumentin tekeminen vie aikaa usein enemmän kuin itse koodin kirjoittaminen. Siksi isoissa ohjelmistoprojekteissa on kullakin ohjelmoijaryhmällä (noin tusina ammattilaisia) oma laatuinsinööri. 8
9 Hän on henkilö joka valvoo, että kukin koodaaja tekee yhtiön normin mukaista koodia ja samalla kunnon dokumentointia työstään ja että se vielä valmistuu ajallaan. Jos aikoo ammattilaiseksi, pitää heti opetella oikeat työmenetelmät. Pienissäkin projekteissa dokumentin tekeminen kannattaa aloittaa samanaikaisesti itse ohjelman suunnittelun kanssa. Lopputuloksen tulee olla sellainen, jota itse kaipaa silloin, kun ottaa toisen tekemän ohjelmiston vastuulleen. Mitä tietoja kunnollinen dokumentaatio sisältää? Ainakin tämän: 1. Tiedot ohjelmasta - ohjelman nimi ja ohjelman tekijä ja päivämäärä - mikro-ohjain, jolle ohjelma kirjoitettu - mihin tarkoitukseen ohjelma on tehty, mitä se tekee 2. Ohjelman rakenne - yleinen rakenne - pääohjelma main() ja funktiot - yksityiskohtainen rakenne pseudokoodina - C-kielinen ohjelman listaus - lähtö- ja tulostiedot 3. Ohjelman testaus - testiaineisto Yhteenveto ohjelman tekemisestä 1. Kirjoita idea teksturilla näkyville ja väyrystele - miksi ohjelma kannattaa/tulee tehdä? 2. Laadi ideasta algoritmi - mitä ohjelma tekee ja miten? 3. Algoritmin pöytätestaus, pseudokoodin kirjoitus - menikö kaikki oikein? 4. Ohjelman tekeminen/kirjoittaminen (pseudokoodista) ja testaus - tekeekö ohjelma haluttuja asioita, onko korjattavaa? - syntyykö ohjelman toiminnan pohjalta lisää ideoita? 5. Jos lisää ideoita tai ohjelmaa pitää muuttaa/parantaa, siirry kohtaan 2 Väyrystellä = nukkua yön yli 9
Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot
Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot 1. vuosi Perusopinnot 2. vuosi 3. vuosi ELEKTRONIIKAN SUUNNITTELU JA TESTAUS MOBIILI TIETOLIIKENNE OHJELMISTOJEN KEHITYS 4. vuosi Ohjelmistojen kehitys
LisätiedotOHJELMISTOKEHITYS -suuntautumisvaihtoehto
OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä
LisätiedotAlkukartoitus Opiskeluvalmiudet
Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan
LisätiedotBL40A1810 Mikroprosessorit, harjoitus 1
BL40A1810 Mikroprosessorit, harjoitus 1 Käytettävä laitteisto Kurssin opetuslaitteistona käytetään Legon MINDSTORMS laitteita, jonka pääosia ovat ohjelmoitava NXT-yksikkö (Atmel ARM7, 64k RAM, 256k Flash),
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ä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ätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia
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ä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ä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ä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ätiedotTT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu
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ätiedotOhjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotTKT224 KOODIN KOON OPTIMOINTI
- 1 - Laboratoriotyö TKT224 Oppimäärä: Ammattiaineiden laboraatiot Kurssi: Tietokonetekniikan laboraatiot Laboratoriotyö: TKT224 KOODIN KOON OPTIMOINTI Teoriakurssi, johon työ liittyy: Työn laatijat: T.Laitinen
LisätiedotAlgoritmit 1. Luento 3 Ti Timo Männikkö
Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien
LisätiedotOngelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä
Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä olevilla komponenteilla? Voisiko jollakin ohjelmointikielellä
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ätiedotLaiteläheinen C-kieli, yleistä
Laiteläheinen C-kieli, yleistä PUNOMO NETWORKS OY 23.8.2016 pva Johdanto Mikroprosessori, CPU, Central Prosessing Unit on komponentti, jonka toiminta on ohjattavissa muistiin tallennetuilla käskyillä.
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
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ätiedotAVRStudion käyttö debuggaukseen. Emulaattori 24.8.2008 pva
AVRStudion käyttö debuggaukseen. Emulaattori 24.8.2008 pva Hän joka mikro-ohjain-oppia ilmaiseksi jakaa, hän elää ja kuolee rikkaana. - Mr Ben Mable Yleistä Perusteellisesti ja huolella suunniteltu koodi
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 28.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 28.9.2015 1 / 16 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen
LisätiedotASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
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ätiedotAutomaattinen yksikkötestaus
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä
LisätiedotMatopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
LisätiedotKerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:
Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.
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ä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ä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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
LisätiedotOhjelmistojen virheistä
Ohjelmistojen virheistä Muutama sana ohjelmistojen virheistä mistä niitä syntyy? Matti Vuori, www.mattivuori.net 2013-09-02 1(8) Sisällysluettelo Ohjelmistojen virheitä: varautumattomuus ongelmiin 3 Ohjelmistojen
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ä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ä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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
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ätiedotKääntäjän virheilmoituksia
OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:
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ätiedotOhjelmistojen testaus ja hallinta. Gradle
Ohjelmistojen testaus ja hallinta Gradle Perinteiset koontityökalut Ant Maven 2 Maven XML-pohjaiset koontitiedostot (pom.xml) Pohjautuu käytäntöihin (vain poikkeukset käytännöistä kirjoitetaan koontitiedostoon)
Lisätiedot1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS
Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1 YLEISTÄ 1.1 PROJEKTIN TARKOITUS Tämä projekti on mikrokontrollerilla toteutettu lämpötilan seuranta kortti. Kortti kerää lämpöantureilta
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ätiedotOhjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.
Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
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ätiedotOngelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
LisätiedotÄlykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.
Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen
LisätiedotAlgoritmit. Ohjelman tekemisen hahmottamisessa käytetään
Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotMikro-ohjain µc harjoitukset - yleisohje
Mikro-ohjain µc harjoitukset - yleisohje Keijo Salonen 20. marraskuuta 2016 Sisältö 1 Esittely 2 2 Arduino UNO R3 mikro-ohjain kortti 2 3 Koekytkentälevy 5 4 Elektroniikan komponentit 7 5 Työkalut ja muut
LisätiedotTest-Driven Development
Test-Driven Development Syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole keksiä kaikkia mahdollisia
LisätiedotTietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
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ätiedotZeon PDF Driver Trial
Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
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ätiedot9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi
9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
LisätiedotTestaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:
Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,
LisätiedotExcel-harjoitus 1. Tietojen syöttö työkirjaan. Taulukon muotoilu
Excel-harjoitus 1 Tietojen syöttö työkirjaan Kuvitteellinen yritys käyttää Excel-ohjelmaa kirjanpidon laskentaan. He merkitsevät taulukkoon päivittäiset ostot, kunnostuskulut, tilapäistilojen vuokramenot,
LisätiedotHarjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
LisätiedotKäännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
Lisätiedot2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
LisätiedotTest-Driven Development
Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole
LisätiedotTarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen
Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
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ätiedotMoniasiakkuus ja osallisuus palveluissa -seminaari 4.10.2012 Moniammatillinen yhteistyö ja asiakaskokemukset
Moniasiakkuus ja osallisuus palveluissa -seminaari 4.10.2012 Moniammatillinen yhteistyö ja asiakaskokemukset Riikka Niemi, projektipäällikkö ja Pauliina Hytönen, projektityöntekijä, Jyväskylän ammattikorkeakoulu
LisätiedotKIELENOPPIJOITA TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) KIELEN KÄYTTÖ, VUOROVAIKUTUS NÄKEMÄLLÄ
KIELENOPPIJOITA KIELEN KÄYTTÖ, VUOROVAIKUTUS TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) TEKEMÄLLÄ OPPIJA (KINESTEETTINEN) LUOVA KIELENKÄYTTÄJÄ HOLISTINEN OPPIJA (KOKONAISUUDET TÄRKEITÄ)
LisätiedotIntegrointialgoritmit molekyylidynamiikassa
Integrointialgoritmit molekyylidynamiikassa Markus Ovaska 28.11.2008 Esitelmän kulku MD-simulaatiot yleisesti Integrointialgoritmit: mitä integroidaan ja miten? Esimerkkejä eri algoritmeista Hyvän algoritmin
LisätiedotT Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
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ätiedot2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)
2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi
Lisätiedot1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
LisätiedotOngelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla
Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan
LisätiedotLuento 5. Timo Savola. 28. huhtikuuta 2006
UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke
LisätiedotTestaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu
LisätiedotOhjelmiston testaus ja laatu. Testaustasot
Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
LisätiedotKontrollerin sisäisten komponenttien käytöstä. Vielä vähän asiaa sisäisten lohkojen käytöstä
Mikrokontrollerit Kontrollerin sisäisten komponenttien käytöstä Mikrokontrollerit Vielä vähän asiaa sisäisten lohkojen käytöstä Sulautetussa järjestelmässä laitteiston ominaisuudet hallitaan ohjelmistolla.
LisätiedotTietokoneohjelman anatomia Mikä on tietokoneohjelma ja tietokonekieli
Tietokoneohjelman anatomia Mikä on tietokoneohjelma ja tietokonekieli PUNOMO NETWORKS OY 28.9.2017 pva https://punomo.fi/?p=52266&preview=true Nothing is particularly hard if you devide it into small jobs.
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ätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
LisätiedotTuen tarpeen tunnistaminen. Lukemisen ja kirjoittamisen ryhmäarviointi. Esitysohjeet opettajalle. toinen luokka syksy
Tuen tarpeen tunnistaminen Lukemisen ja kirjoittamisen ryhmäarviointi toinen luokka syksy Esitysohjeet opettajalle arvioinnin yleisiä periaatteita Tutustu ennen tehtävien esittämistä ohjeisiin ja materiaaliin
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ätiedotSisällys. 15. Lohkot. Lohkot. Lohkot
Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet
LisätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 VIIME KERRALLA MENETELMIÄ Musta laatikko Valkea laatikko Harmaa laatikko Regressio Automaatio Rasitus (kuormitus)
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotNÄYTÖN TEHTÄVÄKUVAUS ELEKTRONIIKAN JA TIETOTEKNIIKAN PERUSTEET 2007
NÄYÖN EÄVÄUVAUS ELERONIIAN JA IEOENIIAN PERUSEE 2007 Yleisohjeita näytöstä. Varsinaisen näytön kohteesta saat dokumentit näyttöpäivänä. Oheisena: Näytön aihearviointilomake, johon suoritat itsearvioinnin
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ätiedot