Symbian
Developer home
Developer Fast Facts
Training courses
Course dates & booking
Course discounts
Training partners
Licensee area

Symbian OS: Essentials and Systems Programming

Language :C++
Level :Introductory
Upcoming Dates & Locations :
(next six months)
12/09/2008 (5 days) - Boston, United States : $1800

An Introduction to Symbian OS for Systems Programmers

This course is a 5 day combination of the Symbian OS Essentials course and the Symbian OS Application Engine Development course.

This is a “hands on” course aimed at developers new to C++ programming for the Symbian OS. It covers a substantial part of the Symbian OS Essentials and Application Engines courses but is pitched at an introductory level.

The course explores programming techniques required by both Symbian OS Systems Programmers (those developing and/or extending the operating system services) and developers working on application engines (services/functionality specific to an application).

Objective

To gain a wide understanding of the Symbian platform and practical experience of essential Symbian OS programming issues relevant to Systems Programmers.

Upon completing this course, participants will be able to:

Pre-requisites

The course is designed for new Symbian OS developers who have a reasonable understanding of OO and C++ in particular. Whilst the basic uses of Metrowerk’s CodeWarrior integrated development environment are covered on the course, previous familiarity is beneficial.

Style

The course consists of approximately 50% practical work and 50% lectures.

Course Content

  1. Introduction to the Symbian platform


    Key features
    Key platform components and their organisation
    Application structure: Engines and UIs
    Overview of Symbian OS Development – DevKits, CustKits and SDKs: what they’re used for.
  2. EPOC Development Tools
    DevKit, CustKit, SDK installation, usage and documentation
    Basic CodeWarrior commands
    Symbian platform build tools
    Unique Identifiers
    Differences between target and emulated platforms
  3. Application Development
    Building programs: GUI vs. console apps
    Using simple programs as templates
    Debugging and testing techniques
    Special Symbian OS coding conventions
  4. System Structure
    Architecture and implications
    Kernel mode v user mode operation
    Types of function call (user, executive and server requests)
  5. Resource Management
    Overview of memory leaks
    Detecting memory leaks using the memory leak and alloc failure tools
    Two phase construction pattern
    Exception handling using TRAPD
    Using the cleanup stack for resource management
  6. Descriptors
    Motivation for Descriptors (c.f. C Strings)
    Descriptor Classes and their key features
  7. Arrays
    Dynamic array overview
    Use of Segmented vs. Flat arrays
    Arrays for fixed/variable sized elements
  8. Active Objects Introduction
    Why AOs
    Life cycle of AOs
    CActive and CActiveScheduler classes
    Implementing simple AOs
  9. Using Servers
    Client Server Architecture overview
    Sessions and sub-sessions
    Associated cleanup issues
  10. File Server and Stream Store
    Using file server sessions
    Basic direct stream store functionality
    Overview of different stream stores
  11. Application/Component Structure
    High-level application/system design issues.
    UI-Engine and MVC application models
  12. Building and Testing
    Types of Binary
    Writing DLLs
    Using RTest and test harnesses
  13. Active objects
    Use cases
    Alternatives to active objects
  14. Implementing Servers
    When and how to write a server.
    Design issues.
    Implementing simple servers.
  15. Binary Compatibility
    Maintaining BC
    When to break it!

Further Information

If you require further information about this training course, please contact us via the details below:

Kay Ferris
Training Business Manager
Symbian Ltd
2 - 6 Boundary Row
London
SE1 8HP
UK
+44 20 7154 1846
technical.training@symbian.com
Terms of use | Privacy policy | Sitemap | Media Center | Contact us | © 2008 Symbian