Diploma in IPad and iPhone4 App Development by Distance Learning
Introduction
This course teaches iPhone app development with Objective-C, Cocoa and Xcode. Key topics include iPhone SDK 3, 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.
The course offers extensive hands-on experience as there are extensive programming exercises provided at the end of each module. Solutions are provided for laboratory exercises. The course also provides you with further programming experience through projects that present real world programming experience.; This course emphasizes achieving program clarity through the proven software-development techniques. Student learn skills that underlie good programming through extensive, complete, working programs. This hands-on approach rapidly builds the confidence of new programmers, because all programming concepts are presented in the context in which they will be used
Course Content
Introduction to iPhone App Development
iPhone Overview ; Key New iPhone 4 and OS 4 Features and Enhancements ; iPhone OS 3.x ; Objective-C Programming Language ; Cocoa Frameworks ; New iPhone SDK 4 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 on an ongoing basis during the course.
Who Should Apply
Anyone who wishes to develop a career in Computer Programming. Selection is based on consultation. Please contact us at 020 7812 0708 to arrange.
Possible Careers
Computer Programmer, Software Developer, Software engineer, Software Test, Software Design, IT consultant, Software Trainer.
Qualifications
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.
Application process
Selection is based on telephone consultation. Please contact us at 020 7812 0708 or e mail info@distancelearningcoursesgb.co.uk to arrange a Consultation today!
Start Date
Enrolment for this course will take place on the 9th March 2012. For more information, contact us on 020 7812 0708
Application Process
Application for this course is available immediately online through our Course Payments Page.
Course Duration
14 weeks to 1 calendar years depending on individual progress.
Fees
£995
Fees may be paid online through our Course Payments Page. Alternatively payments can be made by cheque, bank draft, credit card, debit card or bank transfer.
All fees must be paid before the course begins.
Brochure
Request a Brochure for this Course.
Disclaimer
Every effort is made to ensure accuracy; however responsibility is disclaimed for any error or omission in this website.
Distance Learning Courses as part of the Fitzwilliam Institute Group closes on Bank Holidays and for a number of days at Christmas and New Year. Distance Learning Courses reserves the right to postpone, cancel or alter courses without notice or to change any of the details in this web page. Fees are not refundable unless the course is cancelled by Distance Learning Courses. Distance learning courses are provided by the Fitzwilliam Institute.
Existing students can login here.
Distance Learning Courses, 175-185 Gray’s Inn Road, London, WC1X 8UE, Phone: 020 7812 0708, Fax: 020 7812 0650