Laiteläheinen C-kieli, yleistä

Koko: px
Aloita esitys sivulta:

Download "Laiteläheinen C-kieli, yleistä"

Transkriptio

1 Laiteläheinen C-kieli, yleistä PUNOMO NETWORKS OY pva Johdanto Mikroprosessori, CPU, Central Prosessing Unit on komponentti, jonka toiminta on ohjattavissa muistiin tallennetuilla käskyillä. Käskyt peräjälkeen toteutettuina muodostavat tietokoneohjelman. CPU voi käskyjen mukaan: - siirrellä tietoa - suorittaa yksinkertaista aritmetiikka ja loogisia operaatioita - tehdä päätöksiä (if-else) CPU ymmärtää vain juuri sille suunniteltua konekieltä, oikeastaan vain ykkösiä ja nollia. Ihmiselle taas luonnollinen, puhuttu ja kirjoitettu, kieli on paras kommunikointiväline. Miten nuo saadaan kohtaamaan? Tietokone ei tiedä yhtään mitään, se osaa vain laskea. Ja kun se ei tunne muita numeroita kuin ykkösen ja nollan, sen laskentataitokin on aika suppea. Pelkkää hyvin yksinkertaista aritmetiikkaa ja loogista päättelyä. Mutta kun se tekee sitä niin nopeasti, miljoonia laskuja sekunnissa. Siinä on se juju. Miten korkean tason kielestä konekoodia? Assembler on ohjelma, joka kääntää symbolisesta konekielestä (assembly) konekoodia ennen ohjelman ajoa. Tulkki, Interpreter on ohjelma, joka tulkitsee ihmisläheisen ohjelman käskyjä rivi kerrallaan ohjelman ajon aikana. Tästä seuraa, että ohjelman ajo on hidasta. Hyvä tulkkiohjelma on iso ja monimutkainen, joten se tarvitsee paljon muistia. Python on poikkeus. Kääntäjä, Compiler on ohjelma, jonka avulla lähdekoodi käännetään ennen ohjelman ajoa toimivaksi ajokelpoiseksi koodiksi. Koodista tulee nopeaa, koska CPU osaa ajaa suoraan käännettyä koodia. Kääntäjäohjelma on iso ja monimutkainen, mutta sitä ei tarvita enää ohjelman ajon aikana. Itse ohjelma ei tarvitse ajon aikana paljon muistia. C- ja C++ toimivat näin. 1

2 Mikä on ohjelmointikieli? Ohjelmointikieli on ikään kuin silta ihmisen abstraktista ajattelusta tietokoneen konkreettiseen numeroiden maailmaan. Ihmisen (tietokonekielen) käsitteistä tosi, true ja epätosi, false, kääntäjäohjelma luo tietokoneelle 1 ja 0. Niiden perusteella kone ikään kuin päättelee mitä tehdä, jatkaako lukujen käsittelyä seuraavasta ykkösnollajonosta vai hypätäkö ohjelmassa eteen/taaksepäin. Ohjelmointikielen määritykseen on monta tapaa; Opettaja Ohjelmointikieli on ohjelmien esittämiseen tarkoitettu, prosessorikohtaiseen konekieleen käännettävissä oleva kieli. Tietosanakirja Ohjelmointikieli on joukko käsitteitä, jolla ohjelmoija määrittelee algoritmin rajaamat suoritettavat tehtävät. Ohjelmoija Ohjelmointikieli on työkalu, joiden avulla ohjelmoija miettii, mitä on mahdollista tehdä ja mitä ei. Ohjelmointikieli on väline, jolla ihminen kertoo tietokoneelle mitä se tulee tehdä. Ihmisen käsitteistä tosi ja epätosi eli true ja false, kääntäjäohjelma luo tietokoneelle ykkösen ja nollan eli 1 ja 0. Niiden perusteella kone ikään kuin päättelee mitä tehdä, jatkaako lukujen käsittelyä seuraavasta ykkösnollajonosta vai hypätäkö ohjelmassa eteen/taaksepäin. Laiteläheisen ohjelmointikielen tulee olla: Lähellä konetta Ohjelmointikielen tulee toimia 'lähellä konetta' siten, että CPU:n eri rekistereitä ja oheispiirejä (liitäntäpiirejä) voidaan manipuloida bittitasolla. Lähellä ohjelmoijaa Ohjelmointikielen tulee toimia 'lähellä ohjelmoijaa', eli ohjelmoijan kannalta sen tulee olla ikään kuin oikea ihmisen kommunikaatioonsa käyttämä kieli. Siis mielellään lähellä yleisesti puhuttua/kirjoitettua (englannin) kieltä. C-kielen ominaisuuksia - se on tehokas, eli C-kääntäjä tekee tiivistä ja nopeaa koodia - se on siirrettävä, eli koodi toimii eri prosessoriympäristöissä (eri tietokoneissa). Siitä nimitys "kannettava assembly". - C-kääntäjiä löytyy hyvin usealle prosessorille, sekä kaupallisia, että ilmaisia - lausekielinen, korkean tason yleisluonteinen kieli, joten se on helppo oppia - laiteläheinen, päästään operoimaan CPU:n ja oheispiirien rekistereitä bittitasolla. - se on käännettävä kieli. Kääntäminen tapahtuu kääntäjä-ohjelmalla ennen ohjelman käyttöä. C on ns. rakenteinen ohjelmointikieli C-kieli sopii jäsentävään suunnitteluun eli rakenteiseen, strukturoituun ohjelmointiin. Ohjelma on helpompi kehittää kun monimutkaiset ongelmat jaetaan ensin pienempiin palasiin. Se mahdollistaa valmiiden, käytännössä testattujen funktioiden uusiokäytön. Esimerkkinä vaikka LCD-näytön ohjaus tai Raspin GPIO-pinnien käsittely. Rakenteinen ohjelma on helpompi korjata, koska ohjelmavirheet, bugit, paikallistetaan tavallisesti yhteen funktioon. Virheitä ei tarvitse etsiä koko koodista. Ohjelmasta tulee samalla hier'arkkinen, kun funktiot kutsuvat toisiaan. Joitain funktioita käytetään anturien lukemiseen, toista tulosten laskentaan, kolmatta toimilaitteen ohjaamiseen, jne. 2

