The most effective way to prepare to take an exam.
The relationship between Microsoft training
materials and exam content.
Microsoft policy concerning the incorporation of
service pack and revision updates into exam content.
Exam question types and formats.
Exam time limits and number of questions asked.
We recommend that you review this preparation
guide in its entirety and familiarize yourself with the FAQs
and resources on the Microsoft Certification website before
you schedule your exam.
Exam Topics Covered
This is a Technical Specialist exam designed to assess
candidates’ hands-on skills developing Windows Mobile 6.5
applications.
Audience Profile
Candidates for this exam should have experience with the
following;
experience with or knowledge of Microsoft .NET Framework
2.0 or later including concepts such as types, garbage
collection, MSIL, CLR , and LINQ
one to two years of experience developing software with
the .NET Framework 2.0 or later
at least one year of experience developing software with
the .NET Compact Framework 2.0 or later
one to two years of experience programming in Microsoft
Visual Basic .NET or Microsoft Visual C#
six months to one year of hands-on experience with
Microsoft SQL Server Compact Edition and/or Windows Mobile
working knowledge of SQL Server 2005 and/or SQL Server
2008
experience developing applications for devices by using
Microsoft Visual Studio 2005 or later
experience with Windows Mobile SDK 5.0 or later
experience with or knowledge of HTML, JavaScript, CSS,
and AJAX
candidates for this exam are not necessarily native
and/or embedded developers
Credit Toward CertificationWhen
you pass Exam 70-580: TS: Windows Mobile 6.5, Application
Development, you complete the requirements for the following
certification(s):
MCTS: Windows Mobile 6.5 Application Development
Skills
Being MeasuredThis exam measures your
ability to accomplish the technical tasks listed below.The
percentages indicate the relative weight of each major topic area on the
exam.The higher the percentage, the more questions you are likely to see
on that content area on the exam.
The information after “This
objective may include but is not limited to” is intended to further
define or scope the objective by describing the types of skills and
topics that may be tested for the objective. However, it is not an
exhaustive list of skills and topics that could be included on the exam
for a given skill area. You may be tested on other skills and topics
related to the objective that are not explicitly listed here.
Working with Data
Read and write to the file system
This objective may include but is not limited to:
XmlDocument, StreamWriter/StreamReader, serialized DataSet,
reading and writing data in an XML format, System.IO,
navigating the file system programmatically, creating and
updating files programmatically, storing in special folders
vs. hard coding, creating a well-formed path that will be
valid across platforms and languages
Synchronize the mobile application's local data with a
server
This objective may include but is not limited to: Web
services, merge replication, remote data access, Microsoft
ADO.NET Synch Services for Devices, monitor and respond to
connection changes and updates
Create a SQL Server Compact Edition database
This objective may include but is not limited to: create a
database by using Visual Studio, programmatically using DDL,
dynamically using merge replication, create a database in
advance using ADO.NET Sync Services and deployed along with
your mobile application
Manage data in a SQL Server Compact Edition database
This objective may include but is not limited to: query a
database, insert and update data in a database, delete data
from a database, SqlCeCommand, SqlCeResultSet,
SqlCeDataReader, SqlCeDataAdapter, SqlCeResultSet
Write code to maintain a SQL Server Compact Edition database
This objective may include but is not limited to:
SqlCeEngine.Verify, SqlCeEngine.Repair, SqlCeEngine.Compact
Packaging and Deploying Applications for Windows Mobile Devices
Create a Setup Project (Desktop Installer)
This objective may include but is not limited to: registry
settings, shortcuts, manufacturer settings, version, icon,
PostBuild and PreBuild events
Create a Smart Device CAB project
This objective may include but is not limited to:
cabwiz.exe, CAB signing, registry settings, shortcuts,
manufacturer settings, version, icon
Specify the runtime version of the .NET Compact Framework
This objective may include but is not limited to: create and
deploy a device .config file, assembly remapping
Sign an assembly with a strong name
This objective may include but is not limited to: Smart
Device Project properties, signing tab, certificate store,
signing a manifest, selecting a strong key name file
Creating an Effective User Interface
Create forms that are resolution, DPI, and orientation aware
This objective may include but is not limited to: query a
device’s display capability, docking, anchoring, AutoScale,
AutoScroll, Form_SizeChanged event, res2.exe, hidpi.exe
Create custom controls
This objective may include but is not limited to: creating a
class that extends an existing control, creating a new
control by extending a control or scrollable control,
overriding OnPaint and OnPaintBackground, double buffering
Write code to control user input
This objective may include but is not limited to: show or
hide the InputPanel, SelectNextControl, set the tab order of
controls on a form, InputPanel events, OnTextChanged event
Bind data to controls and collections
This objective may include but is not limited to: setting data
source on controls (DataMember, ValueMember, DisplayMember),
LINQ, generics
Write thread-safe user interface code
This objective may include but is not limited to:
Control.Invoke, Control.BeginInvoke, Control.EndInvoke,
System.Threading, System.Threading.Timer,
System.Windows.Forms.Timer
Implement a message notification window
This objective may include but is not limited to:
Microsoft.WindowsCE.Forms.Notification class; customizing
notification messages; configuring message timeout
Implement a widget on Windows Mobile 6.5
This objective may include but is not limited to:
developing, packaging, and deploying a widget
Optimizing the Application
Optimize memory and performance characteristics
This objective may include but is not limited to:
determining free device memory, runtime statistics, logging
options, eliminating unnecessary boxing and unboxing,
minimizing reflection, keeping startup assembly small, array
vs. list, System.Diagnostics.Stopwatch
Write code to minimize power consumption
This objective may include but is not limited to: state
notifications, GPS polling, screen backlight, disable
unnecessary device peripherals
Test applications by using the device tools
This objective may include but is not limited to: Cellular
emulator, FakeGPS, Device Emulator Manager, Device Security
Manager
Make an application configurable at run time
This objective may include but is not limited to: create and
read a configuration file for a .NET Compact Framework
application, System.Xml, System.IO, System.Reflection
Implement debugging and logging techniques
This objective may include but is not limited to: create a
runtime tracing class, device emulators, attaching the
debugger to a running process
Implementing Core Mobile Programming Techniques
Implement exception handling
This objective may include but is not limited to:
AppDomain.CurrentDomain.UnhandledExceptions, avoiding
exceptions for program flow control, catching specific
exceptions, using the Finally clause
Implement file download from a server
This objective may include but is not limited to:
HttpWebRequest, application updates, downloading a data file
for use on the device, using a background thread
Integrate with serial peripherals
This objective may include but is not limited to: SerialPort
class, Dispose pattern, power notification events,
SerialPort.DataReceived event
Call native functions by using platform invoke (P/Invoke)
This objective may include but is not limited to: P/Invoke
to custom native DLL or Windows API, creating managed
wrapper, implementing the Dispose pattern on objects in the
.NET Compact Framework, platform invocation, passing a
delegate to a native function
Write code to consume .NET Web Service
This objective may include but is not limited to: adding a
Web reference, caching Web Service, invoking a Web method,
handling exceptions, providing credentials, securing
HttpWebRequest, synch vs. asynch invocation
Protect sensitive data on a device by using encryption
This objective may include but is not limited to: encrypting a
SQL Server Compact Edition database,
System.Security.Cryptography, file encryption, encrypting
registry keys/values
Programming with the Windows Mobile SDK
Add location awareness by integrating the GPS Intermediate
Driver
This objective may include but is not limited to: using
MapPoint Web Service, System.Threading, P/Invoke gpsapi.dll
Respond to device state changes by using the State and
Notifications Broker
This objective may include but is not limited to: capture and
respond to notifications of state changes , power consumption,
GPS, Bluetooth, handle connected and disconnected states
Write code to integrate with Pocket Outlook
This objective may include but is not limited to: contacts,
appointment, tasks, text messaging, e-mail messages
Interoperate with device hardware
This objective may include but is not limited to:
CameraCaptureDialog, query and monitor network connections,
battery, System Properties, System States
Intercept SMS messages
This objective may include but is not limited to:
MessageInterceptor, MessageCondition