Diploma in iPad and iPhone App Development via Online Distance Learning

Enrolment date: 23 March 2018

In recent years, the IT industry has shown a significant increase in demand for IT Professionals. This industry is rich in employment opportunities due to a high demand for professionals with the correct skillset for this area.


This Distance Learning course teaches iPhone app development with Objective-C, Cocoa and Xcode. Key topics include iPhone SDK, classes, objects, interfaces, inheritance, polymorphism, event-driven programming, graphical user interfaces (GUIs), exception handling, file processing, multithreading, generics and generic collections.


Students create iPhone apps, learn the concepts of object-oriented programming, learn to use various Cocoa frameworks and web services APIs, and participate in extensive hands-on laboratory assignments.

Introduction to iPhone App Development

iPhone Overview ; Key New iPhone and OS Features and Enhancements ; iPhone OS ; Objective-C Programming Language ; Cocoa Frameworks ; New iPhone SDK  Features ; Xcode Toolset ; Test-Driving an App in the iPhone Simulator

Using the Apple App Store to distribute your apps

iPhone Developer Program: Setting up Your Profile for Testing and Submitting Apps ; Setting Up Your iPhone Development Team ; Getting an iPhone Development Certificate ; Registering Devices for Testing ; Creating App IDs ; Creating a Provisioning Profile ; Using the Provisioning Profile to Install an App on an iPhone or iPod Touch ; Submitting Your App for Distribution ; Testing Your App

Introduction to Xcode, Cocoa and Interface Builder

Introduction to the Xcode IDE and Interface Builder ; Navigating Xcode ; Creating a new project ; Displaying a picture using an Image View in Interface Builder ; Displaying text using a Label in Interface Builder ; Editing properties of GUI components ; Compiling your app and executing it in the iPhone simulator

Introducing Objective-C Programming

Introduction to Objective-C and object-oriented programming ; Objects, classes, interfaces, inheritance, data types, operators, control statements, keywords ; Declaring variables to programmatically interact with GUI components ; Using Interface Builder to visually ìconnectî variables with GUI components ; Declaring and implementing methods ; Using message passing to invoke an objectís methods ; Event handling ; Dragging-and-dropping in Interface Builder (linking GUI component to methods)

Searches App: Collections and Cocoa GUI Programming

Views ; Scroll Views ; Buttons ; Storing key-value pairs in an NSDictionary ; Maintaining Buttons in an NSArray ; Using NSMutableArray and NSMutableDictionary ; Modifying the GUI in response to user interactions ; Programming Button sizes and positions and specifying their target objects and actions

Controllers and the Utility Application Template (games programming)

) Utility Application template: autogenerating interface elements for changing between views ; Frontside and flipside views ; View Controllersósingle view and subviews ; Responding to view events ; Info Buttons ; Done Buttons ; Segmented Controls for presenting a series of choices ; Buttons and radio buttons ; Memory management in Cocoa using retain counting ; NSObject ; Convenience constructors: stringWithFormat

Spot-On Game App: Using UIView and Detecting Touches

Using UIImageView to display a custom image ; Implementing touch handling ; Processing multi-touch events ; UIView methods for getting touch information from the iPhone ; Retrieving touch coordinates ; Using the Core Animation framework ; Using the built-in animation methods for easy access to basic animations ; Accessing the CALayer (Core Animation Layer) ; Adding sounds using the AVFoundation framework ; Using AVAudioPlayers to play back .wav files stored on the iPhone ; Using AVAudioPlayer objects to control playback of .wav files ; Using NSObject method perform-Selector:withObject:afterDelay: to call functions

Cannon Game App: Animation with NSTimer and Handling Drag Events

Performing manual animations by responding to NSTimer events ; Initializing an NSTimer object ; Simple collision detection ; Using structures to group two points that represent the endpoints of a line ; Using Core Graphics framework functionality to draw lines and text, change line thicknesses, change colors, and save and restore graphics contexts

Painter App: Using Controls with a UIView

Creating a custom class containing an array of points, a UIColor object and a numeric line-width value ; Placing a unique key in an NSMutableDictionary ; Adding new points to the class ; Transferring data from a dictionary to an array ; Using the MainView display ; Setting line characteristics in FlipsideView ; Sliders ; Using a UIViewís backgroundColor property ; Loading values from the Sliders and passing them to the MainView

Address Book App: Tables and UINavigationController

Tables: UITableView ; UITableViewCells: editable and non-editable ; Reusing UITableViewCells in UITableViews to save memory and improve performance ; UITableViewís dequeueReusableCellWithIdentifier: method ; UIViewControllers ; Using the navigation bar to add Buttons ; UINavigationItems ; RootViewController ; Showing multiple views ; Using UIKeyboardTypes provide the user with the correct keyboard for the type of information being entered

Route Tracker App: Map Kit and Core Location (GPS and Compass)

Displaying a map using the Map Kit frameworkís MKMapView ; Rotating, zooming and drawing to the map ; Displaying a route by drawing directly to the MKMapView ; Using the Core Location framework to get the userís location and compass heading ; Using CLLocationManager to monitor the iPhoneís location and compass heading and send messages to the Controller class when either reading is updated ; Using a CLLocation object to provide the iPhoneís latitude, longitude and altitude at a specific time ; Receiving a CLLocation from the CLLocationManager to draw the route line to the new location ; Using the CLLocation class to calculate the distance between two CLLocations and calculate the userís total distance traveled in a route ; CLHeading object ; Rotating the mapís orientation to the direction the user is facing ; Initializing an NSDate object to the current time ; Calculating the time since tracking began and using that time to calculate the userís speed

