■ INTRODUCTION
xx
Carnegie Mellon University received a grant from the U.S. government and developed Alice. Alice is an
innovative 3D programming environment that makes it easy to create rich graphical applications for new
developers. Alice is a teaching tool for students learning to program in an OOP environment. It uses 3D graphics
and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.
Alice enables you to focus on learning the principles of OOP without having to focus on learning a
complex IDE and Objective-C principles all at once. You get to focus on each topic individually. This helps
readers feel a real sense of accomplishment as they progress.
Alice removes all the complexity of learning an IDE and programming language syntax. It is drag-and-drop
programming. You’ll see it is actually fun to do, and you can develop really cool and sophisticated apps in Alice.
After the OOP topic has been introduced and you feel comfortable with the material, we then move into
Xcode, where you will get to use your new OOP knowledge in writing Objective-C applications. This enables
you to focus on the Objective-C syntax and language without having to learn OOP at the same time.
How This Book Is Organized
You’ll notice that we are all about successes in this book. We introduce the OOP and logic concepts in Alice
and then move those concepts into Xcode and Objective-C. Most students are visual and learn by doing. We
use both of these techniques. We’ll walk you through topics and concepts with visual examples and then
take you step-by-step examples reinforcing these.
Often we will repeat previous topics to reinforce what you have learned and apply these skills in new
ways. This enables new programmers to re-apply development skills and feel a sense of accomplishment as
they progress.
The Formula for Success
Learning to program is an interactive process between you and your program. Just like learning to play
an instrument, you have to practice. You must work through the examples and exercises in this book. Just
because you understand the concept doesn’t mean you will know how to apply it and use it.
You will learn a lot from this book. You will learn a lot from working through the exercises in this book.
But you will really learn when you debug your programs. Spending time walking through your code and
trying to find out why it is not working the way you want is a learning process that is unparalleled. The
downside of debugging is it can be especially frustrating to the new developer. If you have never wanted to
throw your computer out the window, you will. You will question why you are doing this and whether you
are smart enough to solve the problem. Programming is humbling, even for the most experienced developer.
Like a musician, the more you practice the better you get. You can do some amazing things as a
programmer. The world is your oyster. One of the most satisfying accomplishments you can have is seeing
your app on the iTunes App Store. However, there is a price, and that price is time spent coding.
Here is our formula for success:
• Believe you can do it. You’ll be the only one who says you can’t do this. Don’t tell
yourself that.
• Work through all the examples and exercises in this book.
• Code, code, and keeping coding. The more you code, the better you’ll get.
• Be patient with yourself. If you were fortunate enough to have been a 4.0 student
who can memorize material just by reading it, this will not happen with Objective-C
coding. You are going to have to spend time coding.
• Don’t give up!