3 Miksi sulautetut järjestelmät ohjelmoidaan C-kielellä? Pienissä systeemeissä käytetään pienitehoisia mikro-ohjaimia, joissa on vähän muistia ja joiden päätehtävä on ohjata ja valvoa jonkun elektronisen laitteen toimintaa. Siksi käytettävissä olevan ohjelmointikielen tulee olla laiteläheistä. Valittavan ohjelmointikielen tulee olla yleinen eli paljon käytetty ja siksi myös normioitu, standardoitu. Suositulle kielelle löytyy tarvittaessa apua; so. koulutusta, kirjallisuutta, kursseja, työkaluja, valmiita ohjelmia, www-osoitteita, keskustelupalstoja netissä, jne. Mielellään sen tulee olla sellainen, että se on helppo oppia ja kuitenkin tehokas. Tärkeintä tietenkin on, että käytettävälle mikro-ohjaimelle löytyy valittavan kielen kääntäjäohjelma ja muita työkaluja. Myös tulevaisuudessa. Sulautetut ja C-koodin siirrettävyys Jos hieman karrikoidaan, niin pienten mikro-ohjainten ohjelmointi on pääosin rekistereiden bittien manipulointia ja huomattavasti vähemmän yleisluontoista, oikeaa, tietojenkäsittelyä. Suurien, 32/64-bittisten mikro-ohjaimien ja Linux-käyttöjärjestelmän yhteydessä voidaan hyödyntää valmiita kirjastoja, tehdä oikeaa ohjelmointia. Ainoastaan sellainen koodi, joka on kirjoitettu täysin ANSI C:n mukaisia kirjastoja käyttäen, on siirrettävissä sellaisenaan alustasta toiseen. Sulautetuissa järjestelmissä se ei aina ole mahdollista. Laiteläheisyys tuo niin paljon ohjelmakoodiin erikoisratkaisuja, että aina on suoritettava enemmän tai vähemmän tapauskohtaisia muutoksia. Sulautetut järjestelmät ja ANSI C C-kieli on hyvin standardisoitu. Standardointi mahdollistaa sen, että kieli on helposti siirrettävissä eri ympäristöihin (eri mikro-ohjaimille). Samalla se takaa, että käyttövarmuus, ylläpidettävyys ja suoritustehokkuus ovat hyvät. ANSI, American National Standards Institute, on vuodesta 1983 alkaen huolehtinut C-ohjelmien yhteensopivuudesta. Ennen sitä kaikki ohjelmoijat noudattivat normina Ritchie ja Kerninghan kirjaa "The C Programming Language". ANSI C standardi valmistui 1989 ja sitä on myöhemmin (1999, 2011) täydennetty. Kun ohjelmassa käytetään pelkästään ANSI-standardin mukaista koodia, se on käännettävissä eri ympäristöihin ja kääntämisen voi tehdä kaikilla normin mukaisilla C-työkaluilla. ANSI C määrittää C-kielen lisäksi myös standardikirjaston (Standard Library), jossa määritetään ne perusfunktiot, jotka ovat käyttävissä eri ympäristöissä ja josta voi poimia useaan eri tilanteeseen ja ongelmaan sopivan ohjelmamoduulin. Valmiita funktioita löytyy mm. käyttöjärjestelmän käsittelyyn, muotoiltuun syötteeseen ja tulostukseen, muistin varaamiseen, merkkijonojen käsittelyyn jne. Normi esittää yksityiskohtaisesti kunkin valmiin funktion toiminnan. Koska ANSI-C ei suoraan tue rekisterien käyttöä esim. symbolisen konekielen tavoin (LDI r16,8), siksi laiteläheisessä ohjelmoinnissa tarvitaan erityisen paljon rekistereiden manipulointia makrojen tai erikoiskirjastofunktioiden avulla. Mikä on C99? Mikä on C11? Vuonna 2007 aloitettiin uuden standardi-version kehittely, se valmistui Siinä laajennettiin C- kielen ominaisuuksia ja kirjastoja. GCC, GNU C Compiler GCC tarkoittaa nykyään GNU Compiler Collection, koska sillä voi kääntää C:n lisäksi myös C++, Objective C, Objective-C++, Java, Fortran, Ada, kieliä ja se tukee mm. Alpha, Intel i386, x86_64, Motorola 68k, MIPS, PowerPC, ARM, AVR, Motorola HC11/12 ohjaimia. GCC on tärkeä osa GNU/Linux-projektia. Koska se on osoittautunut luotettavaksi työkaluksi, se on laajalti käytössä myös yritysmaailmassa ja sitä kehitetään aktiivisesti myös huomenna. 3

