While most object-oriented programming (OOP) courses base themselves on C++ or Java, Rogers suggests Cocoa [1] as an alternative, in particular because of its powerful framework, the elegant syntax of Objective-C, and the high-quality free development tools provided by Apple with every copy of Mac OS X.
This paper begins by making a case for the study of frameworks (collections of integrated classes), and then promotes Cocoa’s frameworks, in particular, by describing the history of Cocoa; the Cocoa class architecture; the syntax of the Objective-C extensions to American National Standards Institute (ANSI) C; and Apple’s development tools, Project Builder and Interface Builder (it is worth nothing that Project Builder was subsumed by Xcode [2] in 2004). Following this, the author guides the reader through the creation of a sample application, “Aviation Weather Fetcher,” which retrieves and displays weather information from the National Oceanic and Atmospheric Administration (NOAA). It is intriguing that such a sophisticated application can be created in just a few minutes with Cocoa, supporting the author’s assertion that Cocoa has a valid place in the classroom.
Given Objective-C’s close relationship to the ANSI C that most undergraduates have experienced, Cocoa provides an easier transition to OOP than Java. The only con that the author does not mention is that Cocoa and Xcode run specifically on Apple Macintosh hardware (the GNUstep project [3] notwithstanding), which a school may not currently own. However, the powerful framework of Cocoa, along with the strong Unix base of Mac OS X, make the Macintosh a computing platform worth looking into for many computer science programs.