Beginning Cocoa Bootcamp
In 7 challenging days, Beginning Cocoa Bootcamp will take you from complete novice to being able to build your first Cocoa application. In addition, you'll become an active participant in the Cocoa programming community, allowing you to continue learning upon completion of the class.
Two days devoted to learning Objective-C are followed by the renowned Big Nerd Ranch 5-day Cocoa I Bootcamp. This developer training offers a condensed and information-rich, hands-on introduction to Objective-C programming. This is the perfect class for programmers interested in learning Cocoa who may lack a background in C or Object-Oriented Programming.
We are using Mac OS X 10.5, Xcode 3, and Objective-C 2.
Upon completion of Beginning Cocoa Bootcamp, the student will be able to:
- 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
- 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
- Demonstrate fluency in Objective-C
- Cocoa I
- Write complex applications for Mac OS X
- Master Interface Builder and Xcode
- Find and understand the online documentation
- Demonstrate experience with the most common classes in the frameworks
- Understand the design patterns used in Cocoa
- Recognize several common idioms of the Cocoa community
Upcoming Classes
| Date | Instructor | Price | Status | Venue |
|---|---|---|---|---|
| Sep 26 - Oct 2 | Mark Fenoglio Scott Ritchie |
$4750 | Register Now | Atlanta, Georgia |
| Oct 17 - 23 | Matthias Fricke Scott Ritchie |
€3400 | Register Now | Frankfurt, Germany |
Reviews
Prerequisites
Prior experience in C and Object-Oriented Programming is not necessary. Some experience in programming is helpful but not required.
Syllabus
| 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. |
| Undo | Add an undo menu item to your application. |
| CoreData | Use CoreData with bindings to create full-featured applications easily. |
| 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. |
| OpenGL and Cocoa | Create and manipulate 3-D views in your Cocoa app. |
| Processes | Create Unix processes and communicate with them from a Cocoa application. |
| Printing | How to add printing to your application |
| Core Animation | Use CALayer to add animation to your app |
| Garbage Collection | A deeper look at how the garbage collector does its job |
| Core Data Relationships | A more advanced look at Core Data |
Onsite Training
We offer onsite training for Beginning 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 (404) 478-9005.
What's Included
Class price includes all class materials, a luxury room, three delicious meals a day, a stylish Big Nerd Ranch t-shirt, and ground transportation to and from the airport. Plan to arrive the afternoon or evening before your class begins and depart on the last day of your class after 4 PM.