Slideshow App: Photos and iPod Library Access

UITableView and custom UITableViewCells ; UITableView with standard UITableViewCells to display images ; Using a UINavigationController with a UIToolbar to navigate between screens ; Using UIBarButtonItems to switch between views ; Photo API and image pickers ; Creating a UIImagePickerController to add photos from the photo library ; Using MPMediaPickerController for iPod library access ; Storing songs from the iPod music library in an MPMediaItemCollection ; Playing songs using the MPMusicPlayerController ; Using UIActionSheet for image transitions ; Using enum to define the different transition styles

Enhanced Slideshow App: Saving Data and Playing Video

Playing videos from the iPhoneís photo library using an MPMoviePlayerController ; Settinga UIImagePickerControllerís mediaTypes property ; Adding Core Animation image transition ; Using UIViewAnimationTransitionFlipFromRight animation transitions ; Object serialization using a subclass of the NSCoder abstract class ; Archiving ; NSCoder ; NSKeyedArchiver ; Object graph ; Deserialization (decoding or unarchiving) using a subclass of NSCoder

Voice Recorder App: Audio Recording and Playback

Using the AV Foundation framework to record and play back sounds ; Accessing the AVAudioSession object ; AVAudioSessionCategoryRecord to silence audio ; AVAudioSessionCategoryPlayback to play back recordings and to force audio to play even when the Ring/Silent switch is set to silent ; Playback while the iPhone is locked ; NSPredicate class and regular expressions ; E-mailing a saved audio recording by converting the saved file to an NSData object, then passing that as an attachment to an MFMailComposeViewController

Enhanced Address Book App: Managing and Transferring Persistent Data

Core Data framework ; Model-View-Controller design pattern ; Core Data data model (known as a managed object model) ; Model objects (entities) ; Attributes ; Managed Object Context, represented by class NSManagedObjectContext ; Representing entities using class NSEntityDescription ; Using class NSManagedObject to create a new object representing a data object ; Representing data using an NSManagedObject received from an NSEntityDescription ; Manipulating an object in Objective-C code and inserting it back into the data model ; Retrieving information using fetch requests (represented by class NSFetchRequest) ; Using a FetchedRequestController to update the Core Data stored information and the UITableView displaying the contact information ; Using the Game Kit framework to interact with other iPhones via Bluetooth ; Using the GKPeerPickerController class to create a view displaying nearby iPhones running the Enhanced Address Book app ; Using a GKSession to specify whether or not the iPhone is receiving or transmitting data ; Using NSKeyedArchiver to serialize the NSMutableArray representing a contactís information to an NSData object that we can transmit between iPhones using GKSessionís sendDataToAllPeers:withDataMode: method

Discount Airfares App: Internet Enabled Applications

Connecting to Web Services using class NSURLConnection. ; Constructing a URL and passing it to NSURLConnection to handle the networking issues ; Using NSURLConnection to inform a delegate object when events occur, such as receiving a response from the server, an authentication request or when the connection ends ; Receiving XML/Atom feeds ; Parsing XML using class NSXMLParser ; Storing parsed data in an NSMutableArray ; Displaying parsed data in a UITableView with custom UITableViewCells ; Displaying web pages using a UIWebView

Transitioning to the iPad

You'll use the same fundamental techniques that we cover in this course to program the iPad. There are, however, some tasks and widgets that are unique to this device. You'll transform an iPhone app into a Universal application that can run on both platforms, and we'll explore the new Split-View Controller and Popovers which are iPad-specific

Methods of Training

Online Lecture Modules, Subject Expert Feedback Sessions after each Module, practical case studies, end of module assignments. etc.

Subject Experts

Full support is available from our subject experts by email at the end of each module and an ongoing basis during the course.

Who Should Apply

Anyone who wishes to develop a career in Computer Programming. Selection is based on consultation.

Possible Careers

Computer Programmer, Software Developer, Software engineer, Software Test, Software Design, IT consultant.


Successful candidates are awarded the Diploma in IPhone and IPad Application Development at Pass, Credit or Distinction level. The Diploma is awarded by the Institute of Commercial Management.

Please note: In order to be able to partake in this course you must have access to a Mac or a computer with and OS X System

Certification is awarded by the Institute of Commercial Management (ICM).

The Institute of Commercial Management was founded in 1979 and is one of the leading Professional Examination and Certification Bodies in the world today.

Fitzwilliam Institute Group, have developed and provided Practical Skills Training Courses in liaison with the Institute of Commercial Management Qualifications and Certifications framework for over 25 years.

Institute of Commercial Management certifications are recognised throughout Europe, the USA, Canada, South Africa and Asia in a total of 140 countries, by leading industries, bodies and professions.

next start date: 23rd March 2018

Duration: You will have full access to online resources and subject expert support for one calendar year. However, you can complete the course in as little as 4 - 6 months, by dedicating 6-8 hours of study per week.

Course Fees: 795.00 GPB

To secure your place on the course the full fee is required. All fees must be paid in full before the course begins. Please note, the full course fees are inclusive of all course materials and certification costs.

Enrolment intake is strictly limited on this course. Early application is advised. Places are allocated on a first come first served basis.

Fitzwilliam Institute closes on Bank Holidays and for a number of days at Christmas and New Year. Fitzwilliam Institute reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this brochure. Fees are not refundable unless the course is cancelled by Fitzwilliam Institute. Distance Learning courses are provided by Fitzwilliam Institute BGLS Ltd.

Year on year, we have the pleasure of training students from top UK and international companies. See where our most recent students come from and find out what they have to say.