Big Nerd Ranch front page

Advanced Mac OS X Bootcamp

Advanced Mac OS X Bootcamp is an all-inclusive 5-day Advanced Mac OS X training course for students who have read and understood the first nine chapters of Cocoa Programming for Mac OS X. The class is intensive, and students should be prepared to work hard.

The course is taught mainly in C with some Objective-C.

Upon completion of Advanced Mac OS X Bootcamp, the student will:

Upcoming Classes

Date Instructor Price Status Venue
Dec 8 - 12 Mark Dalrymple $3500 Register Now Atlanta, Georgia

Syllabus

The syllabus is listed below, but our extensive knowledge of Advanced Mac OS X 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
Why am I here? An introduction to the instructor and the course.
GCC and Objective-C 2.0 Create and use macros well, set the flags effectively, and create macros, functions and methods with a variable number of arguments. We'll take a look at GCC-specific extensions and optimization options. Also includes a look at 64-bit programming, Intel-specifc issues, properties, and fast enumerators.
Libraries Create and use frameworks, bundles, static libraries, and dynamic libraries.
Command-Line Programs Even though the Unix command-line is old school, it can still be useful to write programs that can be part of a pipeline. We'll take a look at running processes from the command line, supplying arguments, creating pipelines, environment variables, and more.
Memory Really understand the different flavors of memory: stack, heap, and initialized and uninitialized data segments. A tour of the tools that can help you hunt down memory leaks, and a look at Cocoa garbage collection.
Debugging with Gdb Learn the ins and outs of the debugger, getting comfortable with the command-line power not exposed in Xcode. Includes unit testing and code coverage.
Exceptions, Error Handling, and Signals Error handling is a necessary evil. Learn about errno and Unix errors, setjmp and longjmp, handling signals, blocking signals, exceptions in Cocoa (NS_DURING, @throw), and assertions.
File I/O and Permissions Find out about Buffered and unbuffered I/O, scatter-gather I/O, file permissions, temporary files, set-uid executables, MacOS aliases and resource forks. And that's just the start.
NSFileManager Now that you know the sordid details about files, see how Cocoa hides a lot of the complexity from you. You'll create a simple file browser in Cocoa using NSFileManager.
Network Programming With Sockets Berkeley Sockets, TCP/IP and UDP, and IPv6
CFRunLoop Here's how to wait for input/output in an event driven application -- without multithreading! Includes Core Foundation and Cocoa classes that give higher level access to the network.
Multiprocessing How to write systems that fork for maximum performance. fork(), pipes, and NSTask are covered. Beware of the Zombies!
kqueues Tired of traditional signal handling and using select() to multiplex I/O? kqueue provides a simple unified model for all that stuff.
Accessing the Keychain Store and read a user's keys from their keychain.
Authorization and Authentication Learn how to create processes that need special privileges using the Security framework. Includes an introduction to code signing.
Distributed Objects Create a client and server that communicate using Distributed Objects.
Bonjour Allow your clients and servers to find each other on the network.
Daemons and launchd How to write well-behaved daemon processes and user agents using launchd.
Multithreading How to write systems that spawn new threads for maximum performance. pthreads and NSThread are covered.
NSOperation Now that you have learned what is hard about threaded programming, see how NSOperation can simplify some of the work.
Subversion Using Subversion for version control.
Performance Tuning Learn how to figure out what is really slowing your program down. Master sampling, profiling, Shark, and Saturn.
DTrace and Instruments Peer into the guts of the operating system while it is running, and use Instruments to diagnose your application's behavior.
iPhone See how things are different, and the same, between Desktop OS X and the iPhone.

Onsite Training

We offer onsite training for Advanced Mac OS X 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 five-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 only $3500. Plan to arrive on Sunday evening and depart on Friday afternoon.

When the class is offered in Europe, the price is €2800 plus VAT. (€2600 plus VAT if you register at least four weeks before the class begins.)