Big Nerd Ranch front page

Objective-C & Cocoa Bootcamp

Objective-C/Cocoa Bootcamp is an intensive seven-day training course specifically designed for developers who want a compact and informative introduction to Objective-C programming before taking our Cocoa Bootcamp.

The first two days of the course are devoted to learning Objective-C with Mark Fenoglio, followed by our five-day Cocoa Bootcamp with Aaron Hillegass. In 7 challenging days, these courses will take you from complete novice to being a Cocoa developer.

This developer training offers a condensed and information-rich, hands-on introduction into Objective-C programming. This is the perfect class for programmers interested in learning Cocoa who may lack a background programming in C or OOP.

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

Upon completion of Objective-C & Cocoa Bootcamp, the student will:

Upcoming Classes

Date Instructor Price Status Venue
Jun 14 - 20 Mark Fenoglio
Chris Campbell
$4300 Sold Out Atlanta, Georgia
Jul 26 - Aug 1 Aaron Hillegass
Mark Fenoglio
$4300 Sold Out Atlanta, Georgia
Sep 13 - 19 Aaron Hillegass
Matthias Fricke
€3400 Register Now Frankfurt, Germany
Oct 11 - 17 Aaron Hillegass
Mark Fenoglio
$4300 Register Now Atlanta, Georgia

Reviews

Prerequisites

Prior experience in C and Object-Oriented Programming is not necessary. Some experience in programming helpful but not required.

Syllabus

The syllabus is listed below, but our extensive knowledge of Objective-C & Cocoa enables us to customize the course to your needs and speak on topics that may not be in the outline. Let us know what you want.

Section Contents
Objective-C
Why am I here? An introduction to the instructor, Objective-C, and the course contents.
Classes, Objects, and Methods A brief introduction to the concepts of OOP programming.
Get started Write a first program in Objective-C. Define a simple class.
Data types and expressions Understand the basic data types and how to write expressions.
Loops How to use basic language statements for program looping.
Decisions Understand the basic decision-making constructs in the language.
More on Classes Using separate interface and implementation files. Multiple arguments to methods. Local variables.
Inheritance The root. Extension through inheritance. Overriding methods.
Polymorphism, Dynamic Typing, and Dynamic Binding The id type. Static vs. dynamic typing. Ask questions about classes.
More on Variables and Data Types Initializing classes. Variable scope. Storage class specifiers. Enumerated data types. Data type conversion.
Categories and Protocols Add a category to a class. Formal vs. informal protocols. Posing.
The preprocessor Define macros. Conditional compilation.
Underlying C Features Learn about arrays, structures, functions, and pointers.
Foundation Classes How to use basic foundation classes, including numbers, arrays, dictionaries, and sets.
Introduction to Memory Management Understand the autorelease pool. Write leak-free programs.
Cocoa
Why am I here? An introduction to Cocoa, the instructor, and the course.
Get started Build a simple app. Discuss tools, frameworks, and workflow.
Controls Use the target/action design pattern.
Helper Objects Use the delegation design pattern.
Controllers and Bindings In 10.3, Apple introduced a new technique that eliminates a lot of glue code.
Toward a Deeper Understanding of Bindings A series of experiments that explain what bindings are and how they work.
CoreData Use CoreData with bindings to create full-featured applications easily.
Advanced CoreData Use advanced CoreData features like unsupported datatypes, inheritance, and validation.
Undo Add an undo menu item to your application.
Archiving Serialize and deserialize object graphs. (Using keyed archiving.)
Nib Files and NSWindowController Discover what "Files Owner" really means.
User defaults Save and use preferences.
Using Notifications Register for notifications. Post notifications. Handle notifications.
Alerts Make the user confirm their choices with an alert panel.
Localization and Internationalization Prepare your application for the global marketplace.
Custom views Do custom drawing.
Images and Mouse events Make your custom view deal with mouse events, images, and the open panel.
Responders and Keyboard events Make your custom view deal with keyboard events.
Fonts and Attributed strings Draw character strings in your custom view.
Pasteboards and nil-targeted Actions Implement copy, cut, and paste.
Categories Add a method to an existing class.
Drag and Drop Add drag and drop to your custom views.
NSTimer Create and use timers.
Sheets Attach sheets to your window.
Formatters Format a character string and convert it to another type with a custom formatter subclass.
Printing Add printing to your application. Deal with pagination.
Updating Menus Automatically enable/disable menu items.
NSTextView A brief introduction to the text handling system.
OpenGL and Cocoa Create and manipulate 3-D views in your Cocoa app.
Frameworks Create a reusable framework.
Making your app AppleScriptable Expose capabilities of your application to AppleScripts.
Processes Create Unix processes and communicate with them from a Cocoa application.

Onsite Training

We offer onsite training for Objective-C & Cocoa Bootcamp: we provide an instructor and all class materials. You'll provide the classroom set up, computers for all students, a projector, and a screen. If you find that you'd like to see some customization of the class syllabus to fit a specific project or priority, we can do that too. To get a quote, talk about the syllabus, or ask general questions about onsite training, call us at (678) 595-6773.

Price

A seven-day class, a student guide, a luxury room, three delicious meals a day, a stylish "Big Nerd Ranch" t-shirt, and transportation to and from the airport for $4300. Plan to arrive on Friday afternoon and depart on the following Friday afternoon.