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

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

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

    3. 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. Re:I am afraid by Anonymous Coward · · Score: 2, Insightful

    Programmers are too well paid for the boards of the corporations, costs are far higher than they want. They're all working together to reduce their IT payroll costs and have been making concerted efforts to drive remuneration down since the late 80s. It's not limited to Google, Apple, Microsoft, et al. The entire Western world's govts are pushing programming on pre-teens attempting to make coding little more than a factory job of the 70s. Unfortunately for them, the target keeps moving as new technology and markets appear, complete with new tools, frameworks and libraries. No one can keep up, which means there will always be a lack of cheap skills. But they'll keep trying, you can be sure of that.

    The next step is to roll out is unified languages and drag-n-drop tools akin the failed 4GL efforts of yesteryear. Code is farmed out to Asian factories, dragged back, and beaten into shape by the financial institutions today. They don't like it, but it saves them a massive amount of money, money they can use to takeover other companies as they expand their holdings. I expect we'll see government mandated language requirement from the major Western countries within the next four years.