Symbian developer community

 
wiki

Fundamentals of Symbian C++ curriculum

From Symbian Developer Community

Jump to: navigation, search


The following are the high-level curriculum topics that comprise the Fundamentals of Symbian C++. This curriculum is the basis of the Accredited Symbian Developer (ASD) examination.

For further information:

  • Low-level learning objectives can be found here.
  • Learning materials are here.
  • A comprehensive revision guide to the ASD exam is available from Symbian Press - "The Accredited Symbian Developer Primer". We have some free copies available - please contact us for details.
  • The Fundamentals of Symbian C++ training course slideware can be found here.
  • Some sample questions are here.

C++ LANGUAGE FUNDAMENTALS

Evaluates the basic understanding of writing a C++ program, the language structure, syntax and semantics.

CLASSES AND OBJECTS

Measures the understanding of C++ object-oriented programming support and class semantics.

CLASS DESIGN AND INHERITANCE

Tests the understanding of more advanced C++ properties including design considerations when using inheritance and both dynamic and static polymorphism.

SYMBIAN TYPES & DECLARATIONS

Ensures that the candidate understands the fundamental Symbian types, naming conventions and coding style, and the usage paradigms of each basic type of Symbian C++ class.

CLEANUP STACK

Demonstrates practical knowledge of the cleanup stack and the difference between standard C++ and Symbian C++ in handling leaks and exceptions.

OBJECT CONSTRUCTION

Evaluates knowledge of 2-phase construction, safely creating objects and avoiding memory leaks.

DESCRIPTORS

Test the understanding of the motivation for using descriptors, how to use buffer and pointer descriptors and when to use package descriptor classes.

DYNAMIC ARRAYS

Measures proficiency in the use of Symbian dynamic arrays in preference to standard C++ arrays, and the choice of dynamic array class depending on desired usage and characteristics of array elements.

ACTIVE OBJECTS

Tests understanding of why active objects are preferred over threads and under what conditions, and the use and implementation of simple active objects and their relation to the active scheduler.

SYSTEM STRUCTURE

Tests knowledge of the underlying structure of the Symbian, including threads, processes, DLLs and memory management. Also assesses the candidate’s understanding of common system components.

CLIENT SERVER

Recognizes the use cases of the client-server model within a handset, system components utilizing the model and applies knowledge to simple server implementations.

FILE SERVER, STORE & STREAMS

Identifies an understanding of the use of files, stores and streams for storing persistent and temporary data. Also measures whether the candidate has knowledge of the conditions and intended usage which determine the different classes to use for storing data.

SOCKETS

Evaluates the ability to add communication services to an application and handling asynchronous communication events with the socket server architecture.

TOOL CHAIN

Measures that the candidate has a practical working knowledge of the Symbian tool chain and development environment.

PLATFORM SECURITY

Assesses the understanding of the three core concepts of platform security: the trust model, capabilities and data caging. Evaluates the candidate’s practical knowledge of designing, developing and distributing software on Symbian OS v9 and beyond.

COMPATIBILITY

Assesses the candidate’s understanding of binary compatibility and the programming and design techniques which are required to maintain binary compatibility in code modules and APIs.

Comments

Sign in to comment…