4 Miksi C eikä asm? Assembly eli lyhyesti asm, on matalan tason ohjelmointikieli ja se on aina mikro-ohjaimeen sidottu. Oikeasti assembly on konekoodia, jonka konekielen käskyt on muutettu apusanoiksi eli muistikkaiksi, mnemonics, jotta ne olisivat koodaajan helpommin hallittavissa. Koska asm on laiteläheinen, sen koodi on suoraan CPU:n komentamiseen tarkoitettuja yksinkertaisia käskyjä, ja niitä oltava paljon. Se vaatii ohjelmoijalta kohtuutonta ja turhaa muistamista. Ohjelman tekeminen asmilla on todella suuritöistä. Jotta työ olisi muutakin kuin puuhastelua, ammattimaisuus edellyttää koodausta korkeamman tason kielellä. Muistathan, että korkean tason kielenä yksi C-käsky käännettynä käsittää (joskus hyvinkin) monta asm-käskyä. Kun ohjelmoidaan C-kielellä, tai jollain muulla korkean tason kielellä, CPU:n sisäinen toiminta ja rekisterit voidaan ainakin osittain unohtaa. C-kääntäjä hoitakoon sen. Opiskeluvaiheessa MCU:n sisäisen rakenteen ja toiminnan haltuunotto on tärkeää, sillä sitä tietämystä tarvitaan jatkuvasti uusien asioiden omaksumiseen. Mutta kun ne hallitaan, ts. ammattisanasto ja työkalut hallitaan, voidaan keskittyä ongelman ratkaisuun eli sovellusohjelman koodaamiseen. Toinen tärkeä ominaisuus on siirrettävyys, portability, porttaaminen. Jos jostain syystä on vaihdettava mikro-ohjain toiseen, C-koodin siirtäminen siihen on huomattavasti kevyempi toimenpide kuin kaiken koodaaminen uudelleen asmilla. Porttaamisessa auttaa, jos on mahdollista toteuttaa koodia mahdollisimman paljon C-kielen standardikirjasto-funktioilla, sillä ne soveltuvat sellaisenaan käyttöön uudessakin ympäristössä. Ja mikä lienee tärkeintä; korkean tason kielessä voit keskittyä oikeaan ohjelmointiin eli algoritmien suunnitteluun. Vaikka toisaalta; rekisterien ja niiden bittien manipuloinnista ei laiteläheisessä sulautettujen systeemien ohjelmoinnissa koskaan päästä eroon. Onneksi. Molempi parempi Assemblyä käytetään C-kielen sisällä kun kyseessä on koodin aikakriittiset osiot (nopeus, synkronointi). Siksi koodaajan tulee osata ainakin käyttämänsä mikro-ohjaimen assembly-koodin perusteet. Ristikääntäjä Sulautettujen laitteiden ohjelmia (Internet of Things) kehitetään muussa kuin kohdeympäristössä (PC), jolloin tarvitaan ristikääntäjä. Ristikääntäjä toimii siis PC-koneessa (Pentium, AMD), mutta koodi käännetään kohdeprosessorin konekoodiksi (esim. ARM). Alla olevasta kuvasta käy ilmi C-kielen kehitys vuosien saatossa. C- ja C++ kielet ovat säilyttäneet asemansa laiteläheisen koodin kirjoittamisessa. Java yritti voittaa 4

5 niiden paikan, yliopistomaailma teki parhaansa, kuitenkaan siinä onnistumatta. Android-puhelimiin ohjelmia tekevät sitä käyttävät. Microsoft kehitti oman ceen, C sharpin, C#. GNU/Linuxilla ei perinteisesti ole käytetty juurikaan C++:aa, vaan nimenomaan C:tä, joka on osittain erilainen kieli. C:n kanssa käytetään POSIX-API:a, jolloin ohjelmat toimivat aikalailla suoraan myös muilla unixeilla. Työkaluketjusta, binutils ja kirjastoista, libraries, infoa omissa dokumenteissa. 5

