How Much Math for iOS Development?

Discussion in 'iOS Programming' started by screensaver400, Nov 21, 2013.

  1. screensaver400 macrumors 6502a

    Joined:
    Jan 28, 2005
    #1
    I studied a social science in college. I was one of the "mathiest" students in my department, but my experience is more in statistics. I took algebra and geometry in high school, then a few stats courses.

    Now I'm interested in iOS development, and thinking of getting started with the Stanford iTunes U courses (including the more basic CS course that comes before iOS Development).

    Will I be okay in the math department? Or do I need to take more general math first? And if so, what math courses would you advise?
     
  2. Duncan C macrumors 6502a

    Duncan C

    Joined:
    Jan 21, 2008
    Location:
    Northern Virginia
    #2
    The short answer is that it depends.

    For business software, hardly any.

    Graphics tends to be fairly math intensive. Trig, geometry, algebra. Also a healthy dose of matrix math, mostly for manipulating transformation matrices for 3D graphics or other uses of hardware-accellerated graphics engines.


    Being good at logic, proofs, and deductive reasoning is a very good foundation for programming. Set theory and boolean algebra also come in quite handy.

    Animation in iOS tends to use a fair amount of trig and matrix math, so it would be good to brush up on that stuff.
     
  3. chown33 macrumors 604

    Joined:
    Aug 9, 2009
    Location:
    Sailing beyond the sunset
    #3
    You could start with the basic CS course, and then see if you run into math problems. If not, then start the next course. In short, try it and see what happens.
     
  4. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #4
    +1 on what Duncan said.

    One other issue is what tools (engines) you use. Some tools hide the math because they work at a higher level.

    Some use tools like Unity, others write their own engines. Apple just put a bunch of game related stuff in their latest iOS API.

    It really depends on what level of programming you are working at.

    Logic is always a plus.
     
  5. thekev, Nov 21, 2013
    Last edited: Nov 21, 2013

    thekev macrumors 604

    thekev

    Joined:
    Aug 5, 2010
    #5

    Animation in anything uses a fair amount of trig and linear algebra. I can think of several extremely math heavy books. Mathematics for 3d game programming has a lot of info relative to its density. If the OP is looking for something heavy on graphics algorithms, the graphics gems series still works. MIT Opencourseware has good sets of lectures + notes and pseudo books (pdfs of a bunch of lecture slides presented as ebooks) on linear algebra and discrete math. You can find more material here. If you like the discrete math course, there's an algorithms one that follows it. Coursera offers an intro to computer science self-study course. I'm not sure how good it is. The big nerd ranch book is one of the few entry level objective C books I know. You can find reviews if you look up the first edition. It doesn't make an assumption of prior object oriented programming experience. I read the first edition. It was decent, but not as thorough as I would like.

    If the OP intends to take something like a night course, my suggestion would be to google the professor in advance. Even with a formal course, I think it's well worth going through the opencourseware materials. They're great. The first book provides a very gentle explanation of some of the math used in animation, such as quaternions (rigging systems) and homeomorphism. It isn't important, and you'll probably never see it. I thought it was cool that one book went over so much targeted math that comes up in 3D work.
     
  6. ArtOfWarfare macrumors G3

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #6
    Programming teaches math. If you don't know it now, you'll learn it without realizing while learning to program.
     
  7. iMacFarlane macrumors 65816

    iMacFarlane

    Joined:
    Apr 5, 2012
    Location:
    Adrift in a sea of possibilities
    #7
    My 2 cents.

    For UI elements, basic algebra and trig are a must. I arranged a grid hexagonally. Since I wanted to allow the numbers of grid elements to vary, I had to set the elements programmatically. Using simple trig identities made this a snap.

    For models, such as physics, pathfinding, or AI, not only would you need to know some calculus, statistics, and logic, you would need to recognize the proper mathematical tool to apply to a given problem. This comes with exposure to the maths, the problems, and, like ArtOfWarfare said, the programming.

    My advice is to take the course, follow along, experiment. Try to come up with your own "proof of concept" programs. Start small. You'll learn one of two things in the process:
    1. How to program effectively in iOS
    2. That you don't like to program iOS

    Either way, you win, and you'll never know if you don't try!
     
  8. PhoneyDeveloper macrumors 68040

    PhoneyDeveloper

    Joined:
    Sep 2, 2008
    #8
    You will be ok in the math department. The first part of the Stanford course has the student implement a simple calculator. The point of it isn't to learn how a calculator works, it's to learn how to program.

    Just jump in. The math won't be the hard part and if you need more you can look it up.

    I wasn't one of the meatiest students but it hasn't held me back.
     
  9. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #9
    Basic algebra, geometry and logic is all you really need for most mobile app development.

    Of course there are specialties, such as apps using 3D graphics requiring a lot of trig and some linear algebra, or physics simulations requiring numerical analysis of differential equations, or audio processing where knowing calculus of complex variables is extremely helpful, or navigation where spherical trigonometry is useful, etc.
     

Share This Page