Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How important would a statistics course be to a software developer? More specifically given the description:

2510 Statistics for Physical Science Students (F) & (W) examines elements of probability, conditional probability, Bayes' Theorem, discrete random variables, cumulative distribution function, introduction to continuous random variables, mathematical expectation, estimation of mean, proportion and variance, hypothesis testing for one-sample case

I'm trying to find out whether I have room to add more CS courses. This course (STAT 2510) is not required, but is "recommended".

share|improve this question

migrated from stackoverflow.com Apr 10 '11 at 21:40

This question came from our site for professional and enthusiast programmers.

Zed Shaw on this topic: zedshaw.com/essays/programmer_stats.html –  Ken Liu Jul 14 '12 at 2:47

5 Answers 5

Forget about whether this is useful to a programmer. I find this basic statistics knowledge so indispensable that I don't understand why it's not taught in dumbed-down form (i.e. without calculus) in high school. Learning these concepts can be useful in data mining/machine learning fields, since this field is arguably the intersection of statistics and computer science. Even if you never do any data mining, understanding basic statistical concepts will make it easier for you to interpret things like performance benchmarks. It could even be useful for understanding things like Web server load. The number of users signed on can be modeled as a random variable with a Poisson distribution, though the Poisson parameter may vary by time of day.

Also, I generally think that, within reason, it's better to focus on breadth rather than depth as an undergrad. The chances of you remembering and using the exact details of what you learn after you graduate are pretty slim. The chances of you using the general principles you learn in some capacity or another are very high. Secondly, no matter what you think you're going to be doing after you graduate, you'll probably deviate somewhat from that plan. Even more importantly, you can easily learn more about a field after you already know the basics, but it's tough to know you need to learn more about a field that you barely know exists. Therefore, it pays to learn the fundamentals of a lot of related fields, such as math, physics, statistics, engineering, etc. more than to go into a ton of depth about a narrow area.

Disclaimer: I work in bioinformatics, which is basically the intersection between molecular biology, statistics and computer science, so of course I like statistics and think it's important.

share|improve this answer
+1 Basic statistical analysis is an indispensable skill. –  dietbuddha Apr 10 '11 at 23:21

its probably one of the more useful branches of math for a general software developer

share|improve this answer
So would you recommend taking this course over say a course on complexity or computational intelligence? I'll be taking an AI course and I have considered going to grad school and studying AI further. –  Ti-Tw Apr 10 '11 at 21:35
There are more jobs for programmers who know stats than for programmers who know AI. –  quant_dev Apr 10 '11 at 22:05
@Keith Could you explain why? –  Ubiquité Apr 10 '11 at 22:14

It depends on what kind of software you will be developing. I didn't take a statistics course and I know plenty of good developers that didn't and we're doing just fine without it.

My advice would be to take whatever course you find more interesting.

share|improve this answer

I suppose I'll take the course then! In an unrelated note, I agree that more math should be taught in high school. In fact, I think that all students should complete Calculus AB and BC before graduating high school.

Unfortunately I screwed around too much and didn't take these in high school myself. My Calculus I final is Thursday!

share|improve this answer
Probably better as a comment than a post –  Wayne Werner Apr 10 '11 at 22:44
My apologies, I'm still getting used to StackExchange. –  user22635 Apr 10 '11 at 22:55
I'm sure most of us have at one point or another. But now you know ;) –  Wayne Werner Apr 10 '11 at 22:57

More important than you might initially expect it to be. Probability and the ability to impose certain types of distributions on an input can help analyze certain algorithms, and in some cases improve their performance (see Quicksort). There is also the stat under-pinnings of hashing. I wouldn't say it is critical as you can probably pick up most of the statistics knowledge you will need from any good algorithms book (CLRS for example) but it is useful.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.