3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva

3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva 3. C-kieli sulautetun järjestelmän ohjelmointikielenä 07.01.2008, pva "Ohjelmointi ei ole mitään massojen huvia, vaikka sitä joskus helpoksi luullaankin. Joiltakin se sujuu luonnostaan, jotkut voivat jopa

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. 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ä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

Ohjelmointi Linuxissa. Sisällysluettelo. 1. Mitä tarvitaan sovellusten tuottamiseen? Tehnyt: Antti Martikainen (1300698)

Ohjelmointi Linuxissa. Sisällysluettelo. 1. Mitä tarvitaan sovellusten tuottamiseen? Tehnyt: Antti Martikainen (1300698) Ohjelmointi Linuxissa Tehnyt: Antti Martikainen (1300698) Sisällysluettelo 1. Mitä tarvitaan sovellusten tuottamiseen?...1 2. GNU Toolchain...2 3. Tekstieditorit...2 4. Hello world-sovelluksen luominen

Lisätiedot

Opastusta ohjelmointiin, C-kieleen ja mikro-ohjaimiin. Se kaikki se tulee tässä kirjassa.

Opastusta ohjelmointiin, C-kieleen ja mikro-ohjaimiin. Se kaikki se tulee tässä kirjassa. 1 Esipuhe Tiedon voi hankkia kolmella tavalla: ajattelemalla - se on jalo tapa yrityksen ja erehdyksen kautta - se on kova tie matkimalla - se on helppo tapa - Konfutse Sulautettujen järjestelmien merkitys

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva

IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva IDE asennus, Integrated Development Environment Atmelin AVR-mikro-ohjaimille. 15.8.2008 pva Pienen maan armeija on samaa tarkoitusta varten kuin päivystävän upseerin pistooli. Omia varten. - Arvo Salo

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

1. Ohjelmoinnin peruskäsitteet ja -elementit

1. Ohjelmoinnin peruskäsitteet ja -elementit 1. Ohjelmoinnin peruskäsitteet ja -elementit 1. ohjelmoinnin periaatteet 2. ohjelmointikielet 3. algoritmien suunnittelu 1 1.1 Ohjelmoinnin periaatteet Vaatimukset Määrittely Suunnittelu Toteutus Integrointi

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

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

