Diploma in iPad and iPhone Application Development via Online Distance Learning

Enrolment date: 27 October 2017

Benefiting from over 30 years’ experience, Fitzwilliam Institute’s Online Diploma in iPad and iPhone Application Development course features:

  • Comprehensive modules covering all aspects of iPad and iPhone Application Development: the iOS App Environment, App Development, XCode IDE, Objective – C Programming, A Single View Application with UI Elements, Auto Layout, Table Views, Storyboards, Creating multi-view applications, Data persistence, Core Data, and many more.
  • Interactive course expert support, advice and guidance from leading industry professionals. Always ready to help or answer any questions you might have throughout the course, all of Fitzwilliam Institute’s course experts are top industry professionals with many years of successful experience. Our Diploma in iPad and iPhone Application Development contains the core and vital industry key skillset and, on completion, all of our students are industry-ready.
  • Real life iPad and iPhone Application Development briefs. Fitzwilliam Institute’s Diploma in iPad and iPhone Application Development offers practical and specific skills that can be applied in real world situations. You will gain exposure to invaluable toolkits and resources and prepare a real life iPad and iPhone Application Development project brief, which will enable you to improve your work portfolio.
  • Flexible online learning. Fitzwilliam Institute’s Diploma in iPad and iPhone Application Development course can be completed in your own time, from the comfort of your own home, to suit your lifestyle. 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 6 months, by dedicating 6-8 hours of study per week.
  • iPad and iPhone Application Development Jobs, Networking and Volunteer Opportunities. Benefiting from over 30 years of industry experience, we are extremely well placed within the industry. Employers are always looking for Fitzwilliam Institute’s students and alumni. Fitzwilliam Institute’s website features a comprehensive jobs and volunteer opportunities section.

The iOS App Environment

iPhone OS to iOS 8; What You’ll Need to Develop iOS Apps; Apple’s Human Interface Guide (HIG); Overview of the Objective-C Programming Language; Cocoa Frameworks; The Xcode IDE.

App Development

Downloading and Installing Xcode; 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 iOS Device.

Xcode IDE

Creating a New Project; Project Templates; Xcode’s Project Window – The Navigation Area, The Editor Area, The Utility Area; Introduction to Storyboards; Placing UI Elements on the Storyboard; Compiling an App and Executing it in The iPhone Simulator.

Application:

We will place a few labels and other UI labels on the screen, then compile the app and view it in the Simulator. There will be no coding; the aim is to see how things work in the Xcode IDE.

Objective-C Programming

Objective-C And Object-Oriented Programming; Data Types in Objective-C; Variables and Constants; Operators and Expressions; Control Flow; Looping; Introduction to OOP in Objective-C: Objects, Classes, Instances, Methods; Design Patterns: MVC, Delegation, Target/Action.

A Single View Application with UI Elements

Another Look at The Xcode Project Window; Anatomy of an iOS App: App Delegate, View Controllers, Storyboard; Creating The UI; UI Elements: Switches, Segmented Controls, Sliders, Text-Fields; Date Picker; Single and Multi-Component Pickers; Dependent Pickers, UIPickerView Delegate and Data Source.

Application:

Temperature convertor. We will create a single view application that will convert from Celsius to Farenheit (and vice versa). We will first see how this can be done using text-fields, buttons and labels. We will then look at an alternative approach using segmented controls and sliders.

Auto Layout

Device Orientation - Portrait/Landscape; Challenges; Auto Layout Basics; Enabling and Disabling Auto Layout; Constraints; Viewing, Editing and Deleting Constraints.

Application:

Using our Temperature Convertor app from the last module, we will see how Auto-Layout ensures it displays correctly, regardless of the screen size or orientation.

Table Views

Table Views and Table View Cells; Grouped and Plain Tables; Implementing a Table; Editing a Table View; Custom Cells; Adding UI Elements to a Custom Cell; Adding Table View Headers and Footers; Changing Font and Row Height; Adding/Deleting Rows; Searching a Table; Table Views and Storyboards.

Application:

At the end of this module we will have created a grouped Table View that will be populated from arrays. This will be a building block for the apps we will develop in subsequent modules.

Storyboards

Introduction to Storyboards; Adding Views to the Storyboard; Associating Views on the Storyboard with View Controllers; Configuring Segues and Transitions; Passing Data Between Views; Triggering a Segue Programmatically.

Application:

Building on the Table View we created in the last module, we will see how to use a storyboard to connect views and pass data between views. This will be another building block to the app we will build in the next section.

Creating Multi-View Applications - Navigation Controllers and Tab Bar Controllers

The Tab Bar Framework; Setting Up The Tab Bar Framework in a Storyboard; Introduction to Navigation Controllers; Embedding a View in a Navigation Controller; Example of a Multi-View Application, Using a Storyboard, A Tab Bar Framework, Navigation Controllers, UIViews and UITableViews.

