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:
- Objective-C
- Understand classes, objects, and methods
- Write a first program in Objective-C
- Understand data types and expressions
- Use basic control constructs for looping, decision-making, etc.
- Define classes and write instance and class methods
- Be able to use inheritance
- Take advantage of polymorphism and dynamic typing
- Work with the preprocessor
- Utilize underlying C features
- Use the basic Foundation classes (numbers, arrays, dictionaries, sets, etc.)
- Retain and release objects correctly to prevent memory leaks
- Be fluent in Objective-C
- Cocoa
- Be able to write complex applications for Mac OS X
- Have mastery of Interface Builder and Xcode
- Be able to find and understand the online documentation
- Have experience with the most common classes in the frameworks
- Have a clear understanding of the design patterns used in Cocoa
- Be able to recognize several common idioms of the Cocoa community
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.