Who should attend?

Everybody who wants to prove his ideas and concepts on mobile phones (as an example of embedded systems) should attend this course. Participants will get the knowledge to program on the phones with various programming languages (starting with simple scripting languages to full operating system calls).

Registration

The course is free of charge. Students that are interested in the course should send an email to the organizer by February the 23rd. 

Interested people can borrow a mobile phones (Nokia N95) for the duration of the course or to do the exam.

The course is divided into three parts:

  • MiniModule A: General introduction and mobile phone programming with Python for S60
  • MiniModule B: JAVA Mobile programming
  • MiniModule C: Overview of Symbian C++, Windows Mobile and Maemo - Workshop

1.0 ECTS point will be awarded after a final test (write your own application in the programming language you choose).

Date and place

Day 1:

  • Date:  25/02/09
  • Time:  12:30-17:30
  • Place: Fredrik Bajers Vej 7, Room A4-108 

Day 2:

  • Date:  11/03/09
  • Time:  12:30-17:30
  • Place: Fredrik Bajers Vej 7, Room A4-108 

Day 3: 

  • Date:  25/03/09
  • Time:  12:30-17:30
  • Place: Fredrik Bajers Vej 7, Room A4-108  

 

Day 1: Mobile Phone Programming with Python for S60

Description

This minimodule 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 the different platforms and programming languages for mobile phones.  It will also provide participants with the skills to program in Python for S60. After this mini module 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 or Windows Vista installed.

The instructors will provide mobile phones for programming and Bluetooth sticks for interconnection.

Content

Day 1, 12:30-17:30

  • Overview of different Mobile Phone platforms
  • Overview of the programming languages for Mobile Phones
  • Mobile application market
  • Introduction to 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)
    • Client-Server applications
  • Telephone
  • Camera
  • Video
  • Location services
  • Extensions of Python modules
  • Building stand-alone Python applications
  • Exercise on laptops and mobile phones

Day 2: J2ME programming

Description

This mini module will start from scratch but participants need some experience with JAVA or object oriented programming and so no prior knowledge is required (but helpful).

Additional reading is not required for this module.

Course participants need to bring a laptop with Windows XP SP2 od Windows Vista installed.

The instructors will provide mobile phones for programming and Bluetooth sticks for interconnection.  

Content

Day 2, 13:00-17:30

  • Introduction to J2ME
    • 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
  • 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
  • Introduction to Widgets

 

Day 3: Mobile Phone Programming with Symbian C++, Windows Mobile and Maemo

Description

This minimodule gives an introduction to Symbian C++, Windows Mobile and Maemo development and will provide participants with the knowledge necessary to get started. The participants will be introduced to the tools and fundamental concepts that are part of Symbian C++, Windows Mobile and Maemo.

In the second part of the minimodule, there will be a workshop where each group of students shows a short presentation of the application they have developed.

Some experts from mobile phones' manufacturers will be invited to the workshop to meet students and discuss both  the technical issues and the job opportunities in the mobile phone's field.

Additional reading is not required for this module. 

Content

Day 3, 12:30-17:30

  • Overview of Windows Mobile Platform
  • Overview of Maemo platform
  • 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 and basic types
    • Exceptions handling and memory management
    • Descriptors
    • Active Objects
    • Client/Server architecture
  • Getting started

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:20-02-2009