Application:

Conversion App. We have already created a temperature convertor in a single view. Now we will take all we have learned in the subsequent modules to create a full Conversion App. This App will use a Tab Bar Template, Navigation Controllers, UIViews and UITableViews to allow the user convert units of length, weight, temperature, etc.

The Collection View

The UICollectionView; UICollectionViewDataSource Protocol; UICollectionViewDelegate Protocol; UICollectionViewDelegateFlowLayout Protocol; Cell and View Reuse; Designing a Collection View Cell; Adding a Collection View Controller to a Storyboard.

Application:

Our Conversion App has used Table Views to now. We will convert to a Collection View to show an alternative way to present information.

Data Persistence

Data Persistence on iOS Devices; Documents Directory; Date Storage: User Defaults, Property Lists, NSCoding, SQLite and Core Data.

Application:

Up to now the data in our apps has come from hardcoded arrays. In this example we will see how to use Property Lists to populate data fields. We will also use User Defaults to create a Settings Page.

Core Data

Core Data Concepts and Terminology; The Data Model and Persistent Sore; The Data Model Class – NSManagedObjectModel; Getting and Setting the Attributes of a Managed Object; Loading Data from the Persistent Store; Creating a Fetched Results Controller.

Application:

Core Data example. The user will enter data (e.g. Name, Age) that will be saved to a database and can be fetched form it.

Multitasking and Concurrency

Why Multitasking is Important; Understanding Threads; Understanding iOS Application States; Introduction To Grand Central Dispatch (GCD); Introduction to Blocks; Implementing a Block; Dispatch Queues in GCD; State Change Notifications; Handling The Inactive State; Handling The Background State; Local Notifications.

Using Web Services

Reachability (Airport Mode, etc.); Synchronous vs. Asynchronous Downloads; NSURLsession; HTTP Requests; Parsing JSON; Parsing XML; Airdrop; An Example of Fetching a JSON Feed, Parsing it and Displaying it.

Application:

Weather Forecast. An example of fetching a JSON feed, parsing it and displaying it. We will connect to OpenWeatherMap.org and fetch a JSON feed that will give the current forecast information for a specified location. We will handle any error states, and then parse the JSON and display the weather data.

Design Patterns

MVC Revisited; Using The MVC Patterns; Introduction to the Singleton Design Patterns; Categories – Adding Methods to Existing Classes without Subclassing; Delegation; The Delegate Pattern; Notifications – Sending Messages to Other Objects; Key Value Observing (KVO), Key Value Coding (KVC).

Map Kit and Core Location

Location Accuracy; Obtaining Location Information; Specifying Accuracy; Calculating Distances; Longitude and Latitude; MapKit Framework and MKMapview; MKMapitem and MKPlacemark Classes; Forward and Reverse Geocoding; Creating MKPlacemark Instances; Working with MKMapItem; Enabling Turn-By-Turn Direction.

Application:

We will create an app that will display an MapView. The user will be able to drop a pin anywhere on the map and we will use Reverse Geocoding to retrieve location information. We will then display this info.

iCloud and iOS7-8

Configuring iCloud; Enabling iCloud in an App; The iCloud API; Creating a Provisioning Profile; Checking iCloud Availability; Opening an iCloud File.

Application:

iCloud capability is more difficult to demonstrate, as you must be a member of the Apple Developer Program and you also need two iOS devices in order to see it in operation. We will create an app that will create a To do list on one iOS device that will sync with our other iCloud enabled devices.

Touches, Taps and Gestures, Recognizers

The Responder Chain; Touches; Taps; Swipes; Pinches; Detecting Multiple Taps; Defining Custom Gestures; Getting the Coordinates of a Touch; Introduction to the Accelerometer; Core Motion and The Motion Manager.

Application:

All through this module, we will build up a simple app where we add two or more graphics to the screen and then move them around by dragging, pinching, and rotating with the help of gesture recognisers.

Scroll Views and Page Views

Introduction to the UIScrollView; Implementing a Scroll View; Embedding a View Hierarchy Inside a UIScrollView; Keeping a Scroll View’s Content Centered; The Xcode Page-Based Application Template; The UIPageViewController Class; The Page View Controller Data Source; Creating an Application that Uses UIScrollView’s Paging Feature and UIPageControl, To Allow Scrolling through Multiple Pages of Content.

Application:

We will develop an application that uses UIScrollView’s paging feature and UIPageControl, to allow scrolling through multiple pages of content.

Graphics: UIKit, Core Graphics and Animations

What’s Available in UIKkit; UIKit Example App; UIKit Dynamics Architecture; Core Graphics and Quartz 2D; The DrawRect Method; Points, Coordinates and Pixels; Arcs and Paths; Introduction to UIView Animation; Animation Example; Text Kit.

Application:

