100 likes | 211 Vues
This course offers a comprehensive introduction to mobile programming, highlighting how it diverges from traditional programming. Students will explore the unique constraints of mobile environments, focusing on application design and development workflows. Practical examples will include Java MIDP and Symbian C++, as well as other platforms. The course features a detailed lecture plan covering memory management, application architecture, parallel programming, and security. Students will engage in hands-on project work, developing a simple Symbian application and gaining practical skills essential for mobile programming.
E N D
Mobiiliohjelmointi Tommi Mikkonen Prof @ Tampere U of Tech, Insitute of SW Systems, Tampere, Finland tommi.mikkonen@tut.fi MobiiliohjelmointiKevät 2009
The goal • To give an overview on how mobile devices’ programming is different from conventional programming environments • Workstations • Embedded systems • To introduce how application design is altered when the restrictions of the mobile environment are introduced • Sample development workflow • Give practical examples • Java MIDP – infrastructure manages resources • Symbian C++ – programmer manages resources • Also other platforms will be discussed where applicable • Have you to write some simple apps! MobiiliohjelmointiKevät 2009
Lecture plan • 5.2.: (Lecture 1) • Course overview + Introduction to the topic • 12.2.: (Lecture 2) • Memory management • 19.2.: (Lecture 3, Tommi traveling) • Visiting lecturer/Antti Kervinen (TUT): Python programming • 26.2.: (Lecture 4) • Application development + Java App models + Symbian application development • 5.3.: (Lecture 5) • Dynamic loading and linking • 12.3.: (Lecture 6, Tommi traveling) • Visiting lecturer/Mikael Laine (UTU): Mobile devices programming: Status quo and the next breed of systems • (19.3. break for exams at Tampere; no lecture) MobiiliohjelmointiKevät 2009
Lecture plan • 26.3.: (Lecture 7) • Parallel programming • 2.4.: (Lecture 8) • Resources • (9.4. break for easter; no lecture) • 16.4. (Lecture 9) • Networking • 23.4. (Lecture 10) • Security • 30.4. (Lecture 11) • Kertaus + feedback • 7.5. (Lecture 12) • Exam • And that’s it! MobiiliohjelmointiKevät 2009
Project work • Development of a simple Symbian application running on a phone/emulator • Depending on resources • Possibility to gain 6pt (out of 30 max) from this • 4pt: Application • 2pt: Coding diary • Additional +2pt by developing extra applications using different techniques • Agree with your supervising assistant • J2ME, Maemo, Python, … MobiiliohjelmointiKevät 2009
Linking exercices and project • 6.2-12.2 Development tools • 13.2-19.2 Memory management • 20.2-26.2 Descriptors • 27.2-5.3 Application architecture • 6.3-12.3 Submission phase 1 • 13.3-19.3 (Break) • 20.6-26.3 Basic drawing • 27.3-2.4 Active objects • 3.4-9.4 UI: list view and menu commands • 10.4-16.4 (Easter 9.4-15.4) • 17.4-23.4 Submission phase 2 • 24.4-30.4 File Servers & files, streams and stores • 1.5-7.5 Final submission MobiiliohjelmointiKevät 2009
Literature and other links • No real material; the main thing is to gain understanding and practical skills • Lectures hopefully help! • If something must be pointed out use: • T. Mikkonen: Programming mobile devices, Wiley. • T. Mikkonen: Mobiiliohjelmointi, Talentum. (jos kaikki suomeksi) • www.cs.tut.fi/~mobo • Kalvot jakoon mahdollisuuksien mukaan ennen luentoa, tai sitten ainakin luennon jälkeen • tut.ot.mobo MobiiliohjelmointiKevät 2009
Further Reading • 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, 2004. MobiiliohjelmointiKevät 2009
Further Reading • 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. • E. Burnette. Hello, Android: Introducing Google's Mobile Development Platform, Pragmatic programmers, 2008 • … and many others! MobiiliohjelmointiKevät 2009