Ask HN: Learning programming without math?

6 points by klrr ↗ HN
Hi, I've tried learning programming in a few months(well, maybe years, depends how you count). I got a problem though, every single book I read using mathematical problems in its examples. I'm in elementary school, and I haven't done any advanced mathematics yet so some of this stuff is completely new to me. It forces me to focus on the math instead of the programming, and it feels that is the source of my failures. Is there a way to learn programming without math?

10 comments

[ 0.24 ms ] story [ 28.2 ms ] thread
It is so weird. When I read a book about programming, it's examples weren't math, but things like "Build a Contact List" or something like that.

You should try that kind of things. Although that depends on which language are you working, I would encourage you to look for tutorials which doesn't involve maths. Internet is full of those too :-)

Good luck with that!

Thanks for the reply! :-)

I've read HTDP and K&R, and a little bit in Learn you a haskell, may you tell what books you've read that contained such examples as you mentioned?

Those are all quite academic titles, aimed at computer science students who may end up writing complex algorithms. The overwhelming majority of programming titles expect no mathematical knowledge beyond basic arithmetic. You've chosen titles which are excellent for a serious student intent on mastering computer science, but they're very hard going if your aspiration is to be a working programmer. I would suggest choosing a project that you'd like to achieve and look for books that help you towards that end - as I said, practically all of them will require no significant mathematical knowledge.
That's actually a very interesting in general. "Programming" is a vague concept though. You can code a lot of things using only very simple algorithms and data structures. Most of the paid projects I worked on for the past year were not exceeding (eastern-european) high school level of mathematics.

To answer your question - maybe try to pick up books that focus more on programming language and simple algorithms than mathematically complicated things. The first one I've got when being a kid was a classic The C Programming Language by Dennis Ritchie.

This isn't answering your question but it seems others are and it's still good to say:

Spend some time learning maths.

I don't mean to say you shouldn't continue advancing in programming and I understand that you're in elementary school which is supposedly teaching you maths on a standard track but you are clearly a self-starter and would do well to advance independently.

Schools teach maths poorly. They generally focus on rote mechanics at a slow pace with very little to keep the interest of anyone and this is a big reason people (a) think they are bad at maths and (b) hate maths.

My elementary school barely advanced beyond arithmetic but, thanks in large part to programming, I independently advanced much faster than that. I still regret not pushing myself to go further but at least I got to spend most of my K-12 education ahead of the mathematics track.

I have no idea where you are in mathematics since "elementary school" is very broad, but BetterExplained (http://betterexplained.com/) is a great place to get some started. It can even give you a better grasp of addition and subtraction, let alone more advanced topics.

There's a hidden distinction between the calculations and the computations. Calculation is the arithmetic, computation is the administration: logic, order of operations, variable management, data structure, etc.

You don't need much calculation ability to be a good programmer. You absolutely need good computation skills, especially logic.

Maybe you can use programming to teach you more advanced maths. Matrices are a bizarre concept to me, but I understand arrays very easily.

If you're looking for a book that is fun to read and very approachable "The Little Schemer" would be a good choice. The book teaches some pretty important concepts. Also, it has the benefit of not assuming that the reader knows much at all about either mathematics or computers. However, the book is also not very practical. It will certainly help you think more clearly about programming, but it's more akin to a very long brain teaser than an actual programming tutorial.

Another approach might be a book that focuses on making simple games rather than doing math. The Land of Lisp[1] might be a fun place to start. I haven't read it personally, but it might be worth a look.

[1] http://landoflisp.com/

Yes. I learn math to supplement my programming. What would you like to program?