Mobiiliohjelmointi,, 5op http://www.cs.tut.fi www.cs.tut.fi/~ /~mobo juha.jarvensivu@tut.fi
Tavoitteet Kuvailla mobiilijärjestelmien ohjelmistokehityksen problematiikkaa Antaa perustiedot ja -taidot joita tarvitaan mobiiliohjelmoinnissa Kertoa tärkeimmät arkkitehtuurisuunnitteluperiaatteet Antaa hands-on kokemusta mobiilijärjestelm rjestelmän ohjelmoinnista Antaa käsitys alan tulevaisuudennäkymist kymistä ja vallalla olevista mobiiliympärist ristöistä
Miten tähän päästään? Luennoilla esitetää ään toivottavasti olennaisimmat asiat edellisen kalvon tiimoilta Lisäksi kokeillaan mobiiliohjelmointia, tosin aika pienessä mittakaavassa Onnistumista kokeillaan viime kädessä tentissä, joka mittaa paitsi oppimis- myös opetustuloksia
Suoritusvaatimukset 2 harjoitustyötä Pakollinen symbian-ty työ (2-3 3 ryhmäss ssä) Vapaaehtoinen java-ty työ (henkilökohtainen) kohtainen) Tentti Viimeinen luentokerta käytetk ytetään n yhteiseen tenttiin Kurssin laajuus on 5,0 op
Järjestelyt Luennot: Juha Järvensivu/TTY, juha.jarvensivu@tut.fi Osa luennoista toteutetaan vierailuluentoina ja osa luennoidaan etäyliopistoista Harjoitustöiden iden suunnittelu: Symbian: : OULU Symbian-arkkitehtuurin arkkitehtuurin mukainen sovellus Hyödynt dyntää aktiivisia olioita, tiedostoja, DLL:iä ja käyttk yttöliittymää Java MIDP: TAY MIDP-sovellus Hyödynt dyntää verkkoa, tietovarastoa ja käyttk yttöliittymää Lisäksi jokaisella kurssille osallistuvalla yliopistolla on oma vastuuhenkilö, joka huolehtii paikallisista järjestelyistä Tarkat tiedot yhteisen osan jälkeen paikallisesti
Luennot Ajat: To 12.15-15, koko kevät Luentoviikot TTY:n aikataulun mukaan Paikka: TTY:llä TB 109, muissa yliopistoissa jokin muu Juha Järvensivu, J juha.jarvensivu@tut.fi OSCu-hankkeen osana TTY, TaY,, OY, TY, HY, TKK, Vaasa
Luento 1: Johdanto (7.2.) (J.J, TTY) Kurssin yleiskuvaus Luennot Harjoitustyöt Vuotavat abstraktiot Mobiililaitteen rakenne Laitteisto Ohjelmisto Peruskäsitteet sitteet
Luento 2: Muistinhallinta (14.2.) (J.J, TTY) Muistín käytön n pääp ääperiaatteet mobiiliympärist ristössä Staattinen ja dynaaminen allokointi Pinon ja keon käyttk yttö Lineaarinen sijoittelu muistiin Muistinhallinta mobiili-javassa Muistinhallinta Symbian OS:ssa
Luento 3: Sovellukset (21.2.) (J.J, TTY) Mikä on sovellus? Sovelluksen toteuttaminen Toteutustekniikoita Tapahtumapohjainen ohjelmointi Sovellusarkkitehtuuri Sovelluksen pakkaaminen installointia varten Mobiili-Javan sovellusmalli (Midlet( Midlet) Symbian OS:n sovellusmalli
Luento 4: Dynaamiset kirjastot (28.2.) Overview (J.J, TTY) Implementation techniques Dynamic vs. static DLLs When to use a DLL Dynamic libraries in Java Dynamic libraries in Symbian
Luento 5: Rinnakkaisuudesta (6.3.) (Mikael Laine, Turku / Ixonos) Rinnakkaisuuden perusteet Säikeet Säikeiden välinen v kommunikointi Rinnakkaisuuden teeskentely Vihreät t säikeets ikeet Javassa Symbian-toteutus Säikeet Aktiiviset oliot
Luento 6: Paikalliset resurssit (13.3.) (J.J, TTY) Joitakin ei-toiminnallisia ominaisuuksia Laajennus ja adaptointi Suorituskyky Energian kulutus Resurssinhallinnan kapselointi Toteutukset käytk ytännössä Java Symbian OS
Luento 7: Symbian luento (3.4.) Mikael Laine / Ixonos
Luento 8: Security (10.4.) (Michael Przybilski,, HY) Overview Security features in Symbian OS Security features in Java
Luento 9:Networking (17.4.) (???, TKK) Suunnitteluratkaisuista Mobiiliohjelmisto- vai selainperustainen sovellus? Puhelin- vai tietoliikenneyhteys? Joitakin tekniikoita Web service Bluetooth Käytännön n toteutuksista Java ja Web service Symbian OS ja Bluetooth
Luento 10: Embedded Linux (24.4.) Luennoidaan Oulusta Linux mobiililaitteessa Maemo SDK
Luento 11: Tentti (8.5.)
Harjoitukset 00. Week 6. No exercise 01. Week 7. Symbian: : Tools 02. Week 8. Symbian: : Memory Management 03. Week 9. Symbian: Descriptiors 04. Week 10. Symbian: : Application Architecture + Submission (phase 1) 05. Week 11. Symbian: : Active Objects 06. Week 14. Java: Java exercise 07. Week 15. Symbian: : Submission (phase 2) 08. Week 16. Symbian: : File Servers & files, streams and stores 09. Week 17. Symbian: : Support 10. Week 18. Symbian: : Submission final (phase 3) 11. Week 19. Course exam week, no exercises
Symbian-ty työ Aiheena peli Työss ssä harjoitellaan ainakin seuraavia asioita: Aktiiiviset objektit DLL Tiedostonkäsittely sittely UI (grafiikan piirto, valikkokomennot, näppäintapahtumat) Kuvaimet
Java-ty työ Vapaaehtoinen Henkilökohtainen kohtainen työ Aihe vapaavalintainen, mutta minimivaatimukset määm ääritelty
Kurssikirja Programming Mobile Devices: : An introduction for Practitioners (wiley) ISBN: 978-0-470 470-05738-4
Muuta materiaalia... V. P. Savikko, EPOC-sovellusten rakentaminen, Valtion teknillinen tutkimuskeskus muskeskus,, 2000. M. Tasker et al., Professional Symbian programming, Wrox Press Ltd, 2000. M. J. Jipping. Symbian OS Communications Programming. John Wiley & Sons, 2002. Digia Inc. Programming for the Series 60 Platform and Symbian OS.. John Wiley & Sons, 2003. R. Harrison. Symbian OS C++ for Mobile Phones.. John Wiley & Sons, 2003. F. Gjertsen,, P. Northam and P. Spencer. Symbian OS Smartphones for Dummies.. John Wiley & Sons,, 2004. J. Stichbury. Symbian OS Explained. Effective C++ for Smartphones. Wiley,, 2004. J. Sales. Symbian OS Internals. Wiley,, 2005. S. Babin. Developing Software for Symbian OS. Wiley 2006. L. Edwards, R. Barker and EMCC Software. Developing Series 60 Applications. Addison-Wesley Wesley,, 2004.
Muuta materiaalia... R.Riggs,, A. Taivalsaari,, and M. VandenBrink, Programming Wireless Devices with the Java 2 Platform, Micro Edition, Addison Wesley, 2001. K. Topley. J2ME in a Nutshell. O Reilly,, 2002. J. Bloch. Effective Java. Addison Wesley,, 2001. G. Maxwell. Teach Yourself Palm Programming in 24 Hours. Indianapolis, Sams Publishing/Macmillan Computer Publishing, 1999. I. Salmre. Writing Mobile Code. Addison Wesley,, 2005. J. Noble, C. Weir. Small Memory Software. Patterns for Systems with Limited Memory.. Addison-Wesley, 2001.
Next Local info 15min + Break 15min