Symbian OS Basics - Lab Exercises
-------------------------------------------------

The Symbian OS Basics course contains lab exercises to give a practical approach to learning the course material.
A lab exercise is typically composed of a set of instructions, starter code and solution code. The instructions
to lab exercises can be found in the Symbian OS Basics Workbook published separately at www.forum.nokia.com.

A list of all the exercises for each module of the course is given below:

---------------------------------------------
Module 04301 - Symbian OS Background
---------------------------------------------

No lab exercises.


---------------------------------------------
Module 04302 - Developing with Carbide.c++
---------------------------------------------

No lab exercises.


---------------------------------------------
Module 04303 - Symbian OS Basics
---------------------------------------------

Lab 04303.cb1 - Demonstrates the use of some basic Symbian types in a console application and shows how to implement
                a basic timer.


---------------------------------------------
Module 04304 - Memory Management
---------------------------------------------

Lab 04304.cb1 - Makes the programmer aware of memory considerations when writing Symbian applications.


---------------------------------------------
Module 04305 - Descriptors 
---------------------------------------------

Lab 04305.cb1 - Gain experience of using descriptors in various scenarios.


---------------------------------------------
Module 04306 - Application Structure Overview
---------------------------------------------

Lab 04306.cb1 - Using the Carbide.c++ IDE debugger to illustrate the order of construction and destruction of the 
                standard application objects. Note that there is no starter or solution code associated with this lab,
                just instructions.


---------------------------------------------
Module 04307 - Resource and Localisation Files
---------------------------------------------

Lab 04307.cb1 - Shows how to use localisable resource strings.


---------------------------------------------
Module 04308 - Client/Server Framework
---------------------------------------------

Lab 04308.cb1 - Use a simple client API to connect to a server and perform some operations.


---------------------------------------------
Module 04309 - The Active Object Framework
---------------------------------------------

Lab 04309.cb1 - Illustrates how an active object typically handles asynchronous API calls.

Lab 04309.cb2 - Illustrates how an active object can be used to split up a long running synchronous task into a series
                of small steps.


Note that the cb used in the lab exercise numbers refers to the fact that the exercises use the Carbide.c++ IDE. 



--------------------------------------------------------------------------------

PREREQUISITES

Experience with programming in C++
Familiarity with Object Oriented programming


--------------------------------------------------------------------------------

KNOWN ISSUES

No known issues
     
--------------------------------------------------------------------------------

BUILD & INSTALLATION INSTRUCTIONS

Information on the hardware and software requirements and software installation instructions
in order to do the lab exercises can be found in the student Setup Guide.

Building must be done using Carbide.c++. Instructions for how to import a project into Carbide, build and run the 
emulator are described in the lab exercise instructions which are included in the Symbian OS Basics Workbook 
for the course (published separately at www.forum.nokia.com).
 
Depending on the particular exercise the starter code may immediately build and run on the emulator, or it may not. 
All solution code, however, should build and run on the emulator (for importing and building the solution code, 
follow the instructions provided for the starter code in the lab exercise istructions).

All exercises have only been built for and tested on the emulator. Deployment to a device is not part of this course. 


--------------------------------------------------------------------------------

COMPATIBILITY

S60 3rd Edition

Lab exercises have been built using Carbide.c++ and S60 3rd Edition SDK. They have been tested on the S60 SDK emulator,
not on actual S60 devices.

--------------------------------------------------------------------------------

VERSION HISTORY

3.1     Added support for Carbide.c++ v1.2 (solutions now contain both .mmp and bld.inf files 
	for wider import support in different Carbide.c++ versions).

3.0	Added support for Carbide.c++ v1.0 and v1.1 and for S60 3rd Edition Feature Pack 1. 

2.0	Added support for S60 3rd Edition. 

1.0	First release of the lab exercises.


--------------------------------------------------------------------------------

ADDITIONAL DOCUMENTATION

Symbian OS Basics Workbook

--------------------------------------------------------------------------------
EVALUATE THIS RESOURCE

Please spare a moment to help us improve documentation quality and recognize the examples you find most valuable, 
by rating this resource at 
http://www.forum.nokia.com/main/1%2C%2C90%2C00.html?surveyId=84da5c17-4aec-4605-ace2-7f54877f92f3/Symbian_OS_Basics_Lab_Exercises_v3_1_en.zip

