# Expected knowledge of math with these books

I wanted to see if I was the only one that was a little disappointed at the expected level of math knowledge when reading this book.

I consider myself a pretty descent PHP developer and have done many PHP based websites with databases and so forth. I recently decided to venture into iOS programming and picked up this book as a great starting point. In the chapter three I was introduced to the word logarithm. Had to look up what that meant. Then, shortly after the word mantissa. And now for the challenge of chapter 7, it says to do a program that displays the sine of a 1 radian. Come on? Really?

Can someone explain to me what I am missing here? How is me knowing how to calculate the sine of 1 radian going to make me a better iOS developer? Can we have better examples and challenges?

You never know. Someday you may find yourself having to write code to animate an object going around in circles 60 times per minute.

It is inevitable that you are going to meet new words and concepts to learn when you venture into a new territory.

If the math looks scary, check out the following resources.

http://ocw.mit.edu/resources/res-18-005-highlights-of-calculus-spring-2010/highlights_of_calculus/big-picture-of-calculus/

ibex10 is exactly right.

I’d say that I use basic geometry at least once in every client app that I ship, and basic trigonometry in maybe 1/4 or 1/5 of them. I’ve rarely (if ever) needed anything more than angle calculations (SOHCAHTOA kind of stuff) in the 5-ish years I’ve been doing iOS development. Then again, I’ve never made a game.

That’s not meant to be scary, just that as a part of learning development, an endorsement in investing some time learning (or brushing up on) those topics.

Agreed (not that I have any real-world experience or anything). I’ve found that for most languages I acquire (whether they be PHP, jQuery, Javascript, C, obj-C or iOS related), that having a very strong math background has been very helpful. But let me explain…

I studied Electrical Engineering at College which means I took all the Calculus courses, Vector Geometry, Linear Algebra, Differential Equations, blah blah blah… I ultimately have decided that what really helped was the fact that all the basic properties, identities, & methods for evaluation were being drilled into the deepest part of my brain… in a place that I will never forget . In terms of learning at a faster pace, having this math stuff deeply engrained allowed for me to apply more of my focus solely on the language itself, thus making things a lot more bearable to pick-up while going through chapters.

So if you have less experience or trouble with math, go and buy yourself a little laminated cheat-sheet for a few dollars and always keep it close by. Eventually things will start to seep in. Hell, i’ll still pull one out that I wrote on a piece of printer paper 4 years ago if need be.

I’m probably one of the most math-averse people on the planet, in fact it was my intimidation about math that made me give up my dream of being a game programmer when I was a teenager. Only now in my thirties have I learned that I can actually learn how to program despite the math hurdles. I thought I’d lend my opinion to your comment about math in this book.

I get where you are coming from and have noticed it myself. The world of programming seems to be a hotbed for people with an affinity for math. This makes sense considering how much the ideas of computing are related to maths. For people like myself who are not math types, I’d say to view programming as a means to an end. I use programming to achieve my goals of making creative software products that I want to share with the world. While I have learned to enjoy some things about the act of programming, I do get frustrated when diving too deeply into the underlying math behind it all.

I feel like it’s okay if I don’t know a lot of math because I can program the computer to do math for me. So really I only need to know how to tell the computer how to solve any math problems that I come across. So while I sometimes have to do some research into understanding certain math formulas needed to solve a coding objective, I don’t worry about memorizing formulas or even learning it thoroughly. I only need to know enough to tell the computer how to solve this one specific calculation, and then I move on.

While I never got much further than basic algebra in school, occasionally I will be working on a coding task that requires, say, a certain trigonometry formula. I never took trig in school. But thanks to the internet, I can spend a little time with Google and find a resource that explains what sort of equation I need to solve my problem. Then I find out how to enter that into my code. Now I’ve solved my problem and I can move on to coding the rest of my app.

For example, in a game I was making I needed to use some vector math to calculate the position of a sprite on the screen. I had never encountered any math of that sort before. But some quick work on Google led me to the following site which explained it very well.
http://www.mathsisfun.com/algebra/vectors.html

The point is that rather than be frustrated by all the math-love that I encounter in my journey of learning to program, I have simply accepted it as a part of the ecosystem. Whether you like it or not, it’s not going away so you may as well get used to it. Fortunately, these days there are tons of resources online, programming cookbooks, and all sorts of video and written resources online that can help non-math types like me find the right approach to solving math-related problems. Then all you have to do is find the best way to code that solution into your program. Which is what being a programmer is all about for me: finding the most expedient way to create your projects and accomplish your creative goals.