Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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".


migration rejected from May 13 '15 at 5:05

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by Ixrec, MichaelT, Snowman, Dan Pichelman, gnat May 13 '15 at 5:05

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – Ixrec, Snowman, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

Zed Shaw on this topic: – Ken Liu Jul 14 '12 at 2:47

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.

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

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.


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.