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

25 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 internerdj · · Score: 2

      The whole point of the term STEM is there is a lot of overlap in the definitions. We shouldn't have to be arguing over the exact placement of something especially if our arguing over the placement of it is delaying learning opportunities or advancement in the field.

    7. Re:sTEM by harperska · · Score: 2

      Yes! And this is why I hate when people equate computer science or software engineering with coding. Someone who considers themselves a 'coder' is only suited for #4, and possibly #3 in rare cases.

    8. Re:sTEM by K.+S.+Kyosuke · · Score: 2

      "Computer Science" doesn't use the scientific method, it uses proofs. That makes it a branch of mathematics.

      --
      Ezekiel 23:20
    9. Re:sTEM by AnotherSeattlePrgmr · · Score: 2

      Bull Fucking Shit. There's a difference between knowing how to use a computer, program a computer, and computer science. An engineer doesn't have to have a degree in computer science to use a computer. Any idiot can program a computer and again an engineer doesn't need to know that. [...]

      Sorry, I disagree. Knowledge of math and technology doesn't mean you can program effectively. In my experience, there are a lot of smart EEs and physics majors who are able to get jobs in CS but don't have the fundamentals down and aren't able to be efficient, effective coders. That doesn't mean they can't learn it, of course they can. Just like most CS BS would probably have been able to make it as an EE or BS physics. Then of course there is the the engineering part, the knowledge about the craft of programming and how to work on teams, learning how to take over a large existing codebase - so much of being a professional programmer is working on other people's code, and you don't get much exposure to that in college typically. It's possible this was done for some reason related to getting more moar h1b visas, but there's plenty of push behind that already. I have worked with a bunch of irritated EE programmers (I'm from the lower applied science, i.e., CS :-)), who are angry and pissed at the world, generally because they spent so much time in all those EE courses doing stuff that's not relevant to their jobs as programmers.

    10. Re:sTEM by ShanghaiBill · · Score: 2

      Any idiot can program a computer and again an engineer doesn't need to know that.

      What? I am an engineer. I work with dozens of other engineers. We spend all day writing code. EEs write Verilog and VHDL. MEs write CAD scripts. ChemEs write reactor simulators. An engineer that can't code is worthless.

    11. Re:sTEM by lgw · · Score: 2

      Get over your puffery and credentialism - no one cares.

      The degrees at most universities are a bit misnamed. The CompSci degree is an engineering degree, with a focus on writing software to solve problems. If you're building a repeatable process to solve real-world problems, you're an engineer. The few "Computer Engineering" degrees I've seen have been full of project management BS. I really don't understand the choice of name for that. Maybe it will correct in time.

      The tiny percentage of people doing academic research work in the field also have CompSci degrees, and it doesn't really seem like you'd need a different undergrad degree program for that yet, as the work you do for your PhD will create the distinction.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:sTEM by sexconker · · Score: 2

      Physics is not applied mathematics.
      Mathematics is a language. Physics is a field of study encompassing the fundamental workings of the Universe.

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

    14. Re:sTEM by The+Snowman · · Score: 2

      "Computer Science" doesn't use the scientific method, it uses proofs. That makes it a branch of mathematics.

      The foundations of Computer Science are in mathematics, but there is a lot of science, too, at the PhD level.

      The way that most of us use CS it is a lot more mathematical: writing programs that use math and run on a CPU, a machine that rigidly follows rules.

      If you look at the doctoral, theoretical level, the scientific method does come into play a lot. Think about applications such as modeling weather, complex networks, or AI. The idea of "make a hypothesis and test it" is quite prevalent in the research in the ACM journals, for example.

      --
      24 beers in a case, 24 hours in a day. Coincidence? I think not!
    15. Re:sTEM by Immerman · · Score: 2

      Still doesn't work. Your interpretation:
      > ...Physics is Applied Mathematics
      is trivially false - sure Applied Mathematics involves Physics but the two have only a very limited overlap.

      Besides, from context (their exact words) :
      > Actually, isn't technology just applied engineering, kind of like physics is applied mathematics?
      it seems very clear that they are *not* referring to Applied Mathematics, unless you assume they're also referring to the field of Applied Engineering as synonymous with technology, and that seems a stretch.

      from wikipedia

      Applied engineering is the field concerned with the application of management, design, and technical skills for the design and integration of systems, the execution of new product designs, the improvement of manufacturing processes, and the management and direction of physical and/or technical functions of a firm or organization. Applied-engineering degreed programs typically include instruction in basic engineering principles, project management, industrial processes, production and operations management, systems integration and control, quality control, and statistics.

      Also, am I the only one who finds the idea of naming such a field "applied engineering" mildy nauseating?

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
  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.
    1. Re:Huh? by oh_my_080980980 · · Score: 2

      Good grief. Read. It's about funding and promotion:

      "The bill strengthens science, technology, engineering and math (STEM) education efforts and expands the definition of STEM to include computer science."

      "Computer science is also added as a subject for the scholarship program."

  3. I am afraid by houghi · · Score: 2

    If it is backed by those big names and billionaires, I am afraid what the real reasons are.

    We are at a situation where we think that people who are not us are fighting our battles, because they (partially) are now the same as ours.

    If Microsoft, Google, Apple or any other company gets something done ine politics, they do it for them, not for you.

    Just think and go to https://www.isidewith.com/elec... so you can decide with you mind, not with your heart or balls, who YOU think might be right for your future.

    --
    Don't fight for your country, if your country does not fight for you.
    1. 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.

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

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

  6. Most Computer Scientists are trade professionals. by Tighe_L · · Score: 2

    Being a "Computer Scientist" I have to say that I consider my profession more of a trade more in line with a plumber or electrician. Sure there are more scientist computer scientists, but they mostly work in universities. If you are a computer scientist and disagree please say so.

  7. Re:Sure... by PPH · · Score: 2

    study climate change.

    The science on that is done. Or so I've been told numerous times.

    --
    Have gnu, will travel.
  8. Re:Most Computer Scientists are trade professional by Tighe_L · · Score: 2

    I suppose... Honestly, I think that computer programming should be taught more like a trade in a trade school with apprenticeships. My training from the university was so academically focused, that I had to re-educate myself for working in the profession. The university professors probably never had to work a corporate job in their lives to have to solve any real-world problems.