Looking for beginner programming book

Discussion in 'iOS Programming' started by CJ31, Jan 3, 2011.

  1. CJ31 macrumors newbie

    Joined:
    Jan 3, 2011
    #1
    I’m looking for a good beginners book to learn how to program iphone/ipad apps. I have never before programmed anything in any language, so I need a book that takes it from the very basics. I’m not looking to create the next angry birds and make a bunch of $. I'd like to learn it with my 8 & 10 year old to give them the experience. My goal is to give them the satisfaction to be able to publish some kind of basic app by the time we are done.

    Many books for learning Objective C seem to require a prior knowledge of programming. One that I have found is "iPhone and iPad Apps for Absolute Beginners (Getting Started)" by Rory Lewis. But not sure if there is something better.

    I know my way around PC’s (I'm the unofficial IT guy in our small office), but again, have never programmed anything. We don’t have a mac yet, but are planning to get one very soon.

    Any help is appreciated!
     
  2. nick9191 macrumors 68040

    Joined:
    Feb 17, 2008
    Location:
    Britain
    #2
    Anything by Stephen Kochan is good.

    Edit: I don't believe he has an iPhone specific book however. I have Objective C 2.0 by him and it has an iPhone section. Despite this very good book to learn Objective C and assumes no prior knowledge. Also doesn't try and teach you C first before progressing to Obj C, which a lot of books do.
     
  3. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #3
    I second that recommendation for someone in your shoes.

    It's a good book that gives you plenty of fundamentals and builds quickly. If you don't have any prior programming experience, so much the better as you won't bring bad habits with you.

    Once you've got that under your belt, take a look at the iTunes U course from Stanford University on iPhone development. It's really very good.

    B
     
  4. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #4
    Learn to program first.

    Do not start with Objective C or iPhone/iOS programming. Neither are designed as educational programming languages. The learning curve will be extremely steep (unless you are the natural math wizard type or some such).

    Pick an easy educational programming language first. When that seems too easy, then try jumping to Obj C and GUI framework programming later.
     
  5. JustSomeDude macrumors regular

    Joined:
    Apr 10, 2010
    #5
    Kochan's book on Objective-C is good. However, I think firewood may be right, especially when you consider that you want some young children to follow along.

    I haven't used it myself, but I have heard people recommend Blitz Basic before and the tutorials I see make it seem like a relatively easy to pick up language that should let you make nice programs. You can also can get a 30 day demo for windows, linux, or OS X. There are other languages that I'm sure would be good too, though.
     
  6. cnstoll macrumors 6502

    Joined:
    Aug 29, 2010
    #6
    I really have to disagree with the people that say you have to learn another language before attempting Cocoa/Objective C development. As someone with a Computer Science degree I know a bit about learning how to program, and while certainly my background helped me pick up Obj C very quickly, I really don't think it's required.

    Case in point: My younger brother was able to develop a simple application with zero programming experience (or help from grown-ups) and have it hosted on the App store. He's 13, had no prior programming experience, and was able to figure it out through the internet and some iPhone programming books.

    For some people, all they want to do is get their feet wet and learn what programming is like by working on a fun project. I really don't think it's necessary for these people to learn C before being able to do that with the iOS platform. For the people that want to become full blown professional mobile developers, sure, learn C first, or Java to learn OOP...or better yet...go to college to learn how to program. But for what this guy and his son want to do I do not think it's required.

    That being said though, if you do start having serious problems, you may have to accept that the cause is a lack of understanding of basic programming concepts and go back to the basics which may be simpler than working with Cocoa.
     
  7. JustSomeDude, Jan 3, 2011
    Last edited: Jan 3, 2011

    JustSomeDude macrumors regular

    Joined:
    Apr 10, 2010
    #7
    Well, from my point of view C may not be the best choice. I, too, have a degree in computer science (actually computer science and engineering). I, myself, didn't find learning programming particularly hard, and I started at the age of 12 - but I also did it in basic.

    I also was a TA for a beginning programming class in C for computer science students. Most people had trouble with C. Some didn't, but I think, just like anything else, some people have people have a knack while others have to work harder to pick something up. Now, it could have been that I was a particularly poor TA and the teacher was also poor, but students I talked to seemed to think he was good and several students thanked me for their efforts with them in the last programming lab. Most people, certainly not all, find C at least somewhat difficult as their first programming language. Objective-C is a superset and isn't any easier.

    I also think there is a big difference, intellectually, between a 13 year old and a 8 year old, or even a 10 year old.

    Additionally, other languages allow you to get up and running faster with graphics, sound and UI. They may not be as flexible, but can give a better sense of reward earlier.

    Of course, I'll admit, that one or more of the people involved may have a knack for programming and may be able to help the others, regardless of language used. Or they may have the dedication to push through regardless.
     
  8. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #8
    I concur. In many ways Objective C 2.0 is easier than straight C for the simple stuff.

    That said, my boys (9 and 7) have shown zero interest in programming anything but old school Mindstorms at summer camp last summer. If I really wanted them to learn something about code I might consider a VPL like Scratch.

    B
     
  9. cnstoll macrumors 6502

    Joined:
    Aug 29, 2010
    #9
    What languages/platforms would possibly get you up and running with graphics, sound, and UI faster than an iOS app? Java and Swing? I'm not talking about OpenGL and all that, I mean just buttons and pictures. Some of the tutorials out there for beginner apps are so easy that if you can read them you can create the app they describe. People like us like to say you need to know what a pointer is in order to do that, but you really don't. And the satisfaction for a beginning programmer that comes from a working iOS app that you can hold in your hand, especially a young one, far outweighs creating a classroom command-line utility and probably makes it more likely that that person will pursue a career in Computer Science down the road.
     
  10. ulbador macrumors 68000

    ulbador

    Joined:
    Feb 11, 2010
    #10
    Honestly, not much can beat the Visual Studio languages, particularly VB, for doing this in a hurry.

    With VB, you create your layout, double the click object you want to assign the action to, and dig right in with coding. This is MUCH more involved with iOS and Objective C. You need to create views and view controllers, and manually link everything up.

    Although I'm a bit of an exception in terms of general programming skills, I was able to get a VB multi-threaded webserver up and going in an afternoon for a class I had to take. That is after never really using VB at all. This is pretty much how quickly VB can be picked up.
     
  11. CJ31 thread starter macrumors newbie

    Joined:
    Jan 3, 2011
    #11
    Thanks for all the replies. I'm going to order the Kochan book along with the Rory Lewis book and see what happens. I'll read them first, and then read parts to the kids while we TRY and do some very simple things. If I see their eyes glaze over too much I will back off and try something easier.

    I'll update the post at some point to let everyone know the outcome. Thanks again.
     
  12. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #12
    True Visual Programming Languages are often easier than VB/VC#. You don't have to write any code, just wire blocks together and expose certain parts of it as your UI. I particularly like Agilent VEE for this kind of rapid prototyping which is why I was mentioning VPLs like Scratch above.

    Another book/resource I am finding useful is http://cocoadevcentral.com/ and the related book by Scott Stevenson http://cocoabook.com/ it deals more with Cocoa once you have handle on Objective C.

    B
     
  13. chown33, Jan 4, 2011
    Last edited: Jan 4, 2011

    chown33 macrumors 604

    Joined:
    Aug 9, 2009
    #13
    There's also the Processing programming language:
    http://en.wikipedia.org/wiki/Processing_(programming_language)
    Processing is an open source programming language and integrated development environment (IDE) built for the electronic arts and visual design communities with the purpose of teaching the basics of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks.​

    And there are many variations on Logo:
    http://en.wikipedia.org/wiki/Logo_(programming_language)
     
  14. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #14
    Ah Logo! Back in HS I helped out teaching Logo to the younger kids in the Apple II lab, my first TA experience. Good times.

    NOTE: Your Wikipedia links are broken (didn't include the closing parenthesis). Processing looks neat.

    B
     
  15. CYnthiaBlue44 macrumors newbie

    CYnthiaBlue44

    Joined:
    Dec 17, 2010
    Location:
    Sydney
    #15
    I'm up to hour 14 of John Ray's Book - iPad App Dev

    I'm up to hour 14 of John Ray's Book Sams Teach Yourself iPad Application Development in 24 hours. I'm enjoying the journey although it's a struggle because I have very little coding experience.

    His examples are meaningful to me and I can see how they can be translated into my own creations.

    I enthusiastically recommend this book.
     
  16. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #16
    Actually no. Most people with a degree have forgotten how hard it was to learn... especially for the many who never made it all the way to the degree they started on.

    Either you spent no time with the TA, and know nothing about the people who had to. Or you did spend time with the TA, and have forgotten about all the other students who had a really hard time understanding it all and kept asking really dumb questions over and over.

    Until a new programmer finds that they are sharp, I recommend a kids programming environment, maybe an educational version of Smalltalk or Python in a fun graphical sandbox. Face the statistics: far more kids learned to patch together some simple silly game in Basic on their Apple II, Acorn, or C64 (et.al.) than ever passed a university level C/C++ course. The odds are with the easy approach.
     
  17. cnstoll macrumors 6502

    Joined:
    Aug 29, 2010
    #17
    Read the rest of my original post. I'm not talking about people that are interested in becoming "Programmers". I'm talking about people that are interested in making an App because it sounds cool and they're curious about it. And yes there is a difference.
     
  18. ulbador, Jan 4, 2011
    Last edited: Jan 4, 2011

    ulbador macrumors 68000

    ulbador

    Joined:
    Feb 11, 2010
    #18
    As someone who hires programmers regularly, I rarely look at a CS "degree" as a valid qualification. I look more for practical experience and knowledge, and a willingness and ability to learn.

    Hell, I have my BS in IT specializing in Software Engineering and that equated to about 6 actual programming classes and 168.5 SDLC and project planning classes. The only reason I got the degree was to make my resume look impressive. Most of my fellow students in the programming courses could barely make loops and conditionals function correctly by the end of the class, so I know firsthand how useless most academic programming courses all are by themselves. Now if a student takes the basic knowledge learned in those courses and uses it to keep evolving, that is something completely different.
     
  19. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #19

Share This Page