Slashdot Mirror


Treat Computer Science As a Science: It's the Law

theodp writes: Last week, President Obama signed into law H.R. 1020, the STEM Education Act of 2015, which expands the definition of STEM to include computer science for the purposes of carrying out education activities at the NSF, DOE, NASA, NOAA, NIST, and the EPA. The Bill was introduced by Rep. Lamar Smith (R-TX) and Rep. Elizabeth Etsy (D-CT). Smith's February press release linked to letters of support from tech billionaire-backed Code.org (whose leadership includes Microsoft President Brad Smith), and the Microsoft-backed STEM Education Coalition (whose leadership includes Microsoft Director of Education Policy Allyson Knox).

10 of 219 comments (clear)

  1. sTEM by roman_mir · · Score: 5, Insightful

    It is Science, Technology, Engineering, and Mathematics, I think comsci qualifies for the last three but not for the first one and I have a comsci degree.

    1. Re:sTEM by jellomizer · · Score: 5, Interesting

      There is a wide difference on how computer science is taught across many institutions.
      In My college Computer Science was combined in the Department of Math, Physics and Computer Science. So Computer Science was taught in more of Mathematical and Scientific method. Encouraging taking the scientific method to help solve problems.
      1. Identify the question you want to solve.
      2. Offer a Hypothesis on how to solve it.
      3. Experiment (writing code), and going back to #2 if it doesn't work.
      4. Offer your Theory as your solution.

      In class our peers may review some of our solutions and offer feedback, such as stating inputs of X, Y, Z may cause it to fail. Or applying Discrete mathematics to prove that it does or doesn't work.
      While there is some talk about the technology and engineering principles, it was mostly Science and Math. for my version of Computer Science.
      I have dealt with other students from other schools who said Computer Science was Engineering Lite, others where it was Just computer engineering under the Computer Science name. And others where it was just focusing on the technology and not as much the principals.

      My Computer Science classes focused a lot more on Big O performance, while other students Never heard of it.

      Computer Science for the Most Part seems to be a combination of STEM all with different levels of degrees.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:sTEM by Rei · · Score: 3, Interesting

      Computers are a critical enabling technology for many if not most types of science these days, they are technology (what else best fits in "technology" if not computer science, given that engineering is a different category?), they're critical for nearly all engineering these days, and most mathematics work. It's an entirely appropriate category.

      --
      The human body can be drained of blood in 8.6 seconds given adequate vacuuming systems.
    3. Re:sTEM by Rei · · Score: 3, Funny

      You're a idiot. STEM = Science, Technology (not computer science), Engineering and Math. That's what STEM stands for.

      No, that's what STncsEM stands for.

      --
      The human body can be drained of blood in 8.6 seconds given adequate vacuuming systems.
    4. Re:sTEM by RabidReindeer · · Score: 5, Insightful

      There are actually 4 aspects to software design and implementation.

      1. Scientific: The discovery, proof, and design of algorithms. An algorithm is a basic set of rules to accomplish a task, and although more than one algorithm might accomplish that task (for example, sorting), the algorithm considered as a "black box" is invariant as to functionality. This is true science, with a mathematical slant.

      2. Engineering. The ability to locate appropriate algorithms for a given task from the "literature" (speaking abstractly, since traditional printed textbooks are only a small part of the resources most of us tap these days). And to determine which algorithms are optimal for the specific project at hand.

      3. Creative. This is the part Management hates. Ideally, software could be constructed by employing automated processes. In reality, there's almost always a creative aspect, and creativity is something that, so far, requires human beings. You can give 2 people an algorithm and they can implement it in 2 entirely different ways. Some of which are easier to read/maintain than others. Some of which are more flexible. Highest marks (in my book) go to implementations that are compact, readable, efficient, reliable (including fail-soft) and adaptable. I can name some sterling examples of such code. Low marks (again, my book) go to crap that's poorly-documented, ill-organized, unreliable and inflexible. Experience has taught me that if code has one virtue, it often has more, and, alas, the same thing goes for faults.

      4. Mechanical. Code grinding. No matter how artistic a software project may be, there's just a certain amount of underlying concrete and rebar that demands less in the way of creativity and more in the way of just plain uninspired grunt work. If you're going to employ monkeys on a project, this is the part - and the only part - where monkeys should be employed. Don't undervalue them, no amount of inspired mathematical architecture and engineering can survive a rotten foundation. Although if we have a fault in that area these days its that the wallpaper-and-panelling crowd is valued more than the flooring-and-wall-stud group.

      Of course, getting a project implemented is only one phase, even though it's where the ball gets built and started rolling. Other aspects not covered here include the support and maintenance, and the requisite planning and budgeting to ensure that the project continues for as long as it's needed and doesn't get hammered when IE8 support is dropped by Microsoft or some similar internal or external upset to the scheme of things.

    5. Re:sTEM by mrchaotica · · Score: 3, Insightful

      The thing that makes science science is the Scientific Method, not studying natural phenomena. You could do the latter and just as easily end up with astrology or folk medicine instead.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    6. Re:sTEM by garethjrowlands · · Score: 4, Insightful

      Computer science isn't about computers, in the same way that physics isn't about telescopes. I'll illustrate this by linking a couple of computer science papers:

      * The Derivative of a Regular Type is its Type of One-Hole Contexts: http://citeseerx.ist.psu.edu/v...
      * This paper give a name and applications to something maths only calls "strong lax monoidal functors": http://staff.city.ac.uk/~ross/...

      Or how about watching an introductory computer science lecture from Stanford. Bob Harper introduces type theory and how to use the doctrine of computational trinitarianism to check whether you've made a significant discovery in computer science: https://www.youtube.com/watch?...

      There's more to computing than transistors. There's more to software than mathematicians study (the second paper's a good example).

  2. Huh? by Rei · · Score: 4, Interesting

    Where does it say that "computer science must be treated as science, by law"? It declares computer science to be part of STEM. STEM does not simply mean "science" - science is only the "S" in STEM. STEM means "Science, Technology, Engineering, and Math" There's nothing inappropriate about computer science being taught in that grouping.

    --
    The human body can be drained of blood in 8.6 seconds given adequate vacuuming systems.
  3. Shouldn't have been nessecary by T.E.D. · · Score: 5, Interesting

    Perhaps its different these days, but when I was studying CS back in the 80's, pretty much every accredited program in the US was either part of its Uni's Math Department, or its Engineering Department.

    So perhaps people had trouble making up their minds if it was a kind of Math or of Engineering, but either way it should already have been covered in STEM.

  4. Computer science pretty much is a science by Chrisq · · Score: 3, Interesting

    Computer science pretty much is a science. Not your coding classes, computer technology training, etc, but real computer science is very much a science. Of course all courses include some coding and computer technology, and just as you'd expect someone with a Chemistry degree to be able to do the work of a lab technician some one with a CS degree will be able to code and operate computers -- but there is much more than that.