Update Jan 1st: Tim Poulsen (@skypanther), Training Curriculum and Certification Lead at Appcelerator, responded to this blog and my email to him saying that indeed some questions I pointed out are a bit confusing and will be updated. Also, he confirmed that the exam has not yet been updated for Titanium 3.x. Something to be aware of when you’re taking the exam!

Today I took and passed (89%) the Appcelerator TCAD exam. As an encouragement for those wanting to become certified app developers too, I want to give some clues on how to prepare for and take the exam.

Also take a look at Boydlee’s blog Preparing for the TCAD certification. It might by slightly out-dated (Nov 2011), but it does mention topics like Facebook, contacts and oAuth that are not mentioned in the official certification objectives.

The exam
Appcelerator uses the excellent Testcraft software for the exam. Make sure you use the same email address for the test as that of your Appcelerator account so that after successfully taking the test the badge will be added to your profile. You have 90 minutes to correctly answer at least 75% of 60 questions, divided into 12 categories of 5 questions each:

  1. Code Questions (is this code correct? what will happen?)
  2. Appcelerator Cloud Services
  3. Cross-Platform Development in Titanium
  4. Integrating Web Content (WebView)
  5. Media and the Filesystem
  6. Using Location Services (including maps)
  7. Working with Local Data
  8. Working With Remote Data
  9. You’re a Native Application Developer Now (sdk, tools, differences)
  10. Zero To App Recap (platform)
  11. UI Fundamentals
  12. Deployment and Distribution

The software lets you mark questions you want to get back to later, which is excellent. Just focus on what you do know first and you will have plenty of time to spend on the more difficult ones. Nearly all questions are multiple choice, asking you to select one or more answer. Most of them also let you add comments. You can use this to add some notes to questions you mark for later review. After finishing the exam, it will immediately give you the total score and your score on each category. If you passed you will be able to download and e-mail the results and certificate (PDF).

Questionable questions
I did run into some questions I was not sure of if the right answer would also be the correct one. For example, one question asked for the existence of a certain SDK feature that has just been added recently in 3.x. The same goes for changes in the most recent SQLite version. Another question on the license was also confusing since multiple licenses are used for different parts of the Titanium platform and software. I did elaborate on these doubts in the Comments field of these questions, but I don’t know if anyone at Appcelerator actually reads those.

Resources for preparation
General resources to make sure you’ve been through before taking the exam:

Helpful resources during the exam
Make sure you have the following resources open and logged into:

Preparation and cheat sheet
All certification objectives (June 2012) linked to relevant resources:

  1. JavaScript
    1. Understand JavaScript syntax and fundamentals
    2. Identify CommonJS coding patterns
    3. Instantiate Titanium objects
    4. Describe execution context and the means by which you create one or more
    5. Identify the benefits of a single-context app design
    6. Compare and contrast include() and require()
  2. Appcelerator Cloud Services
    1. Cloud-enable an app
    2. Manage app keys
    3. Implement ACS APIs
    4. Identify ACS APIs and features
    5. Describe ACS security features
  3. Cross-platform development
    1. Implement branching techniques using appropriate Titanium properties
    2. Include platform-specific resources at build time
    3. Include density and aspect-ratio specific images at build time
    4. Compare and contrast mobile platform features
  4. Web content
    1. Include HTML/CSS content in your Titanium app
    2. Identify the ramifications and pitfalls of the WebView
    3. Communicate between the WebView and native Titanium environments
  5. Multimedia
    1. Implement audio playback
    2. Implement audio recording
    3. Implement video playback
    4. Capture still images and video
    5. Retrieve images from the device’s photo gallery app
  6. Filesystem
    1. Store text and binary data in files
    2. Read text and binary data from files
    3. Identify the accessible storage locations on the filesystem
    4. Identify the appropriate locations to store data on the filesystem
      • See above
    5. Determine when the filesystem is the most suitable storage location for your app’s data
  7. Geolocation
    1. Configure geolocation on Android
    2. Configure geolocation on iOS
    3. Request geolocation permissions, accounting for platform-specific requirements
    4. Obtain the user’s current location
    5. Continually monitor the user’s location
    6. Perform forward and reverse geocoding
  8. Mapping
    1. Add a map to your app
    2. Set map options and properties
    3. Add annotations to your map
    4. Set annotation options and properties
    5. Enable event handling for maps and annotations
  9. SQLite database storage
    1. Identify the database capabilities of the mobile operating environments
    2. Install a database
    3. Open a database
    4. Create database structures (tables)
    5. Retrieve data from a database
    6. Insert, update, and delete data from a database.
    7. Determine when a database is the most suitable storage location for your app’s data
  10. App properties
    1. Store data in an application property
    2. Retrieve data from an application property
    3. Identify the data types and access methods supported by app properties
    4. Determine when app properties are the most suitable storage location for your app’s data
  11. Networking
    1. Implement the HTTPClient object
    2. Retrieve data in various formats from network services
    3. Upload and download files across the network
    4. Post JSON-formatted data
    5. Determine when to use JSON, XML, and SOAP to transmit rich data across the network
  12. Android SDK tools
    1. Identify the components and install location of the Android SDK
    2. Identify the components of the Android development toolchain
    3. Identify the Android SDK troubleshooting and development tools you will use as a Titanium developer
    4. Implement a native Android project using command-line tools
  13. iOS SDK tools
    1. Identify the components and instal llocation of the iOS SDK
    2. Identify the components of the iOS development toolchain
    3. Identify the iOS SDK troubleshooting and development tools you will use as a Titanium developer
    4. Implement a native iOS project using Xcode
  14. Titanium basics
    1. Create a Titanium project
    2. Run a Titanium project in the simulator or emulator
    3. Configure app properties such as the SDK version, target platforms, etc.
    4. Describe the architecture of Titanium
  15. User interface
    1. Select the appropriate UI measurement units
    2. Position elements on screen accounting for the UI coordinate ssystem
    3. Select and implement layout modes
    4. Send and react to user and non-user events
  16. Deployment and publishing
    1. Compare and contrast certificate types
    2. Code-sign an Android app
    3. Code-sign an iOS app
    4. Install an iOS app for testing
    5. Install an Android app for testing
    6. Identify the requirements and procedure for publishing an app to the Android market (Google Play)
    7. Identify the requirements and procedure for publishing an app to the iTunes app store
    8. Identify the requirements and procedure for publishing an app to non-market locations (Enterprise, ad-hoc, etc.)
  1. This is an excellent resource for preparing for your TCAD exam. Thank you very much for sharing this helpful material!

Comments are closed.