News for hackers. Stuff that matters.
Re:The software development final exam: Mathematics by kamaal on Wednesday October 10, 2012 @07:39AM (#4635883)
I have immense respect for Dr Collin Percival, and his work. But isn't this getting overboard?

Seriously, calculus? I understand Collin is a computer scientist who is also programmer by co incidence. But this is almost like 'I know it, so you must too'. Most developers are likely to never ever deal with these things at all.

Programming today is so much productivity, discovery and building things. If you face these thing along the way, very well learn them. But to spend the next two years of your life learning calculus which you are likely to never use ever in your career and then only to find you are likely to forget it 2 years down the lane anyway, is a wrong way to be spending your time.

As a programmer what excites me most is a new challenge I've never faced before, And the journey of hard work, discovery, failure and success that follow from such a attempt. I don't mind failing while doing something even if I don't know much about it. I'm likely to learn them by discovering and reading new things, than spending straight 1 years learning all from a book without knowing where they will be ever used up.

The only thing that excites me besides money is the joy of discovering new things, and realizing that I might have solved a real world problem that might be helping someone. Trivia stuff doesn't excite me anymore, I don't see what and how have I changed things around me by merely just knowing more.

Life is really short, I know I have little time to make all the money I want so that I can see the other parts of life. I know coding and math are exciting, but they are among the many things that are exciting in life. Think of it this way, you might have a favorite Ice cream flavor, but unless you taste other flavors how would you ever know if others are better? Or after trying the other flavors you might just discover you have a new favorite flavor!

Re:The software development final exam: Mathematics by dubya on Wednesday October 10, 2012 @08:40AM (#4636043)
> Seriously, calculus?

I think that not knowing calculus would prevent you from working in a lot of interesting areas where there is an optimization component. Coursera's Machine Learning class is actually a little frustrating because the teacher assumes you don't know calculus, so a good chunk of the course is describing very intricate black boxes that reduce to "take the gradient of the error function".

The other big issue with stopping with the math you think you will need is that typically it doesn't completely click until a course or two beyond it. So if you take calculus, you may retain only the vaguest outline, but your algebra skills will be solid. That way when you're lucky enough to find a job requiring calculus you'll just need to review calculus, and not algebra, trig, and calculus.

Re:The software development final exam: Mathematics by irahul on Wednesday October 10, 2012 @08:12AM (#4635946)
> But isn't this getting overboard?

Naive bayes, with a relevant dataset, does a very fine job of data classification(sentiment analysis, spam detection...). Also, almost everyone who isn't a liberal arts major would have come across Bayes theorem in high school or college.

The question about A/B testing is solving simple linear equations. I believe anyone in 10th grade or above should be able to solve it.

Hashing and MAC are pretty much application level security - they don't require intrinsic knowledge of how; what and why is something an application developer should know.

That leaves us with that harmonic progression thingy and padding. Padding, I think, is to avoid cryptanalysis(extrapolating from what you know is a part of knowing things:)).

Overall, I won't say he is going overboard with his questions. If anything, to anyone familiar with the topics, his questions are pretty trivial. The only thing under contention is if the topics he considers relevant are actually relevant.

Re:The software development final exam: Mathematics by mattmanser on Wednesday October 10, 2012 @09:06AM (#4636119)
But what have they got to do with software development.

Zero. Zilch. Nothing. Absolutely sod all.

From the OP's original post, after seeing the questions over the days, his claim:

If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter

So far almost none of the questions on any of the days have been the slightest bit 'important' in software development.

Re:The software development final exam: Mathematics by irahul on Wednesday October 10, 2012 @09:19AM (#4636170)
> But what have they got to do with software development. Zero. Zilch. Nothing. Absolutely sod all.

I don't have all of his questions at hand, but from memory:

1. Basic knowledge of statistics and probability is required for machine learning.

2. His question about zeroing multi-dimension array is to test if you understand the under lying memory model.

3. Do we really need to discuss why you should know how cryptographic hashes work?

4. B-tree has better locality of reference and are de-facto data structure for storage for majority of the cases. Granted, not many people do low level storage, but does that somehow makes it irrelevant to software development?

5. Mutex, rw-locks etc are building blocks of concurrent programs.

I don't know why you are assuming anything which isn't CRUD web development doesn't have anything to do with software development.

Re:The software development final exam: Mathematics by rufugee on Wednesday October 10, 2012 @12:53PM (#4637166)
So I've covered all of these topics at some point in my career. What I'd love to see is someone like Coursera come out with a "what you should know as a computer scientist/software developer" curriculum...not only for myself, but for those who work for me. I would personally love to go back through a review of the various mathematics which are interesting for computer work, but I'd also LOVE to have a complete curriculum to put promising young developers through. You can teach concepts, but you can't teach attitude/demeanor (at least, not as easily).

I know Coursera has released bits of this sort of coursework, but I don't think they've put it in a guided, ordered curriculum form with preqs.

If someone puts this together, I'll gladly pay for it.

Re:The software development final exam: Mathematics by kamaal on Wednesday October 10, 2012 @11:41AM (#4636810)
Good points,

I think the guide to asking questions on Math, Algorithms and Data structures is to ask real world problems which will require you to use these problems.

Its like Math Vs Physics. You can learn the pure math there is out there, but unless you start studying physics you don't quite see how those concepts are applicable to the real world.

Similarly, its simple to ask these questions to a programmer. Give him a real world programming problem to solve, and then see how he uses the concepts from math and CS to solve them.

Re:The software development final exam: Mathematics by jaimzob on Wednesday October 10, 2012 @09:47AM (#4636269)
They all have something to do with software development in specific situations. But the assertion is that this set of "exam papers" represent the canonical body of development knowledge and if you don't know the majority of answers off the top of your head you shouldn't be a developer, or at least should be grateful your ignorance has gone unnoticed. I find that assertion ... questionable.
Re:The software development final exam: Mathematics by barrkel on Wednesday October 10, 2012 @08:39AM (#4636031)
Don't worry about it. After I saw the first set of questions, I knew I could dismiss them as irrelevant. It's not worth continuing to get in a knot over.
Re:The software development final exam: Mathematics by lignuist on Wednesday October 10, 2012 @08:52AM (#4636072)
In my opinion math helps to develop the brain to be better at rational thinking. Even if the methods are not needed directly.