Ongelma(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, 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

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

T106.1208 Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2010

T106.1208 Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2010 T106.1208 Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2010 Kerttu Pollari-Malmi c Kerttu Pollari-Malmi Sisältö 1 Tietokoneista ja ohjelmista 1 1.1 Lyhyesti tietokoneen rakenteesta....................

Lisätiedot

T106.1208 Ohjelmoinnin perusteet Y (Python)

T106.1208 Ohjelmoinnin perusteet Y (Python) T106.1208 Ohjelmoinnin perusteet Y (Python) Kerttu Pollari-Malmi c Kerttu Pollari-Malmi Sisältö 1 Tietokoneista ja ohjelmista 1 1.1 Lyhyesti tietokoneen rakenteesta.................... 1 1.2 Mikä on tietokoneohjelma?........................

Lisätiedot

Pikaintro käyttöjärjestelmiin

Pikaintro käyttöjärjestelmiin Tietotekniikan laitos Jyväskylän yliopisto TIES406 Tietotekniikan opintojen aktivointi, luento 17.8.2011 Outline Tietokonelaitteisto 1 Tietokonelaitteisto 2 3 4 Outline Tietokonelaitteisto 1 Tietokonelaitteisto

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

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

Koodin pienentäminen

Koodin pienentäminen Koodin pienentäminen Timo Lilja 47989S timo.lilja@tkk.fi T-106.5800 Ohjelmistotekniikan seminaari 12. helmikuuta 2009 Tiivistelmä Tässä työssä selvitetään erilaisia menetelmiä suoritettavan ohjelman muistijäljen

Lisätiedot

Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot

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

Ohjelmoinnin perusteet Y Python

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

Turvakriittisen projektin menetelmät ja työkalut

Turvakriittisen projektin menetelmät ja työkalut Turvakriittisen projektin menetelmät ja työkalut 1. Vaatimushallinta Vaatimushallintaan kohdistuu turvaluokitelluissa projekteissa paljon odotuksia. Etenkin jäljitettävyys vaatimuksiin, testaukseen ja

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

Lisätiedot

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux

Historiaa. Unix kirjoitettiin kokonaan uudestaan C-kielellä 1973. Unix jakautui myöhemmin System V ja BSDnimisiin. Kuutti, Rantala: Linux Historiaa Linux on Unix-yhteensopiva käyttöjärjestelmä. Unixin perusta luotiin 1964 MIT:ssa aloitetussa MULTICS-projektissa (http://www.cs.helsinki.fi/u/kerola/tkhist/k2000/alustukset/unix_hist/unix_historia.htm)

Lisätiedot

T 106.1208 Ohjelmoinnin perusteet Y (Python)

T 106.1208 Ohjelmoinnin perusteet Y (Python) T 106.1208 Ohjelmoinnin perusteet Y (Python) Opetusmoniste kevät 2011 Kerttu Pollari-Malmi Kerttu Pollari-Malmi Sisältö 1 Tietokoneista ja ohjelmista 1 1.1 Lyhyesti tietokoneen rakenteesta....................

Lisätiedot

Perusasiat. Mitkä ovat C++-ohjelman perusosat. Miten lähdeteksti kommentoidaan. Miten lähdetekstistä tulee suoritettava ohjelma

Perusasiat. Mitkä ovat C++-ohjelman perusosat. Miten lähdeteksti kommentoidaan. Miten lähdetekstistä tulee suoritettava ohjelma Perusasiat 1 Perusasiat Tässä ensimmäisessä luvussa käsittelemme C++:n perusominaisuuksia. Kaikkiin tässä käsiteltäviin asioihin palataan tarkemmin myöhemmissä luvuissa - tarkoituksena on nyt vain hieman

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

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

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

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma 5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma Every cloud has a silver line. - englantilainen sananlasku Tässä osiossa tärkeää: yksi- ja moniulotteinen taulukko Sisältö Yleistä Yksiulotteinen

Lisätiedot

Kääntäjän virheilmoituksia

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

Datatähti-alkukilpailu 2005

Datatähti-alkukilpailu 2005 1 Taikaneliö 0 5 7 4 6 2 8 1 3 Kuva 1: Eräs kokoa N = 3 oleva taikaneliö. Datatähti-alkukilpailu 2005 Kokoa N oleva taikaneliö on N rivin ja N sarakkeen ruudukko, jonka ruutuihin on sijoiteltu luvut 0,

Lisätiedot

OHJELMOINNIN TYYLISÄÄNTÖJÄ

OHJELMOINNIN TYYLISÄÄNTÖJÄ Ohjelmoinnin tyylisääntöjä Sivu 1 OHJELMOINNIN TYYLISÄÄNTÖJÄ www.naturalprogramming.com Ohjelmointityylillä tarkoitetaan sääntöjä lähdekielisten ohjelmien kirjoittamiseen. Kääntäjähän hyväksyy varsin monella

Lisätiedot

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include 15: 16: int main() 17: {

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: { Osa I 2. oppitunti C++-ohjelman osat Ennen kuin menemme yksityiskohtaisemmin sisälle C++-luokkiin, -muuttujiin jne, katsokaamme ensin, millaisista osista C++-ohjelma koostuu. Tämän tunnin aikana opit seuraavat

Lisätiedot

Datatähti 2008 -kilpailu

Datatähti 2008 -kilpailu Datatähti 2008 -kilpailu Ohjelmointitehtävä 1/2: Kaupan paikka HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 5) Yhden tien maa on erikoinen valtio. Siellä on ainoastaan

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7 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

Lisätiedot

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen

Lisätiedot

Ohjelmointityökalu Scratch

Ohjelmointityökalu Scratch Ohjelmointityökalu Scratch Ohjelmoinnista Tämä synkän näköinen osa kertoo ohjelmoinnista yleensä. Seuraavalla sivulla päästään itse scratchiin. Tietokoneessa toimivia ohjelmia ovat esimerkiksi toimisto-ohjelmat,

Lisätiedot

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

ECIO käyttöohje. Matrix Multimedia Limited. JJJ-Automaatio Oy. Keijo Salonen Jyväskylän ammattiopisto

ECIO käyttöohje. Matrix Multimedia Limited. JJJ-Automaatio Oy. Keijo Salonen Jyväskylän ammattiopisto ECIO käyttöohje Matrix Multimedia Limited JJJ-Automaatio Oy Keijo Salonen Jyväskylän ammattiopisto ECIO28 Kä yttö öhje Ohje on sellaisenaan sovellettavissa myös ECIO40 mikro-ohjaimelle. Keijo Salonen p.

Lisätiedot

Ohjelmointia & monilukutaitoa

Ohjelmointia & monilukutaitoa Kuva: Helsingin yliopiston LUMA-keskus Ohjelmointia & monilukutaitoa OPH koulutus 1.12.2014 Emilia Hjelm, Helsingin yliopiston LUMA-keskus Creative Commons - BY - ND - NC Esittely Emilia Hjelm Helsingin

Lisätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot

JOHDATUS OHJELMOINTIIN

JOHDATUS OHJELMOINTIIN JOHDATUS OHJELMOINTIIN MAURI HEINONEN 14.1.2008 Tiivistelmä Tässä oppaassa on käyty lävitse ohjelmoinnin perusteita, lähtien liikkeelle siitä, mitä ohjelmointi oikeastaan on ja mitä erilaiset termit ohjelmoinnissa

Lisätiedot

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Käyttöjärjestelmät Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Kurssin sisältö Johdanto, historiaa

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

HELIA 1 (17) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu 14.12.2000

HELIA 1 (17) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu 14.12.2000 HELIA 1 (17) Luento 11 Ohjelmistokehityksen työkaluista... 2 Ohjelmointikielten sukupolvet... 2 Ohjelman palveluhierarkia... 4 Ohjelman suoritus... 5 Tulkki... 5 Kääntäjä... 6 Sovelluskehitin... 7 CASE...

Lisätiedot

OPS2016 ja ohjelmointi

OPS2016 ja ohjelmointi 1 OPS2016 ja ohjelmointi - johdattelu ohjelmointiin alakoulussa MIKKO HORILA & TUOMO TAMMI OPS2016 ja ohjelmointi 2 Perusopetuksen opetussuunnitelman perusteet päivittyvät syksyllä 2016. Koodaustaidot

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

14.1 Rekursio tyypitetyssä lambda-kielessä

14.1 Rekursio tyypitetyssä lambda-kielessä Luku 14 Rekursiiviset tyypit Edellisessä luvussa esitetyt tietue- ja varianttityypit eivät yksinään riitä kovin mielenkiintoisten tietorakenteiden toteuttamiseen. Useimmissa ohjelmissa tarvitaan erilaisia

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

GNU/Linux kotikäytössä

GNU/Linux kotikäytössä GNU/Linux kotikäytössä Perttu Ahola Kempeleen Lukio harjoitustutkielma Syksy 2006 Sisällysluettelo 1. Johdanto 2. Käyttöjärjestelmä 2.1. Käyttöjärjestelmän vaatimukset työpöytäkäytössä 3. Linux 3.1. Historia

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Jatko-opintoja englannista kiinnostuneille

Jatko-opintoja englannista kiinnostuneille Jatko-opintoja englannista kiinnostuneille Opiskeluvaihtoehtoja yliopistossa (n.5v.) ja ammattikorkeakoulussa (n. 3,5v.) Yliopistossa keskitytään enemmän teoriaan, amk:ssa käytäntöön mm. erilaisten työelämäprojektien

Lisätiedot

TKT-3201 Tietokonearkkitehtuuri 2. Luku 1: Tietokoneen abstraktiot ja tekniikka

TKT-3201 Tietokonearkkitehtuuri 2. Luku 1: Tietokoneen abstraktiot ja tekniikka TKT-3201 Tietokonearkkitehtuuri 2 Luku 1: Tietokoneen abstraktiot ja tekniikka #2 Tietokone Henkilökohtainen tietokone (Personal Computer, Desktop, Laptop) Suunniteltu tuottamaan hyvä suorituskyky yhdelle

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Osa. Miksi C++ on oikea valinta. Oppitunnit 1 Aloitetaan 2 C++ -ohjelmat osat 3 Muuttujat ja vakiot 4 Ilmaukset ja ohjelmalauseet 5 Funktiot

Osa. Miksi C++ on oikea valinta. Oppitunnit 1 Aloitetaan 2 C++ -ohjelmat osat 3 Muuttujat ja vakiot 4 Ilmaukset ja ohjelmalauseet 5 Funktiot Osa I Miksi C++ on oikea valinta Oppitunnit 1 Aloitetaan 2 C++ -ohjelmat osat 3 Muuttujat ja vakiot 4 Ilmaukset ja ohjelmalauseet 5 Funktiot Osa I 1. oppitunti Aloitetaan Tervetuloa tutustumaan C++ Trainer

Lisätiedot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2009 p.1/15 HSMT (Java-kielellä) Aineopintotasoinen kurssi, 5op. Luennot:

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

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

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva 5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva Superohjelmoija on insinörttitaiteilija ja ryhtyessään koodaamaan, hän keskittyy kunnolla, leijuu jonnekin sfääreihin

Lisätiedot

Älypuhelimet. Sisällysluettelo

Älypuhelimet. Sisällysluettelo Älypuhelimet Jussi Huhtala Sisällysluettelo Älypuhelimen määritelmä Historia Laitteistoarkkitehtuuri Käyttöjörjestelmät Android Symbian ios Yhteenveto 1 Älypuhelin Puhelin joka sisältää normaalit puhelimen

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Hahmon etsiminen syotteesta (johdatteleva esimerkki) Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux

Lisätiedot

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida?

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida? Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida? 2 Tieto on koodattu aikaisempaa yleisemmin digitaaliseen muotoon,

Lisätiedot

OHJ-1100 Ohjelmointi I

OHJ-1100 Ohjelmointi I OHJ-1100 Ohjelmointi I lukuvuosi 2012 2013 Luentomoniste Ari Suntioinen ari.suntioinen@tut.fi Sisällysluettelo Sisältö OHJ-1100 Ohjelmointi I Mitä on ohjelmointi?.......................................

Lisätiedot

Olio-ohjelmoinnin perusteet. Lewis & Loftus & Jukka Juslin 1

Olio-ohjelmoinnin perusteet. Lewis & Loftus & Jukka Juslin 1 Olio-ohjelmoinnin perusteet Lewis & Loftus & Jukka Juslin 1 Kurssin fokus Oliosuuntautunut ohjelmakehitys Ongelmanratkaisu Ohjelman suunnittelu, toteutus ja testaus Oliosuuntautuneisuuden käsitteitä luokat

Lisätiedot

AS-74.3135 Servotekniikka Seminaariesityksen kirjallinen versio, mikrokontrollerit

AS-74.3135 Servotekniikka Seminaariesityksen kirjallinen versio, mikrokontrollerit AS-74.3135 Servotekniikka Seminaariesityksen kirjallinen versio, mikrokontrollerit Vesa Nikkilä 16. huhtikuuta 2012 Mikrokontrolleri on pieni tietokone, joka sisältää prosessorin eli CPU:n lisäksi ohjelmamuistia

Lisätiedot

Linuxin lokalisointi

Linuxin lokalisointi Linuxin lokalisointi Marko Grönroos Linux-Aktivaattori ry Lokalisointityöryhmä Sisällys Johdanto - miksi suomennetaan? Lokalisointityöryhmä Linuxin suomennoksen tilanne Työpöytäympäristöt

Lisätiedot

Tässä tiivistelmässä standardi tarkoittaa standardia SFS-EN 13849-1.

Tässä tiivistelmässä standardi tarkoittaa standardia SFS-EN 13849-1. 15.8.2007/MS Sovellusohjelmistoja koskevien vaatimusten tiivistelmä standardista SFS-EN 13849-1: Koneturvallisuus. Turvallisuuteen liittyvät ohjausjärjestelmän osat. Osa 1: Yleiset suunnitteluperiaatteet.

Lisätiedot

Tervetuloa selkoryhmään!

Tervetuloa selkoryhmään! Tervetuloa selkoryhmään! SELKOESITE 1 Jutteletko mielelläsi erilaisista asioista? Haluatko saada tietoa maailman tapahtumista selkokielellä? Haluatko sanoa mielipiteesi, mutta et aina uskalla? Tuntuuko

Lisätiedot

Symbol for Windows Gold. Symboliposti. Modemo 2011 Handicom 2011. Handicom

Symbol for Windows Gold. Symboliposti. Modemo 2011 Handicom 2011. Handicom Symbol for Windows Gold Symboliposti Modemo 2011 Handicom 2011 Handicom JOHDANTO Symbol for Windows Gold Symboliposti toimii tarvittaessa itsenäisenä sähköpostiohjelmana. Sitä voi käyttää myös Tekstintekijän

Lisätiedot

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009

TIE448 Kääntäjätekniikka, syksy 2009. Antti-Juhani Kaijanaho. 7. joulukuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 7. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

Lisätiedot

kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi

kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi kansainvälistäminen ja paikallistaminen Zopessa Plonen käännöstyö Asko Soukka, Jyväskylän yliopisto asko.soukka@jyu.fi Kääntämisvaihtoehdot Plonessa Localizer ja Translation Service käytön myötä kumuloituva

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus

Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Virheen havaitseminen ja korjaus Digitaalitekniikan matematiikka Luku 13 Sivu 1 (10) Digitaalitekniikan matematiikka Luku 13 Sivu 2 (10) Johdanto Tässä luvussa esitetään virheen havaitsevien ja korjaavien koodaustapojen perusteet ja käyttösovelluksia

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

Directory Information Tree

Directory Information Tree IP-osoite / Host taulu, jossa neljä 8 bit lukua esim. 192.168.0.10/24, unix, linux, windows windows\system32\drivers\etc DNS (Domain Name System), muuttaa verkkotunnuksen IPosoitteeksi. X.500 perustuu

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

HTML5 Tutkielma Centria ammattikorkeakoulu 5.10.2012 Paavo Räisänen

HTML5 Tutkielma Centria ammattikorkeakoulu 5.10.2012 Paavo Räisänen HTML5 Tutkielma Centria ammattikorkeakoulu 5.10.2012 Paavo Räisänen Sisällysluettelo: 1: Esittely 2: Uusia ominaisuuksia 2.1: Canvas elementti 2.2: Video ja ääni 2.3: Lomakkeet 2.3.1: Ajanilmaus 2.3.2:

Lisätiedot

SELKOESITE. Autismi. Autismi- ja Aspergerliitto ry

SELKOESITE. Autismi. Autismi- ja Aspergerliitto ry SELKOESITE Autismi Autismi- ja Aspergerliitto ry 1 Mitä autismi on? Autismi on aivojen kehityksen häiriö. Autismi vaikuttaa aivojen eri alueilla. Autismiin voi olla useita syitä. Autistinen ihminen ei

Lisätiedot

Arduino ohjelmistokehitys

Arduino ohjelmistokehitys Arduino ohjelmistokehitys http://www.arduino.cc/ jak Sisältö Mikä on Arduino? Ohjelmistonkehitysympäristö (Arduino IDE) Ohjelmointikieli Esimerkkejä Lähteitä Arduino -ohjelmistokehitys/ jak 2 Mikä on Arduino?

Lisätiedot

7.10. Oheisrautaa. sms Kooste vanhoista, kaipaa vielä fixsaamista,se tulee seuraavaan painokseen.

7.10. Oheisrautaa. sms Kooste vanhoista, kaipaa vielä fixsaamista,se tulee seuraavaan painokseen. 7.10. Oheisrautaa. sms Kooste vanhoista, kaipaa vielä fixsaamista,se tulee seuraavaan painokseen. I m not lucky. I just persevere longer than other people. - Benny van Mable Yleistä Tässä rakennetaan pieni

Lisätiedot

CTRL+F Android-sovellus

CTRL+F Android-sovellus CTRL+F Android-sovellus Vili-Robert Hietala Opinnäytteen raportointi Sähköosasto Toukokuu 2015 KUVAILULEHTI 14.04.2015 Tekijä(t) Vili-Robert Hietala Työn laji Opinnäytteen raportointi Sivumäärä 7 Luottamuksellisuus

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset Sopimus Asiakas- ja potilastietojärjestelmästä Liite N: Kielivaatimukset VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 12.3.15 3.0 Tarjouspyynnön liitteeksi 2 (6) SISÄLLYSLUETTELO 1 JOHDANTO... 4 2 JÄRJESTELMÄN

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

Innovointiprosessi. Lili Aunimo. 11.12.2009 Lili Aunimo

Innovointiprosessi. Lili Aunimo. 11.12.2009 Lili Aunimo Innovointiprosessi Lili Aunimo Lisensointi Tekijänoikeudet: Verkkomultimediaopintojaksolla Ohjelmistolisenssit Sisältölisenssit: kuvat, musiikki, video, teksti Creative Commons http://fi.wikipedia.org/wiki/lisenssi

Lisätiedot

Lumejärjestelmä Xen. Reino Miettinen

Lumejärjestelmä Xen. Reino Miettinen Lumejärjestelmä Xen Reino Miettinen Miksi lumepalvelin Jos jokaiselle sovellukselle tarvitaan oma palvelimensa, niin tämä johtaa helposti raudan hukkakäyttöön. Taloudellisempaa on rakentaa lumepalvelimista

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

2 Algoritmit ja ohjelmointi

2 Algoritmit ja ohjelmointi 2 Algoritmit ja ohjelmointi 2.1 Algoritmin käsite ja historiallista taustaa Algoritmi on suoritusjärjestyksessä oleva joukko yksikäsitteisiä, toteutettavissa olevia käskyjä, jotka määrittävät äärellisen

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Opintoihin käytettävä aika lukukauden tarkkuudella: syyskausi 1.8.-31.12 kevätkausi 1.1.-31.7 Suoritettava yhteensä vähintään opintopistettä

Opintoihin käytettävä aika lukukauden tarkkuudella: syyskausi 1.8.-31.12 kevätkausi 1.1.-31.7 Suoritettava yhteensä vähintään opintopistettä (Liitteeksi kopiot korvaavuuksien / hyväksilukujen perusteena käytetyistä todistuksista) Opiskelijan nimi Opiskelijanumero Ryhmän tunnus TV12S1 Korvattavat / hyväksiluettavat opinnot: Kokonaiset tutkinnot:

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

10. Kohti suurempia sulautettuja ohjelmistoja

10. Kohti suurempia sulautettuja ohjelmistoja 164 Sulautettu ohjelmointi 10. Kohti suurempia sulautettuja ohjelmistoja Monet sulautetut järjestelmät ovat ajan myötä muodostuneet paljon monimutkaisemmiksi kuin mitä alun perin suunnittelijoilla on alun

Lisätiedot

Kiinnostaako. koodaus ja robotiikka? 2014 Innokas www.innokas.fi All Rights Reserved Copying and reproduction prohibited

Kiinnostaako. koodaus ja robotiikka? 2014 Innokas www.innokas.fi All Rights Reserved Copying and reproduction prohibited Kiinnostaako koodaus ja robotiikka? Innokas-verkosto Innovatiivisen koulun toiminnan kehittäminen ja levittäminen Suomi Yli 30 000 osallistujaa vuosien 2011-2014 aikana Kouluja, kirjastoja, päiväkoteja,

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

Lisätiedot

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa Älykästä kulunvalvontaa e Acces toimii asiakkaan omassa tietoverkossa Perinteisen kulunvalvonnan seitsemän pullonkaulaa eli miksi useat yritykset eivät ole hankkineet kulunvalvontajärjestelmää? 1. Koska

Lisätiedot