Mobile Phone Programming, Fall 2006

  • Lecture: Frank H.P. Fitzek, Morten V. Pedersen, and Gian Paolo Perucci
  • ECTS: 1.0
  • Time: Autumn 2006, dates below
  • Place: NJ14 3.119 (module A and B) and NJ14 3.117 (module C)
  • Deadline: please sign up as soon as possible, but no later than September 25th

Registration

The course is free on charge. Students that are interested in the course should send an email to the organizer (gpp(at)kom.aau.dk) by September 25th.

 

Interested persons can borrow a mobile phone (Nokia N70) for the duration of the course or to do the exam. Please inform us about your request when you do the registration.

 

The course is divided into three parts

  • Module A: Introduction to Mobile Phone Programming with Pyhton
  • Module B: Mobile Phone Programming with JAVA 2 Micro Edition
  • Module C: Mobile Phone Programming with Symbian

 

ECTS points will be awarded from level of commitment and by a final test (write your own application in the programming language of the course you took):

  • A+B = 1 ECTS
  • A+C = 1 ECTS

 

Module A: Introduction to Mobile Phone Programming with Pyhton

Description

This course module addresses beginner in the field of mobile phone programming and no prior knowledge is required. The course will be held in English and gives a detailed introduction to Python and will provide participants with the skills to program in Python for S60. After this course the participants will be able to program their own application to show "proof of concept" or a first implementation in very short time. Additional reading is not required for this module. Course participants need to bring a laptop with Windows XP SP2 installed. The instructors will provide mobile phones for programming and Bluetooth sticks for interconnection.

 

Content

Day 1, september 27th, 12:30-16:15 - NJV14 3.119
Day 2, october 4th, 12:30-16:15 - NJV14 3.119

  • Mobile application market Python for S60
  • Installation of SDK and Python on the mobile phone
  • Python in a nutshell
  • Dualisms PC and mobile phone
  • Interactive console
  • Bluetooth console
  • Programming Python S60 Module
  • Networking (Bluetooth/GPRS)
  • Phone
  • Camera
  • Video
  • Location services
  • Extensions of Python modules
  • Building stand-alone Python programs
  • Exercise on laptops and mobile phones

 

Module B: Mobile Phone Programming with JAVA 2 Micro Edition

Description

This course module will start from scratch but participants need some experience with JAVA programming and so no prior knowledge is required (but helpful). The course will be held in English and gives a detailed introduction to JAVA 2 Micro Edition and will provide participants with the skills to develop MIDP applications. Additional reading is not required for this module. Course participants need to bring a laptop with Windows XP SP2 installed. The instructors will provide mobile phones for programming and Bluetooth sticks for interconnection.

 

Content

Day 1, october 16th, 9-12 and 14-17 - NJ14 3.119

  • Introduction
    • Why J2ME?
    • Market trends
    • Business opportunities
  • J2ME Architecture
    • CDC - CLDC
    • Kilo Virtual Machine
    • Mobile Information Device Profile (MIDP)
    • Optional Packages
  • J2ME in a nutshell
    • Your first application: "Hello World!"
    • High-lvel and low-level user interface API overview
    • The Record Management System (RMS)
  • SDKs and development tools
    • Available IDEs
    • Installation and demo
    • Getting help
    • Creating an application using the IDE and Wireless Toolkit

Day 2, october 17th, 9-12 and 14-17 - NJ14 3.119

  • Getting started with J2ME development
    • MIDP execution environment
    • MIDlets and MIDlet Suites
    • User Interface classes
    • Other MIDP and CLDC classes
    • Application development and packaging
  • Connectivity
    • I/O in MIDP
    • Connectors
    • Connections overview
    • Wireless Messaging API (JSR 120)
    • Bluetooth API (JSR 82)
    • Networking examples
  • Developing Network Applications
    • SMS and MMS
    • Bluetooth
    • HTTP

 

Module C: Mobile Phone Programming with Symbian

Description

The course will start from scratch but participants need some experience with C++ programming language and object oriented programming. The course will be held in English. This course gives an introduction to Symbian C++ development and will provide participants with the knowledge necessary to get started with Symbian development. The participants will be introduced to the tools and fundamental concepts that are part of Symbian C++ development. Additional reading is not required for this module. Course participants need to bring a laptop with Windows XP SP2 installed. The instructors will provide mobile phones for programming and Bluetooth sticks for interconnection.

 

Content

Day 1, october 16th, 9-12 and 14-17 - NJ14 4.117

  • Symbian OS introduction
    • Architecture
    • Hardware considerations
    • Series 60/80/90 and UIQ
  • SDKs and development tools
    • Available IDEs
    • Installing the Carbide C++ IDE
    • Getting help
  • The first application
    • Creating an application using Carbide C++
  • Introduction to the Symbian OS fundamentals
    • Naming conventions
    • Basic types
    • Exceptions handling
    • Memory management
    • Descriptors
    • Overview of the application framework

Day 2, october 17th, 9-12 and 14-17 - NJ14 4.117

  • Symbian OS fundamentals
    • Naming Conventions
    • Exception Handling
    • Memory management
    • Descriptors
  • Application Structure Overview
    • Basic application structure
    • Basic application classes
    • Start-up sequence
  • Client/Server architecture
    • Example servers and client APIs
    • Using client APIs
    • The Active Object Framework
    • Introduction to asynchronous event handling
    • Active objects and the active scheduler
    • Implementing active objects

Department of Electronic Systems | Aalborg University | Niels Jernes Vej 12 | DK-9220 Aalborg | Denmark
Phone: (+45) 9635 8695 | Fax (+45) 9815 1583 | E-mail ies(at)ies.aau.dk
Copyright © 2006 Department of Electronic Systems

Last update:10-10-2006