Answers.Body: <p>I recently completed the <a href="https://courses.edx.org/courses/course-v1:MITx+6.00.2x_7+1T2017/" rel="noreferrer">MITx MOOC 6.00.2x</a>, which is modeled after an introductory programming class in Python at MIT. The course addressed the following topics from statistics that integrate nicely with computer science (especially data science and machine learning):</p>
  
  <ul>
  <li>Confidence Intervals</li>
  <li>Variation</li>
  <li>Distributions</li>
  <li>Probability</li>
  <li>Sample Sizes</li>
  <li>Standard Error</li>
  <li>Central Limit Theorem</li>
  <li>Goodness of Fit</li>
  <li>Model Predictions and Overfitting</li>
  <li>Cross-Validation</li>
  </ul>
  
  <p>Depending on the level of students and their familiarity with some basic concepts from statistics, I would also recommend looking at HackerRank's <a href="https://www.hackerrank.com/domains/tutorials/10-days-of-statistics" rel="noreferrer">10 Day of Statistics</a> challenge. While the pedagogy isn't the greatest, it does scaffold nicely from mean, median, and mode through standard deviation and distributions to end up at linear regression and correlation coefficients. There is also some discussion of probability along the way.</p>
  
  <p>Taken together, these two examples provide some big picture concepts to address that are fundamental to stats and that have relevance for computer science and programming.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-23T16:44:28.810Z
Answers.LastActivityDate: 2017-06-23T16:44:28.810Z
Answers.UserDisplayName: Peter
Answers.Body: <p>I got my CS degree in the 1990's and at the time (and perhaps still today) there was a lot of crossover between math and CS.  By just taking the minimum math requirements to meet my CS degree I was one math class away from a math minor.</p>
  
  <p>Subsequently in 25+ years as a software engineer I have never used most of that math, the only math I've actually used is geometry, trig, and probability/statistics. Especially these days with "big data" being a popular topic in computer science, and map/reduce being a primary technique, the concepts of frequency, concentration, correlation, regression, distribution, expected values, etc. are very applicable to problems that you see every day.  </p>
  
  <p>Also the type of thinking and reasoning you need for stats and probability is much more applicable to real-world problems since it has more to do with estimation, approximation and trends.  One of the faults in my opinion with math is that you are often expected to arrive at a single clear and concise answer, when in fact few real world problems are solved that way.</p>
  
  <p>Conversely I've never once used all of that calculus (which is a shame because I liked it) and related math.  It was fun to take and probably a good (extended) mental exercise and weed-out for students but I think the stats and probability should have been emphasized a lot more than it was.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-23T22:43:59.947Z
Answers.LastActivityDate: 2017-06-23T22:43:59.947Z
Answers.UserDisplayName: Uncle Long Hair
Answers.Body: <p>I think that statistics courses are most useful for computer scientists who are anticipating a career in research. While statistics can be useful for professional developers that knowledge is not as critical as it is for researchers. The CS2013: The ACM/IEEE Joint Curriculum Guidelines for Undergraduate Degree Programs in Computer Science breaks knowledge units into three broad categories.</p>
  
  <ol>
  <li>Things every CS department should offer </li>
  <li>Things that every CS Department should offer 85-90% of  </li>
  <li>Electives</li>
  </ol>
  
  <p>Statistics falls into the third category. I would not make statistics a required course but if you are going to do so I would suggest you look at the sort of topics you most want researchers to know. Ideally you are providing your students with the knowledge to properly evaluate research so that they can make informed decisions based on it. You'd probably want a deeper level for people actually doing research.</p>
  
  <p>FWIW I was on the CS2013 task force but opinions here are my own and I am not speaking for the task force.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-28T08:30:32.493Z