We will look at creating a simple game using UIKit and styling a View (adding animations, etc.).

Camera, Video and Audio

Accessing the Camera and Photo Library through The UIIimagePickerController Class; The UIImagePickerController Delegate; Saving Images and Videos; Camera Example; Introduction to Core Image; Playing Videos on an iOS Device Using The MPMmoviePlayerController; Video Player Example; Playing Audio Using The AVAudioplayer; Recording Audio Using AVAudiorecorder; Audio Example; iOS Speech Synthesis.

Application:

We will write an app that will allow the user view pictures from the library and also take pictures using the device’s camera and save them to the photo library. We will also look at how to implement something similar using video.

Email, Twitter and Facebook within iOS Apps

Sending Email from an iOS App; The MessageUI Framework; Implementing The Mail Interface; Plain Text vs. HTML Messages; Populating the Subject Line and Recipients; Setting the Message Body; Adding Attachments; Reporting Status; The UIActivityViewController; Using SLRrequest and the Account Framework; Twitter Integration Using SLRequest; Facebook Integration Using SLRequest.

Application:

Building on the previous tutorial, we will expand the app so a picture captured on the device or selected from the photo library can be added to an email, a tweet or a post to a Facebook page. Or we can implement one, and leave the others (and all error checking) as an exercise.

Introduction to Games Programming Using Sprite Kit

Introduction to Sprite Kit; Sprite Kit View; Scenes; Nodes; Game Physics; Actions; Transitions; Animations; Texture Atlases; Game Control Using The Accelerometer; Review of Core Motion and Device Rotation; Touch Handling.

Application:

As an introduction to Sprite Kit, this module will be framed around creating a specific (very simple) game – probably either a space shooter or Breakout.

iPad Programming and Universal Applications

iPad Design Considerations; Splitviews; Navigation View Controllers; Master View Controllers; Detail View Controllers; Popovers; Creating a Universal App; Maintaining Two Storyboards; The User Interface Idiom.

Application:

Universal App example. Using one of our existing iPhone apps, we will look at creating a Universal App. We will create an iPad storyboard and populate it with the view controllers need for an iPad version. We will look at how to handle iPhone/iPad variations in code and will add the necessary icons/default screens.

Design Considerations / Internationalisation and Localisation

iOS7 – The New Aesthetic; The Human Interface Guide Revisited; iOS7 Design – Best Practices; Updating An Existing App To iOS7; Localising An App – Multi-Language Support; Localisation Architecture; The Localised String Macro; Language and Region; Nslocale; Dates; Numbers.

Application:

Localisation example. We will take an existing application and investigate tow to add multi-language support. This will also reinforce some of the lessons from the Auto Layout section.

Instruments, Debugging, Unit Testing and Source Control

Instruments Ii Xcode – Introduction to the Templates; Profiling; Allocation; Leaks; Debugging an Xcode Application; The LLDB Debugger; The Breakpoint Navigator; Exception Breakpoints; Introduction to Unit Testing; Creating and Running a Simple Unit Test; Source Control Using Git; Commits and Branches.

Preparing an App for Distribution

Free vs. Paid vs. Ad-Supported vs. In-App Purchases; Introduction to iAds; Introduction to In-App Purchases; Preparing Icons and Launch Images; Creating Distribution Certificates; Archiving An Application; App Store Distribution; Adhoc and Enterprise Distribution; Managing Your Application - itunes Connect.

iOS 8

Using iOS 8, Updates and new features since iOS 7.

Introduction to Swift

Introduction to Swift, Swift and Syntax, Helloworld and Swift, Settings, Labels, IBOutlet, IBAction, Fundamentals, Variables, Strings, Collections, Control Structures, Functions, Classes, Playground.

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

I pretty much do everything i love on the internet and I always wanted to create. So I joined the online diploma for iOS application development course and i was worried that i would disappoint but then it was just too cool not to talk about. I mean, I AM MAKING APPLICATIONS! I would highly recommend this course to anyone seeking for a career in app development. Everything top to bottom was flawless explaining bit by bit, leading to the bigger result. I am so happy for making this choice, and I would once again recommend this. It helped me understand various perspectives of coding it taught me patience, and eventually helped me make a reputation out of it and soon hopefully become a coder. Thank you Fitzwilliam Institute Group!

Ramtejesh Basineni

On successful completion of this course you will receive a Diploma level qualification that is certified and awarded by the ICM (Institute of Commercial Management)

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 have developed and provided practical skills training courses in liaison with the Institute of Commercial Management qualifications and certifications framework for over 25 years. The Institute of Commercial Management certifications and continual professional development training awards are recognised throughout Europe, the USA, Canada, Australia, South Africa and Asia in a total of 140 countries, by leading industries, bodies and professions.

next start date: 27th October 2017

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: 995.00 EUR

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 Ireland and international companies. See where our most recent students come from and find out what they have to say.