From: Josh Cheek Date: 2010-11-20T05:38:15+09:00 Subject: Re: Where to start from? --001636310389a8a67e04956de2da Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Fri, Nov 19, 2010 at 6:57 AM, Phillip Gawlowski < cmdjackryan@googlemail.com> wrote: > On Fri, Nov 19, 2010 at 12:38 PM, Josh Cheek wrote= : > > > > > Now, while I'm unimpressed with other people telling you to go learn ma= th > > and Scheme and go to school, there is a good point behind their > suggestions > > that learning about Rails doesn't constitute learning how to program. S= o > you > > need to challenge yourself to learn problem solving techniques. You can > use > > math to do this, but I'm suspicious as to whether this is necessary. My > > experience was that it took an exorbitant amount of time, with a lot of > that > > spent learning the math rather than the problem solving, and now it has > been > > a couple of years and I don't remember any of it. If the only lasting > thing > > that math has to offer is problem solving, then I suspect you can use > > programming instead (you will have to push yourself). > > Heck, maths offers more than problem solving skills. > > Let's take three examples, out of different mathematical fields (all > of this is Maths for Engineers 101): > > 1) Enterprise resource management (solving linear equations; vectorial > maths). > Let it be given that you need 2x, 4y, and 7z to produce a given item. > Let it be given that the parts cost: x =3D .03, y =3D .25, z =3D 1.00. > Let it be given that there is a demand of 1000 for your product. > Let it be given that you can produce .2 items per day, and production > of an item costs .50 USD. > > How many x, y, and z do you need to produce 1000 pieces? > What is the minimum cost of your product? > What is the maximum price you can demand and still sell 500 items? > How long will it take you to produce the items? > > 2) Electrical Engineering (complex numbers). > Given are two harmonic fluctuations of identical frequency (that's an > exam question at my engineering college, BTW): > y1 =3D 4 * sin(2t + 45=BA) > y2 =3D 3 * cos(2t + 60=BA) > > What's their superposition? > > I have an incredibly difficult time imagining a web developer being asked either of these questions. The second one in particular, if you had that question, would you think "I better go find a web developer"? Or even more generally "a programmer"? If you are able to word it like that, then you ar= e probably already ahead of them in solving it. And if you aren't, then this isn't a compelling example. > 3) SQL's JOIN (set theory). > What's the intersection of the sets {1,2,3,5,6} and {1,2,4,6}? > > Okay, I guess I should clarify that I am mostly thinking about Calculus and Linear Algebra and Statistics. I'm not saying there is no merit to Discrete Math. Though I don't think it is anywhere near as difficult as school makes it, and I still think it is less relevant than academics consider it, and I expect you will figure almost all of that stuff out when you need it -- if you need it. In my discrete math course, they taught prefix, postfix, infix. I understoo= d it well enough to walk through their drawings of trees and get the right answer on my test. Then in Data Structures, I was given code for a Binary Search Tree, looked at the delete function (recursive), couldn't comprehend it, sat down and worked out what it was doing, and said "holy crap!". And when told to print the tree, wrote my own version. I didn't comprehend that it was the same as what I learned in Discrete Math, I just thought about it for a while, tried putting it after the traverse child code, it didn't work= . I thought about why not, realized it needed to go between them. Then, several days after I finished. I was reflecting on it, and finally realized the placement of the print statements was just prefix, postfix, infix traversal. I had solved it without math. Of course, I can't see myself ever needing to code my own BST, so even then, not sure how relevant this exampl= e would have been for the pro-math side. Another example: I have never used De Morgan's laws outside of homework problems, but I've been taught them at least 6 times (yes, I just stopped and counted). > > Point being: maths is applied to real problems, that you have to deal > with. Of course, if all you ever do is create a blogging engine, then > you won't need any maths at all (that is, if you blindly trust that > your SQL engine does the real thing, and that your assumption of what > kind of join you want is always correct). > > I am confused by this. I would say you don't have to trust it, you can just look and see if it gives you the correct results. Presumably you will say that for some other input, it may not. To which I will say that isn't determined by math, but by how it is coded. --001636310389a8a67e04956de2da--