The Certificate in Advanced iOS Application Development class meets twice per week on Monday and Wednesday evenings This is an instructor-led course and will also include WebEx recordings for playback and review.
Spring classes will meet - Monday and Wednesday evening: 6:00 pm to 8:30 pm (2.5 hours) Five hours per week for 12+ weeks. Classes will not meet on official Pace holidays.
Total iPhone classroom hours - 60 hours / 12+ weeks. This iPhone training / class meets in our downtown NY campus location in a brand new state of the art Mac lab computer facility.
The learning objectives of the iOS class are: to acquire the skill necessary to develop advanced iPhone (iPad) App’s incorporating the newest in advanced technologies offered in Apple’s iOS6 releases. At the end of the class, students will have completed a full featured application that can be submitted to the App store.
Main Project(s): There will be a number of hands-on exercises and class projects throughout the course. One main iPhone and / or iPad project of student’s choice will be required by the end of the course.
Professional programmers / experienced programmers interested in learning how to build advanced iOS applications.
Prior iPhone / iOS Application Development experience is required. Students are expected to have completed at least one application prior to enrollment, or demonstrate that they have a solid foundation in iOS programming.
You need enough time in your schedule to attend classes, do the homework exercises, review materials and readings and work on projects. Students should plan on approximately two to three hours outside of class for each hour spent in class.
This hands-on course delivers 60 hours of classroom instruction supplemented with outside class assignments and optional Mobile Device Computing Labs.
Optional / Supplemental Hours:
Students registered in the iOS / iPhone Application Development program will also have access to our Mobile Device Computing Lab. The Mobile Device Computing Lab will be open to all mobile students to work collaboratively in groups or individually on homework assignments and class projects. The lab will also be staffed with an instructor to provide extra help with questions, homework assignments and projects. The lab will be available one Saturday per month or three times during the course.
There will be a number of hands-on exercises and class projects throughout the course. One main iPhone and / or iPad project of student’s choice with approval by the instructor will be required by the end of the course.
Review of Objective C
Overview of new iOS 5, iOS 6 features including: ARC memory management, storyboards, and working with collections. Ideas for student projects will be discussed in class, and a final project idea will be agreed on. Students will understand version control and how to set up a GitHub account for project tracking. Basic version control terminology will be introduced.
Create a simple App using Storyboards. Understand transitioning between Views. Implement best memory practices using ARC. Students will use version control terminology, i.e., commit, push & pull and understand how to incorporate version control into all their App projects. Best practices using Github will be explored.
Understanding the features of the new TableViewController implementation. How to customize TableCells. How are Collections implemented. Incorporating image caching. Access remote assets using AFNetworking. Review student App ideas for final projects.
Create a simple gallery browser using Collections. Understand how to customize TableCells. Understand how easy it is now to display images in a TableRow without noticeable lag using the AFNetworking framework for remote image management and managing of remote media resources.
Understanding and using REST services, short for REpresentational State Transfer. Why REST is now the preferred way of accessing web services in iOS. JSON vs XML output. How to parse both formats.
Student will create a simple gallery app to access REST using custom designed APIs. How to document REST services. Best practices for handling errors that can result when using REST.
Using the new Social framework introduced by Apple. Integrating twitter and Facebook into your App. Error messages, and user fall backs when accounts have not been configured.
Students will incorporate Apple’s new Social framework into their projects.
Introduction to iCloud. Why use iCloud. Best practices. How to integrate iCloud into your App. How applications can set parameters for iCloud. Managing data and user settings in iCloud.
Students will incorporate iCloud into their App projects.
Understanding OpenGL. How to process, and render images using the new OpenGL framework. Understanding 2D and 3D Core graphics engines. How best to maximize graphics performance. Introduction to Cocos2D for abstracting graphics concepts with 3rd party frameworks.
Students will use graphics primitives to create buttons and widgets for user navigation and enhanced user experiences.
Students will continue exploring the graphics engines incorporated into iOS and will be introduced to more advanced concepts used in gaming environments.
Students will be design a simple game, incorporating game physics.
There have been major changes to the AVFrameworks in iOS6. Students will learn how to access the Camera, and how to record and playback video. Apply special effects to images, and export media content from the iPhone/iPad to external printers and other networkable devices.
Students will incorporate new AVFoundation framework features into their App. Handle image manipulation and processing. How does Instagram do it’s magic?
Gestures are often passed over in basic classes. In this class will look in depth at detecting simple gestures, multiple touches, drag and release gestures.
Students will incorporate Apple gestures into their App projects. The App will include a sampling of all gesture actions supported in the new iOS.
Maps and Core Location have gone through significant changes in iOS6, including dropping Google Maps for Apple’s new maps. Students will build a basic iOS Map application, with location awareness and explore how targeting locations can be plotted on a map. Also ideas like customization of pins, route overlays will be introduced.
Students will build a MapKit based App incorporating the new MapKit Framework, Core Location and understand how annotations are used to display user info based on touch and gestures will be covered. We will also look at Location Awareness, and how to design an App that provide visible feedback if you are in a specific geo defined region and what actions that can trigger.
Core Data is an object based approach to handling traditional non-object based data. We will explore ways to use Core Data, designing optimized object database structures using Core Data and how to synchronized between remote data sources with Core data.
Students will add Core Data features to the their App to retain and manage user data. Demonstrate how to synchronize to non-Core Data remote databases, and best practices in Object managed database design and schema generation.
We will look at Apple's latest bells and whistles and how they can be implemented. Topics will include: Push Notification, in-App purchases, Passbook, the Accelerometer, iAd’s and accessing the output port built into every iPhone and iPad. Students projects will be reviewed and critiqued.
Labs this week will focus on review of students final projects, and all the necessary steps that are needed to submit finished App’s to the store.