I'm new to computer programming and want to write applications for the iPhone

I'm new to computer programming and want to write applications for the iPhone I've designed the 5 course series for students that have never programmed before. Many of our students have never programmed before and have gone on to develop apps and post them on the iTunes App Store. Apps from our students have gone on to be the #1 paid app on the app store and several in the top 100 paid apps.

These classes assume no programming background and take you step-by-step giving you the knowledge to become a software developer. The instruction is based on technology developed by Carnegie Mellon University. The innovative 3D programming environment makes it easy to learn the computer programming principles necessary to be a successful iPhone Developer.

The courses you should take if you are new to computer programming and want to be an iPhone Developer are:

Intro to Object Oriented Programming and Logic for iPhone Developers - Online Course

Purpose: This course is designed for those who have never programmed. If you don't know what if/else statements, variables, functions, classes, inheritance, polymorphisms, methods, events, Boolean logic, arrays, recursion and IDE are, this course is for you.

This course uses a technology developed for teaching new Computer Science students at Carnegie Mellon University with a grant from the National Science Foundation. This technology and Integrated Development Environment allows students to easily focus on writing code, logic and Object Oriented Programming without having to also learn a complex development environment.

Many try to be iPhone developers with little background in computer programming and quickly struggle. This course is designed to build a solid programming foundation for iPhone development for those who have little-to-no programming experience.

Required Books: An Introduction to Programming Using Alice, Charles W. Herbert

Times: 5pm Pacific: Total of 8 online classes

Course outline:

  1. Introduction to Object-Oriented Programming
  2. Developing Methods
  3. Classes
  4. Objects
  5. Events
    1. Keystroke events
    2. Mouse events
    3. Relationship to iPhone events
  6. Logical Structure of Algorithms
  7. Debugging
  8. Boolean Logic in Programming
    1. Comparing Strings
    2. Boolean Functions
  9. Branching
  10. Looping
    1. Pre-test
    2. Count-Controlled
    3. Sentinel
  11. Binary Branching
  12. Multiple Branching
  13. Text and Sound
  14. Recursive Algorithms
  15. Lists and Arrays
  16. Data Structures
Upcoming Intro to Object Oriented Programming and Logic - Online Courses
Live Start Dates Instructor Price Status
July 5, 2010
Mon & Wed
& Always OnDemand 24x7
Gary Bennett $97*

1 Seat Left

back to top

Objective-C 2.0 for iPhone Developers - Online Course

Purpose: Objective-C 2.0 for iPhone Developers is designed to help iPhone developers quickly understand Objective-C and get you on your way to becoming a successful iPhone Developer.

Objective-C is critical to be able to code the iPhone! You must be comfortable programming in Objective C and with Xcode. This class will accomplish this.

This course is designed to help the developer, who may lack a background in Objective-C, C, C++ and OOP, understand Object Oriented Programming.

We are using Mac OS X 10.5, Xcode 3, and Objective-C 2.

Required Books: Programming in Objective-C 2.0, Stephen G. Kochan
Recommended Books: Learn Objective-C on the Mac, Mark Dalrymple

Times: 5pm Pacific. Total of 8 online classes.

Course outline:

  1. Compiling and Running Programs
    1. Using XCode
    2. Using Terminal
  2. Displaying the values of variables
  3. What is an Object
  4. Instances and Methods
  5. @interface Sections
    1. Choosing names
    2. Instance variables
  6. @implementation Section
  7. The program Section
  8. Accessing Instance Variables and Data Encapsulation
  9. Data Types and Constants
    1. Type int
    2. Type float
    3. Type double
    4. Type char
    5. Long
    6. Type id
  10. Arithmetic Expressions
    1. Operator Precedence
    2. Integer Arithmetic
    3. Integer and Floating-Point Conversions
    4. The Cast Operator
  11. Assignment Operators
  12. Program Looping
    1. For statement
      1. Keyboard input
      2. Nested for loops
      3. For Loop Variants
    2. The while Statement
    3. The do Statement
    4. The break Statement
    5. The continue Statement
  13. Making Decisions
    1. The if Statement
    2. The if-else Construct
    3. Compound Relational Tests
    4. Nested if Statements
    5. The else if Construct
    6. The switch Statement
    7. Boolean Variables
    8. The conditional Operator
  14. Classes
    1. Separate Interface and Implementation Files
    2. Synthesized Accessor Methods
    3. Accessing Properties Using the Dot Operator
    4. Multiple Arguments to Methods
    5. Local Variables
    6. The self Keyword
    7. Allocating and Returning Objects from Methods
  15. Inheritance
    1. Extension Through Inheritance: Adding New Methods
    2. Overriding Methods
    3. Extension Through Inheritance: Adding New Instance Variables
    4. Abstract Classes
  16. Polymorphism, Dynamic Typing, and Dynamic Binding
    1. Polymorphism: Same Name, Different Class
    2. Dynamic Binding and the id Type
    3. Compile Time Versus Runtime Checking
    4. The id Data Type and Static Typing
    5. Asking Questions About Classes
    6. Exception Handling Using @try
  17. More on Variables and Data Types
    1. Initializing Classes
    2. Scope Revisited
    3. Storage Class Specifiers
    4. Enumerated Data Types
    5. The typedef Statement
    6. Data Type Conversions
  18. The Preprocessor
    1. The #define Statement
    2. The #import Statement
    3. Conditional Compilation
  19. Underlying C Language Features
    1. Arrays
    2. Functions
    3. Structures
    4. Pointers
    5. Unions
  20. Memory Management
    1. The Autorelease Pool
    2. Reference Counting
    3. An Autorelease Example
    4. Summary of Memory-Management Rules
    5. Garbage Collection
  21. Copy Objects
    1. The copy and mutableCopy Methods
    2. Shallow Versus Deep Copying
    3. Implementing the Protocol
    4. Copying Objects in Setter and Getter Method
