4 ms·
"Coding uses a lot of thinking patterns that I hadn't really used since my math and statistics classes in college, and even back then not in this intensity" An
by jorgeleo 14y ago
"Coding uses a lot of thinking patterns that I hadn't really used since my math and statistics classes in college, and even back then not in this intensity"
And
"I guess my point is, that if you want to become a programmer, you have to be comfortable with having to learn new things constantly for the rest of your life."
So many conversations around "but I want to be a programmer, do I really need to learn math? Really, really?"
Yes, you do. But more disturbing than the resistance to learn math is the resistance to learn. Period.
What i like about the article is that, all though the writter admits there are some challenges, he does not whine about them, but instead he overcome them. Because of that, he has a good chance at succeeding in programming, or anything else for that matter.
Maybe not in 6 months... But he will get there
- yesimahuman 14y agoDo you really have to learn "math?" Is dividing by two "math" or just intuition? I rarely use the advanced math I learned in my math minor in college. Instead it's just like business: you need to have an intuitive sense of numbers and be comfortable shuffling them around.
- daguar 14y ago"[M]ore disturbing than the resistance to learn math is the resistance to learn. Period." To call learning "the ugly side" betrays a certain ethos, no?
- anewguy 14y agoBecoming familiar with dozens of esoteric APIs that may change next month is not the fun kind of learning. The practice of programming is full of a lot more busywork than it looks like from the outside.
- tzs 14y agoWhat math do you think one needs to learn to be a programmer? To be a good programmer, you need to think in a somewhat mathematical way at times, but you almost never actually need to know math beyond the elementary school or early high school level. There's was an interesting essay in the Notices of the AMS a couple years ago called "What is Mathematics For?" that explored the widespread belief that high school math is an important job skill. The conclusion was that it isn't for most people. However, learning high school math teaches reasoning, and that IS an important skill--so even though most people won't have any use for the math, math classes are important. Here's the essay: http://www.ams.org/notices/201005/rtx100500608p.pdf http://www.ams.org/notices/201005/rtx100500608p.pdf I think the same applies for programming. You need to be able to reason, and learning some math is probably the best way to pick up those reasoning skills.
- derleth 14y ago> you need to think in a somewhat mathematical way at times This is the essence of mathematics; all else is commentary (er, details).
- tptacek 14y agoThat may be, but it is not the essence of mathematics classes, in which a good deal of rote memorization and continuous practice of specific systems is required to pass.
- varikin 14y agoI had a teacher in college that was discussing the math requirement for the programming classes he taught. I was at this point past the classes being discussed. His reasoning for wanting, I think Algebra 1, for Intro to Programming (C++ at the time), was not because the actual math was used in the class. He wanted, as you said, to ensure the students were capable of mathematical reasoning.
- oblique63 14y agoI think it would be interesting to see the same concept applied in the reverse; i.e. have a programming requirement for math classes. At my university, there's always an embarrassing number of Algebra 1 sections under the math dept every semester (I'd even say that just the Algebra 1 & 2 offerings make up about 30-40% of their total sessions some semesters). And if I hadn't seen some of my friends tutoring student's in those classes, I wouldn't have really believed there was a necessity for so many sections, but now I do. People just seem to have a really hard time extracting the concept of 'thinking mathematically', from the act of doing math itself, and I'd say it's because it is so abstract; once you go past basic money/counting scenarios, the real life analogs start to break down for most people, and all they see is numbers, symbols, and mysterious rules. Programming on the other hand, while still pretty tough to grasp if you're new to that way of thinking, seems like it might be a gentler intro to me. Not only does it tend to have a culture of more intuitive naming schemes than math, and have a faster feedback mechanism (i.e. a REPL/compiler checks your code as opposed to a math teacher), it also makes modeling more real world systems really easy early on (so people won't feel bounded to just money or whatever as their anchor back to reality), especially if the course goes into OOP at all before it's over.
- jorgeleo 14y agoI am going to answer to my self as a way to answer all the comments at the same time. What I am rescuing from the article is the ability to learn beyond looking for what is the minimum that needs to be learned; the attitude of "I need to learn this, so I'll stretch my self" as opposed to "I don't need to learn this!, I can learn the least possible!, it is only useful up to this point! I have never used beyond the basics!". If this is your attitude, then good for you, but as an employer, I am not going to choose the employee that it is just looking for the minimum to learn to get by. And that attitude is the difference between a code monkey and professionalism. This is disturbing to me because today the resistance is towards "math", tomorrow will be towards "C#" ("why do I have to learn that if I can easily scaffold in ruby?" multiple technical reasons, but the one that hit the most for programmer that are not living in their mom's basements is: Because I sign your paycheck), and the day after it would be something else. In general it reflects a problem with learning. My comment does not goes towards math exclusively, but towards the ability to enjoy learning, and that is a color of the character. The comments of I don't need to learn this or that (math, or whatever else) tells me more about who you are than engaging in what is the level of math that you need to learn. Of course some egos will feel offended and call me and my high horse... then again...
- broofa 14y agoI.e. Learning math is not a pre-requisite, it's a byproduct. You don't need to know math to program, but as you become a better programmer, you _want_ to tackle more challenging problems - some of which inevitably involve math (and knowledge in general) that you aren't familiar with. To solve these problems, you have to learn as you go and that, as others have noted, is the real hallmark of a good programmer.