Introduction to Version 1.4 This directory contains several documents related to a Capabilities Seminar that was developed by Dan McCreary with the assistance and encouragement of Greg Smedsrud, Dave Stutz, Laurn Warburg and Charlie Oei. This seminar is designed to introduce concepts of object oriented programming and the NextStep environment to faculty developing courseware. I am glad to share this and any of the materials that I have developed with other SEs as long as you agree to give me feedback on what needs work. Version 1.4 includes a text that can be used with the materials. I strongly recommend that you use the class evaluation forms (see the Docs directory). The best way for me to assure quality is by insisting that everyone who takes the class fills out a class evaluation. I often start out with the following joke: "We usually change several thousand dollars per person for this class, but if everyone promises to do an evaluation I will do it for free". I have also found that it helps to hand out the evaluation before the class starts to make them remember what they liked and what they didn't like. I think that it is very important that we continue to use Statistical Quality Control (SQC) methods to continually improve our presentations. Please direct any feedback on these class materials to Dan McCreary, email mccreary@next.com, voice mail x4778 (outside 412-780-2778). Thanks you for your interest. - Dan Class Description NeXT has introduced a new application development environment called NextStep which reduces the amount of time and effort required to write software programs. In this session programmers, developers, and designers will learn to understand some of the capabilities of object-oriented design methods and how they are applied within the NextStep environment. A thorough examination of the March 1989 Byte articles would help in preparation for this session. Directory Contents 00_READ_ME - this file Book - text book under development Cookbook - Recipes for creating several small programs. See the 00_README file in that directory for more details. Docs - contains class descriptions, class evaluations, posters, programmer's notes and references. ViewGraphs - Copies of overhead transparencies Stepstone_Tutorial - direct from the Stepstone manual. I typed it in by hand. I was very surprised to see it included in the 0.9 Tech Doc. Figures - Draw figures used in Overheads. Can be modified and pasted into your own WriteNow files. History When I first attended Developer's class, I was amazed at how easy it was to do very complicated things with the NextStep environment. I felt that there must be some way I could explain it to our customers. If they only understood how easy it was to create really great applications they would all be excellent reference accounts. My conversations with Greg affirmed that one of the best ways to sell a product is to exploit its uniqueness. Since others will be announcing their OOP environment in the near future, we must do this now. Our market window will not last forever! I was assisted and encouraged by Dave Stutz. He has expanded his own version of this seminar to include a more detailed discussion of Display Postscript. His notes are included. For materials, I started out with the March 1989 Byte Articles. If you can get the seminar organizers to make the articles suggested readings it will help. I added things from the developers class notes as well as things from Brad Cox's book. All of them are listed as references. Seminar Structure Although our first class was targeted at experienced programmers, we found that more than two thirds of our audience consisted of non-programmers that just wanted to find out what someone could do on the NeXT. Because of this I have attempted at breaking up the class into three sections, each of which gets increasingly technical. Each section lasts approximately 50 minutes with a 10 minute break. Each of the three sessions gets slightly more technical, and they are modular enough that you can break the three hour class up and target it at different audiences. Relationship to Developers Class This is not a replacement for developers class. I try to make this very clear at the beginning of the class. Its purpose is to give people a feeling of the potential of the system. One of the most important things that we do in this class is try to encourage more people to attend developers class. Many schools have found access to the developers class handouts enough to start sending people. Class Outline First hour - for a general audiences (little programming backgroud necessary): What is object oriented programming? Encapsulation Inheritance Messaging Dynamic Binding Summary and References Second hour - for novice programmers Event based programming Syntax of Objective C Stepstone Fruit Example (optional) Tour of the Interface Builder Project Management Third hour - for experienced programmers Creating a "View" sub-class Drawing into a view Adding instance variables to objects Adding controls to change instance variables Using Open, Font, Copy etc Finishing a complete application