Upcoming Objective-C for iPhone Developers - Online Courses
Live Start Dates Instructor Price Status
August 2, 2010
Mon & Wed
& Always OnDemand 24x7
Gary Bennett $97*
2 Seats Left

back to top

Cocoa & Xcode for iPhone Developers - Online Course

Purpose: Cocoa & Xcode for iPhone Developers is designed to give students the critical and necessary tools and knowledge to develop an iPhone application using Cocoa, Xcode, Interface Builder, Debugger and Instruments.

This course is critical for any iPhone Developer.

Required Books: Cocoa Programming for Mac OS X, Third Edition, Aaron Hillegass and Xcode 3 Unleashed, Fritz Anderson

Times: 5pm Pacific. Total of 8 online classes.

Course outline:

  1. Objects, Classes, Methods, and Messages
  2. Xcode
  3. In Interface Builder
  4. Creating and Using Instances
  5. Using Existing Classes
  6. Creating Your Own Classes
  7. The Debugger
  8. Memory Management
  9. Turning the Garbage Collector On and Off
  10. Living with the Garbage Collector
  11. Living with Retain Counts
  12. Lay Out the Nib File
  13. Implementing the AppController Class
  14. Debugging Hints
  15. Delegates
  16. Lay Out the User Interface
  17. Make Connections
  18. How Delegates Work
  19. Key-Value Coding; Key-Value Observing
  20. Key-Value Coding
  21. Bindings
  22. Making Keys Observable
  23. Properties and Their Attributes
  24. Key-Value Coding
  25. Key-Value Observing
  26. Basic Core Data
  27. How Core Data Works
  28. User Defaults
  29. Using Notifications
  30. What Notifications Are
  31. Using Alert Panels
  32. Localization
  33. Core Data Relationships
Upcoming Cocoa & Xcode for iPhone Developers Online Courses
Live Start Dates Instructor Price Status
September 6, 2010
Mon & Wed
& Always OnDemand 24x7
Gary Bennett $97*

back to top

iPhone SDK Programming - Getting it done! - Online Course

Purpose: Now that you know how to program and are familiar with Objective-C, Cocoa and Xcode, you are ready to learn how to write iPhone applications. This course is designed to do just that. You will be exposed to all the critical elements in iPhone development and write your first iPhone app.

Required Books: Beginning iPhone Development: Exploring the iPhone SDK, Dave Mark and Jeff LaMarche

Times: 5pm Pacific. Total of 8 online classes.

Course outline:

  1. The iPhone Application Components
  2. Platform limitations
  3. Hello World Application
  4. Views
  5. View Controllers
  6. Alerting Users
  7. Basic Tables
  8. SQLite Databases
  9. Displaying HTML
  10. Auto Rotation
  11. Displaying Pictures
iPhone SDK Programming - Getting it done! Online Courses
Live Start Dates Instructor Price Status
October 4, 2010
Mon & Wed
& Always OnDemand 24x7
Gary Bennett $97*

back to top

iPhone SDK Programming - Advanced - Online Course

Purpose: This course is designed to take you to the next level in iPhone Development and covers many of the details that developers get stuck on. We dig into the tools and courses that make up the iPhone UI Development Framework. We will also discuss multi-touch handling.

Required Books: Beginning iPhone Development: Exploring the iPhone SDK, Dave Mark and Jeff LaMarche
Recommended Books: iPhone Cool Projects, Gary Bennett, et al

Times: 5pm Pacific. Total of 8 online classes.

Course outline:

  1. iPhones, Threads and memory management
  2. Advanced Tables
  3. Animation and OpenGl
  4. Touch and Multi-touch sequences
  5. Core Graphics
  6. Core Animation
  7. Pulling Data using Web Services
  8. Using Instrumentation and Source Control.
Upcoming iPhone SDK Programming - Advanced Online Seesions
Live Start Datese Instructor Price Status
November 1, 2010
Mon & Wed
& Always OnDemand 24x7
Gary Bennett $97*

back to top

*Prices do not include the price of the books. You will need to order them from Amazon or other sources. See FAQ and course description for the book(s) needed for each class.