About the Course
This class is intended for students who want to learn to develop applications for iPhone and iPad. The mode of this course in online in which the students and tutor would be interacting with each other through communication software's like Skype, Team Viewer, Electa etc. This course consists of several assignments after each class and two major projects which the students would be developing from scratch throughout this course. The class would comprise of live audio/video lectures, slides and screen sharing while writing and understanding code. During the start of every class half-hour would be completely devoted to a doubt sessions regarding topics covered in previous class. The duration of each class would be from 2-3 hrs depending length of the topic. I hope each and every student who takes this class will end up becoming a skilled and confident iOS developer.
Topics Covered• Introduction to iOS Platform and its architecture
• Basics of C language
o Foundation of C
o Program Structure in C
o Variables and Data Types
o Input, Output and Control Statements
o Pointers and Structures
o Functions, their types and usage.
o Simple C Programs - Sorting, Pointer, Recursive and Pyramid programs
• Objective C 2.0
o Introduction to Objective C and its foundation
o Variables, Data types, expressions, program looping and conditional statements
o Classes, Objects and methods
o Abstraction, Polymorphism, Inheritance and Encapsulation (OOPs Concept)
o Properties, Instance Variable, Static typing, Dynamic typing and Dynamic binding
o Class Extensions, categories and protocols.
o Introduction to the Foundation Framework
• Introduction to iOS SDK, Cocoa and Cocoa Touch Frameworks
• Introduction to XCode 6, Storyboards, iOS Simulator and debugger console
• Foundation and UIKit Framework
o Introduction to iOS User Interface Elements
o UIView Controller, UINaivgation Controller, UIWindow and UIView
o Creating Connections and Declaring Outlets and Actions
o Implementing Image Views, Buttons, Text Fields, Labels, Segment Controller, Switches, Pickers, Date Picker, Page Control, Actions sheets and Alerts
o Using Delegates and Datasource protocols for Tableview, Scrollview and Tab Bar controller
o Subclassing UIView Controller and Customizing Table view.
o Storyboards, segues, push-pop and passing data between view controllers.
• IOS Design Patterns – Model View Controller, Singleton and App Delegation
• Autorotation, Autolayout and Multiview Applications
• Settings bundle, Application and User Default settings.
• Basic Data Persistence – Property lists, SQLite3 and Core Data
• Local Notifications, Push Notifications, Notification Centre and Notification Observer
• iCloud Integration, App Store submission and In-App Purchases
• Networking – Synchronous and Asynchronous Downloads, Data Upload, Data parsing – JSON and XML, Handling authentication challenges and web service integration
• Working with Text, Images, Gestures, Touches, Controls and Basic animation
• Multitasking and Background Processing – Grand Central Dispatch and NSOperation queues
• Gyro, Accelerometer, Core Motion, Map Kit and Core Location Frameworks
• Accessing Camera, Photo and Music Library
• Using AVPlayer and Media Player Libraries for playing audio, video and online streams
• Social Network Integration – Facebook, Twitter, Instagram, etc.
• Creating provisioning profiles, code signing, iTunes Connect setup and App store submission.
Who should attendFor people interested in developing application for iPhone and iPad.
Pre-requisitesBasic Programming Knowledge
What you need to bringYou need to have a macintosh or a hackintosh operating system with latest version of Xcode installed in it."
Key Takeaways*Ability to program for iOS platform
*Making cool applications for iPhone and iPad
*Ability to utilize all hardware capabilities of apple devices to push your app to the next limit
*To make apps based on gps and accelerometer sensors.
*Integrating social networking features to your app.
*Publishing your app on the iTunes and App Store.