Preparing for the TCAD Certification Exam (Titanium Certified Application Developer)

Preparing for the TCAD Certification Exam (Titanium Certified Application Developer)

October 19, 2011

I passed the online TCAD Exam (as an Appcelerator Titan, I don't believe this is open to the general public just yet) and thought I would share what I can remember about the exam and what you should be studying for those who intend to take it sometime soon.

I'm not going to give away the actual questions here (nor can I remember them anyway), but the following list should provide you with a good starting point for what topics to study. It goes without saying that you should understand Javascript properly before even attempting the exam.

Basic UI, Layout and Objects
• you should understand the basics of creating controls and their proper namespaces (e.g. how do you create a Ti.UI.createImageView and add an image to it?)
• you should understand the basics of JSS
• you should know how event handlers work properly and how to attach listeners to your controls
• you should know how to layout your apps using absolute positions and vertical/flow positioning
• make sure you understand device orientations (portrait, landscape and the events fired when orientating)
Code structure and modularity
• you should know how to create modularized code and how to attach event handlers to your modules
• know how and when to use Application Properties and when not to
• you should know how to do device checks using Ti.Platform
• from what I saw on the exam there wasn't a great deal about particular framework patterns such as Tweetanium or CommonJS - though that may change in the future as these patterns increasingly become the recommended way of developing your apps
• understand your tiapp.xml files inside-out
• know how to at least include a pre-built module into your app and how to use it
SQlite and local database and filesystem calls
• you should know how to save and read in files using the Filesystem
• know how to create a Sqlite database and how to attach an existing one
• you should know basic SQL syntax as there will be questions that involving performing database queries
• you should definitely know how to perform a SQL 'select' query and parse the results
XML HTTP Requests & JSON
• you should most certainly know how to make a HTTPRequest (XMLHTTPRequest) and parse the response contents
• you should most certainly understand how to read, parse and iterate over JSON objects
• you should most certainly understand how to read, parse and iterate over XML objects
• know how to upload a file to a server and understand content types
Camera, Photos, Audio, Video and other media
• you should know how to call the camera and parse the resulting media contents
• you should know how to call the photo gallery and parse the resulting media contents, and understand media types
• you should know how to do implement video, audio and sound player objects
Maps and Location services
• you should most certainly know how to create a Mapview, understand how to set regions, add annotations, etc
• know and understand geo-encoding - both reverse and forward geo-encoding
• understand the differences in creating mapviews between iOS and Android
WebViews
this is the section I remember doing worst in, because it happens to be the section I do the least work on day to day, so...
• understand webviews, including setting remote and local HTML content
• understand passing around events between your webviews and your app
• have a rudimentary understanding of the canvas object
Social API's and Contacts
• you should most certainly know how to integrate Facebook and make Graph API calls using the Titanium FB objects
• you should know how to read in from the local contacts storage on your device
• have a decent understanding of oAuth
Titanium Studio and device packaging and distribution
• you should most certainly understand Ti Studio - how to create a project, how to run on device, any limitations of the simulator, etc...
• wouldn't hurt to properly understand provisioning profiles and certificates and how to build your app directly from XCode

That's all I can think of for now, I think if you can understand all of the points listed above you should be totally fine with the exam. Good luck!