Answers.Text: Thank you for this. Do you know if there is a plan for an  update on CS2013?
Answers.UserDisplayName: Simd
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-15T18:23:52.007Z
Answers.Text: These documents from ACM and IEEE tend to be updated about every 10 years.
Answers.UserDisplayName: Alfred Thompson
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-23T17:09:46.270Z
Answers.LastActivityDate: 2017-06-23T17:09:46.270Z
Answers.UserDisplayName: Alfred Thompson
Answers.Body: <p>My first thought to provide a bit of something for you to go on was CS2013: The ACM/IEEE Joint Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. This is available at <a href="https://www.acm.org/education/CS2013-final-report.pdf" rel="noreferrer">https://www.acm.org/education/CS2013-final-report.pdf</a>. I've copied out two relevant passages from that here:</p>
  
  <p>"Computer science curricula should be designed to provide students with the flexibility to work across many disciplines. Computing is a broad field that connects to and draws from many disciplines, including mathematics, electrical engineering, psychology, statistics, fine arts, linguistics, and physical and life sciences. Computer Science students should develop the flexibility to work across disciplines." (p.20)</p>
  
  <p>"Similarly, while we do note a growing trend in the use of probability and statistics in computing (reflected by the increased number of core hours on these topics in the Body of Knowledge) and believe that this trend is likely to continue in the future, we still believe it is not necessary for all CS programs to require a full course in probability theory for all majors. (p.50)". </p>
  
  <p>It is worth searching that document for 'statistics'. It is mentioned in many other areas, but mostly as something learned in other areas such as Networks, HCI, Cryptography, etc.</p>
  
  <p>The December 2013 issue of ACM Inroads had a good article (<a href="http://dl.acm.org/citation.cfm?id=2537777" rel="noreferrer">http://dl.acm.org/citation.cfm?id=2537777</a>) on the role of mathematics in CS. This included a section on "The Current State of Mathematics in Computer Science Curricula". The article states that "The most-connected mathematical topic [to CS] by far is probability and statistics" and has some references to such. They also present the mathematics requirements of 25 'high quality' CS programs. Stats and Prob was required for 15, Calculus for 21 and Discrete Mathematics for 22.</p>
  
  <p><a href="http://dl.acm.org/citation.cfm?id=1240202" rel="noreferrer">http://dl.acm.org/citation.cfm?id=1240202</a> discusses statistics in liberal arts CS curricula. </p>
  
  <p>Searching the CITIDEL syllabus collection (citidel.villanova.edu/ then look for syllabus collection) for 'statistics' might be worth a try, although the website has been varying between unresponsive to slow to responsive lately. Also, some of the material in there is a bit dated, but then again, statistics dates fairly well! </p>
  
  <p>Given that in 2013 60% of sampled 'high quality' CS programmes had statistics, maybe it is more prevalent than you think. Perhaps the best way to obtain the most up to date information is to check the websites of several good CS programmes and hope that if they include statistics, the syllabi are available online. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T09:30:53.690Z
Answers.LastActivityDate: 2017-06-22T09:30:53.690Z
Answers.UserDisplayName: Brett Becker
Body: <p>My university has decided that it should give a core (that is compulsory) statistics class to its computer science undergraduates.  This opens the interesting question of what should be in such a class that everyone has to take.</p>
  
  <p>As far as I know most CS degrees don't currently contain statistics classes so it's hard to compare to what already exists.</p>
  
  <blockquote>
    <p>Does anyone have any experience of this and what would people
    recommend for a new statistics class for computer science students?</p>
  </blockquote>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-21T18:46:24.213Z
Comments.Text: Welcome to [cseducators.SE]! Just to be clear, you are designing the curriculum for this new class that is being mandated?  Have you received a rationale or any other sort of guidance, or is this just coming from left field somewhere?
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-22T06:18:52.547Z
Comments.Text: @BenI. It is being mandated and I have been  asked to advise on the curriculum.  I also just find the question interesting.  The rationale is not spelled out very clearly but I think it goes like this. Students will do projects in their degree, many of which will involve testing some hypothesis (e.g. does my computer vision/ML system detect the sharks well, does my new robot control work better than the old one etc) or at the very least evaluation of some user feedback of their software.    In general, many CS jobs are data heavy these days and stats is a core data analysis discipline.
Comments.UserDisplayName: Simd
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-22T09:46:45.913Z
Comments.Text: I can't be much help with course design but I did the 'standard' first year statistics class in the Mathematics department as part of my CS degree and have found it hugely useful over the years since. So I think it's a good idea to mandate, for CS and probably for all science degrees. I don't think it's necessary to tailor the class just for CS; a broad introduction to stats generally will be helpful. The areas of stats that will/won't be useful will depend highly on what field students end up in, and it's hard to foresee that in year 1 of a degree.
Comments.UserDisplayName: Rory
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-24T00:12:50.733Z
Comments.Text: What level of statistics?  Often times the basic "intro to stats" class (STA2023 when I took it) is required for a STEM related AA degree or if "skipping" the AA then as a pre-req before entering the college the CompSci department is part of (I know ufl.edu works this way - CISE is part of the College of Engineering and any type of engineering has the basic stats as a pre-req for admittance, along with 2 terms each of chemistry and physics, and math through calc2 w/ diff eq.).
Comments.UserDisplayName: ivanivan
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-24T01:51:21.853Z
Comments.Text: Can calculus be a prerequisite, or don't you require that?
Comments.UserDisplayName: Ellen Spertus
Tags: <curriculum-design><undergraduate>
Title: What statistics should be in a computer science degree?
ThreadText: # What statistics should be in a computer science degree?
  
  (Asked by: username_0 on 2017-06-21)
  
  My university has decided that it should give a core (that is compulsory) statistics class to its computer science undergraduates. This opens the interesting question of what should be in such a class that everyone has to take.
  
  As far as I know most CS degrees don't currently contain statistics classes so it's hard to compare to what already exists.
  
  > Does anyone have any experience of this and what would people
  > recommend for a new statistics class for computer science students?
  
  **Tags:** curriculum-design, undergraduate
  
  > **Comments:**
  > **username_1**: Welcome to [cseducators.SE]! Just to be clear, you are designing the curriculum for this new class that is being mandated?  Have you received a rationale or any other sort of guidance, or is this just coming from left field somewhere?  
  > **username_0**: @BenI. It is being mandated and I have been  asked to advise on the curriculum.  I also just find the question interesting.  The rationale is not spelled out very clearly but I think it goes like this. Students will do projects in their degree, many of which will involve testing some hypothesis (e.g. does my computer vision/ML system detect the sharks well, does my new robot control work better than the old one etc) or at the very least evaluation of some user feedback of their software.    In general, many CS jobs are data heavy these days and stats is a core data analysis discipline.  
  > **username_2**: I can't be much help with course design but I did the 'standard' first year statistics class in the Mathematics department as part of my CS degree and have found it hugely useful over the years since. So I think it's a good idea to mandate, for CS and probably for all science degrees. I don't think it's necessary to tailor the class just for CS; a broad introduction to stats generally will be helpful. The areas of stats that will/won't be useful will depend highly on what field students end up in, and it's hard to foresee that in year 1 of a degree.  
  > **username_3**: What level of statistics?  Often times the basic "intro to stats" class (STA2023 when I took it) is required for a STEM related AA degree or if "skipping" the AA then as a pre-req before entering the college the CompSci department is part of (I know ufl.edu works this way - CISE is part of the College of Engineering and any type of engineering has the basic stats as a pre-req for admittance, along with 2 terms each of chemistry and physics, and math through calc2 w/ diff eq.).  
  > **username_4**: Can calculus be a prerequisite, or don't you require that?  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_8 on 2017-06-22. Score: 4 | Accepted answer
  
  My first thought to provide a bit of something for you to go on was CS2013: The ACM/IEEE Joint Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. This is available at <https://www.acm.org/education/CS2013-final-report.pdf>. I've copied out two relevant passages from that here:
  
  "Computer science curricula should be designed to provide students with the flexibility to work across many disciplines. Computing is a broad field that connects to and draws from many disciplines, including mathematics, electrical engineering, psychology, statistics, fine arts, linguistics, and physical and life sciences. Computer Science students should develop the flexibility to work across disciplines." (p.20)
  
  "Similarly, while we do note a growing trend in the use of probability and statistics in computing (reflected by the increased number of core hours on these topics in the Body of Knowledge) and believe that this trend is likely to continue in the future, we still believe it is not necessary for all CS programs to require a full course in probability theory for all majors. (p.50)".
  
  It is worth searching that document for 'statistics'. It is mentioned in many other areas, but mostly as something learned in other areas such as Networks, HCI, Cryptography, etc.
  
  The December 2013 issue of ACM Inroads had a good article (<http://dl.acm.org/citation.cfm?id=2537777>) on the role of mathematics in CS. This included a section on "The Current State of Mathematics in Computer Science Curricula". The article states that "The most-connected mathematical topic [to CS] by far is probability and statistics" and has some references to such. They also present the mathematics requirements of 25 'high quality' CS programs. Stats and Prob was required for 15, Calculus for 21 and Discrete Mathematics for 22.
  
  <http://dl.acm.org/citation.cfm?id=1240202> discusses statistics in liberal arts CS curricula.
  
  Searching the CITIDEL syllabus collection (citidel.villanova.edu/ then look for syllabus collection) for 'statistics' might be worth a try, although the website has been varying between unresponsive to slow to responsive lately. Also, some of the material in there is a bit dated, but then again, statistics dates fairly well!
  
  Given that in 2013 60% of sampled 'high quality' CS programmes had statistics, maybe it is more prevalent than you think. Perhaps the best way to obtain the most up to date information is to check the websites of several good CS programmes and hope that if they include statistics, the syllabi are available online.
  
  
  ---
  
  ### Answer by username_5 on 2017-06-23. Score: 4
  
  I recently completed the [MITx MOOC 6.00.2x](https://courses.edx.org/courses/course-v1:MITx+6.00.2x_7+1T2017/), which is modeled after an introductory programming class in Python at MIT. The course addressed the following topics from statistics that integrate nicely with computer science (especially data science and machine learning):
  
  * Confidence Intervals
  * Variation
  * Distributions
  * Probability
  * Sample Sizes
  * Standard Error
  * Central Limit Theorem
  * Goodness of Fit
  * Model Predictions and Overfitting
  * Cross-Validation
  
  Depending on the level of students and their familiarity with some basic concepts from statistics, I would also recommend looking at HackerRank's [10 Day of Statistics](https://www.hackerrank.com/domains/tutorials/10-days-of-statistics) challenge. While the pedagogy isn't the greatest, it does scaffold nicely from mean, median, and mode through standard deviation and distributions to end up at linear regression and correlation coefficients. There is also some discussion of probability along the way.
  
  Taken together, these two examples provide some big picture concepts to address that are fundamental to stats and that have relevance for computer science and programming.
  
  
  ---
  
  ### Answer by username_6 on 2017-06-23. Score: 3
  
  I got my CS degree in the 1990's and at the time (and perhaps still today) there was a lot of crossover between math and CS. By just taking the minimum math requirements to meet my CS degree I was one math class away from a math minor.
  
  Subsequently in 25+ years as a software engineer I have never used most of that math, the only math I've actually used is geometry, trig, and probability/statistics. Especially these days with "big data" being a popular topic in computer science, and map/reduce being a primary technique, the concepts of frequency, concentration, correlation, regression, distribution, expected values, etc. are very applicable to problems that you see every day.
  
  Also the type of thinking and reasoning you need for stats and probability is much more applicable to real-world problems since it has more to do with estimation, approximation and trends. One of the faults in my opinion with math is that you are often expected to arrive at a single clear and concise answer, when in fact few real world problems are solved that way.
  
  Conversely I've never once used all of that calculus (which is a shame because I liked it) and related math. It was fun to take and probably a good (extended) mental exercise and weed-out for students but I think the stats and probability should have been emphasized a lot more than it was.
  
  
  ---
  
  ### Answer by username_7 on 2017-06-23. Score: 3
  
  I think that statistics courses are most useful for computer scientists who are anticipating a career in research. While statistics can be useful for professional developers that knowledge is not as critical as it is for researchers. The CS2013: The ACM/IEEE Joint Curriculum Guidelines for Undergraduate Degree Programs in Computer Science breaks knowledge units into three broad categories.
  
  1. Things every CS department should offer
  2. Things that every CS Department should offer 85-90% of
  3. Electives
  
  Statistics falls into the third category. I would not make statistics a required course but if you are going to do so I would suggest you look at the sort of topics you most want researchers to know. Ideally you are providing your students with the knowledge to properly evaluate research so that they can make informed decisions based on it. You'd probably want a deeper level for people actually doing research.
  
  FWIW I was on the CS2013 task force but opinions here are my own and I am not speaking for the task force.
  
  > **Comments:**
  > **username_0**: Thank you for this. Do you know if there is a plan for an  update on CS2013?  
  > **username_7**: These documents from ACM and IEEE tend to be updated about every 10 years.  
  
  ---
  
  