iPhone Programming

June 14-18 2010, JHU Dorsey Center, Elkridge MD
Co-Sponsored by Johns Hopkins Engineering for Professionals


This class is now over. Next public version is tentatively set for summer or fall 2015 at the same Johns Hopkins location in Maryland. In the meantime, please contact hall@coreservlets.com for information on a customized onsite version at your location. Lower price, more convenient for your developers, and customizable content. Full-day courses can be held at any location worldwide, but for clients in the Baltimore/Washington area, late afternoon, evening, or weekend sessions can also be arranged.

This page describes the public (open enrollment) training course on iPhone development to be held June 14-18 at the Johns Hopkins Dorsey Center in Elkridge, MD (co-sponsored by the Johns Hopkins University Engineering for Professionals program). The entire course is personally developed and taught by leading iPhone developer and instructor Jason Fieldman. No contract instructor regurgitating someone else's materials! Jason was the lead iPhone developer for a Silicon Valley startup as well as the designer and instructor for Stanford University's iPhone development course.

If you are looking for customized iPhone, Java, J2EE, JSF 2.0, GWT, or Ajax training courses taught on-site at your company, please see this page.

Register Early! Five of the previous public short courses from coreservlets.com were full, so reserve your spot today. Registrations are taken in the order they are received.


Overview

The iPhone is a fantastic mobile platform to work with, but many developers don’t know where to start. In this course, students will learn the fundamentals of creating and distributing iPhone applications.

The course will cover topics such as the Objective-C programming language, using the Xcode development tools, and how to interact with the Cocoa Touch API. Students will be introduced to a broad spectrum of iPhone development topics and exercises, and should be comfortable embarking on their own development by the end of the course.

Coreservlets.com normally runs on-site training courses at customer locations. This is easier administratively, is better for clients since the topics and schedule can be customized, and is more cost effective for students since no travel is required. However, due to demand from those who do not have enough students for an on-site course, Jason will be a running public (open enrollment) iPhone training course June 14-18 at the Johns Hopkins Dorsey Center in Elkridge MD.

The course is developed and taught by Jason Fieldman, an experienced iPhone developer, and the course designer and instructor for the iPhone programming course in Stanford University's part-time program.

Venue

The course will be held at the Johns Hopkins Dorsey Center in Elkridge, Maryland. This is a modern, comfortable venue with fast wifi. Coffee, snacks, and meals are included, and class meets from 8:30 am to 4:30 pm daily. All necessary software will be provided, but, as described in the Prerequisites, students must bring their own Mac laptop to class.

For Maryland residents, the location is centrally located 5 minutes from BWI airport and has plenty of free parking. For out-of-town students, there are many hotels within 1 mile.

Registration

The five-day course costs $2395 per student and includes an extensive course notebook, a commercial textbook, exercises, exercise solutions, breakfast, snacks, and lunch. Compare this price to courses from Sun, Learning Tree, GlobalKnowledge, and Oracle University that cost around $2400 for four-day courses and $3000 for five-day courses that do not include textbooks or meals. Besides, those courses almost always use an unknown instructor who did not develop the course materials and often lacks significant real-world development experience.

To register, fill out and send in the course registration form. Space is limited: five previous offerings of coreservlets.com courses were full. Bonus: Register at least a week in advance and get a $50 gift certificate from amazon.com.

Prerequisites

This class requires that students have a strong object-oriented programming background, and are fluent in C, C++, C#, or Java.

This course jumps directly into Objective-C programming concepts, and is geared toward seasoned programmers that are comfortable coming up to speed in a new language very quickly. Objective-C shares a large amount of syntax with C, so those fluent in C, C++, C#, or Java will be able to pick up the small changes quickly.

Students are also required to bring a computer running Mac OS X 10.5+ (Leopard or Snow Leopard) on an Intel platform. The iPhone development tools are only available for these operating systems, and are NOT available for Windows operating systems. It is recommended that students bring a MacBook, although they can also bring a Mac Mini with associated peripherals (monitor, keyboard and mouse).

Students are not required to have an iPhone or iPod Touch. Most of the exercises can run on the simulator environment that comes with the development tools. Students without an iPhone or iPod Touch will have to pair up with another student to run exercises that deal with device-specific resources, such as: Accelerometer, Camera and iPod integration.

More Information



  • Guinea pigs? No! Jason's course reflects real-world iPhone experience and has been tested in the Stanford University part-time program. We don't use your developers as guinea pigs for new materials.
  • Regurgitation? No! Jason developed all his own materials. No contract instructor regurgitating memorized PowerPoint slides.
  • Green? No! Jason is an experienced developer and instructor. The course gives best practices and real-world strategies. No newbie instructor dodging tough questions.

Syllabus

Day 1

  • Class Introduction
  • Xcode environment and developer program portal
  • Objective-C Part 1
  • Objective-C Part 2
  • Hello World iPhone App

Day 2

  • MVC and understanding the view hierarchy
  • Overview of standard UIKit controls
  • MVC and understanding controller functions
  • More info on UIViewController classes

Day 3

  • Table Views Part 1
  • Table Views Part 2
  • Retrieving information from remote servers
  • Storing information on the device

Day 4

  • Quartz 2D
  • Animation
  • Tracking touches
  • Using the camera and image library

Day 5

  • The Accelerometer
  • Location awareness
  • Media (sound, music, movies)