iOS Development

Course No. 10-152-139

Reading Technical Books

Um, I already know how to read, what’s this about?

How you’ve been taught to read

  • Reading a novel

  • This is a fine and appropriate way to read a novel. That’s what the author expects you to do. It’s just not the best way to read for information.

This is how to read a technical book!

When we read a technical book we are trying to get information from the book. This is different. It requires a different set of skills than reading a novel.

Let’s look at one way to read tech books. There are others, but this way has been shown to work well for most people.

What is this book about?

  • The first step is to get an overview of what this book is about. What do you expect to learn from it? If you have a question in your mind before you learn the answer, you understand and remember the answer much better. Here are the step for this.
  1. Start with the Table of Contents
    1. If the book has major parts then just read those quickly. Turn each part title into a question. Our textbook has six parts.

    2. Here they are.
      1. Part I. Getting Started
      2. Part II. How Programming Works
      3. Part III. Objective-C and Foundation
      4. Part IV. Event-Driven Applications
      5. Part V. Advanced Objective-C
      6. Part VI. Advanced C
    3. How do I turn them into questions? Here are some examples.
      1. Part I. “How do I get started? That’s always a worry.”
      2. Part II. “How does programming work? I have some idea, but I’m not sure exactly.”
      3. Part III. “I’ve heard of Objective-C, but what is it really? And what do they mean by ‘Foundation’?”
      4. Part IV. “OK, I have no idea what this means. What are they?”
      5. Part V. “Advanced? Just learning the beginning stuff seems advanced to me. What do they mean by ‘Advanced’?”
      6. Part VI. “C and Objective-C. You keep using those terms like they are different. What is the difference? What are the advanced parts of C?”
  2. Next pick up the book or open the e-book version and quickly page through the whole book. Yes, the whole book. You want to do this very quickly and not stop and read anything in depth. You are trying to get a sense of how the book is constructed. How is it trying to teach? Are there screenshots, graphics, and code examples? Let’s do that now. (I’ll use the e-book version.) Here are some things I’m doing.
    1. Skim the chapter titles and section headers. Don’t pause too long to think about them, just read them.

    2. Look at pictures, graphs, charts, and screenshots. You’ll probably be seeing those on your own computer soon. Be curious, ask yourself what they might mean.

    3. Look at the code samples. Just look at the shape of the code, don’t read it in detail. You’ll be doing plenty of that soon. We’re trying to get the idea of what our code will look like. If something looks familiar, then try to think of where you’ve something like that before.

    4. Notice that our book uses the phrases, “For the More Curious”, and “Challenge”. I wonder if we are going to need to do those?

    5. If you see words and concepts that you have never heard of, like, “Recursion”, don’t say, “Oooo, that sounds scary”. Just say something like, “Recursion? What’s that? I’m looking forward to knowing what that is.”
    6. Once you get past half-way in the book you can even pick up the pace. Remember that you are trying to see how this book works, how is it going to try to teach you.

Moving On To Chapters

  1. The next step is to read all the chapter titles. That might sound like a lot to do, but this book has a relatively large number of chapters at 42. That won’t take long.
  2. As you read them look for things you already know and things that are completely new. You should be familiar with things like if/else. Other terms like Pass by Reference and NSString might be new to you. If you want, you might consider marking the chapters that seem familiar.
  3. Go ahead and read them now.
  4. The chapter titles.
    1. You and This Book
    2. Your First Program
    3. Variables and Types
    4. if/else
    5. Functions
    6. Format Strings
    7. Numbers
    8. Loops
    9. Addresses and Pointers
    10. Pass By Reference
    11. Structs
    12. The Heap
    13. Objects
    14. More Messages
    15. Objects and Memory
    16. NSString
    17. NSArray
    18. Your First Class
    19. Properties
    20. Inheritance
    21. Object Instance Variables and Properties
    22. Class Extensions
    23. Preventing Memory Leaks
    24. Collection Classes
    25. Constants
    26. Writing Files with NSString and NSData
    27. Callbacks
    28. Blocks
    29. Protocols
    30. Property Lists
    31. Your First iOS Application
    32. Your First Cocoa Application
    33. init
    34. More about Properties
    35. Key-Value coding
    36. Key-Value Observing
    37. Categories
    38. Bitwise Operations
    39. C Strings
    40. C Arrays
    41. Running from the Command Line
    42. Switch Statements

Diving Into One Chapter

  1. Now let’s dive into learning what one chapter is all about. Chapter one in our textbook is a light introduction, let’s look at chapter 2 instead.
  2. First step is still in the Table of Contents (TOC). Read all the subheadings for the chapter. Here’s chapter 2 in the TOC.
  3. 2. Your First Program
    1. Installing Apple’s developer tools
    2. Getting started with Xcode
    3. Where do I start writing code?
    4. How do I run my program?
    5. So, what is a program?
    6. Don’t stop