Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming Education United States

The President Wants Every Student To Learn CS. How Would That Work? (npr.org) 317

theodp writes: The very first proposal President Obama put forth in his final State of the Union address Tuesday night for his remaining year in office was "helping students learn to write computer code." While the President wants every student to learn CS, NPR notes that getting a new, complex, technical subject onto the agendas of our public schools is a massive challenge, prompting it to ask, How Would That Work? That Microsoft CEO Satya Nadella attended the SOTU address as Michelle Obama's guest suggests the President is counting on the kindness of tech titans to help make things happen. Microsoft and Obama have worked together to try to get CS in the schools since at least 2006, when Microsoft announced a $1 million donation to NCWIT, which it indicated would facilitate "taking the discussion to a national stage" at a Washington, D.C. Innovation and Diversity Town Hall co-sponsored by the NSF and keynoted by then-Senator Barack Obama. "Most of all, what inspires me about this program [NCWIT] are the prospects of my two daughters," Obama said at the time (video). "I want them to go as far as their dreams may take them. And, unfortunately because of long historic discrimination in the areas of gender, we can't be assured of that."
This discussion has been archived. No new comments can be posted.

The President Wants Every Student To Learn CS. How Would That Work?

Comments Filter:
  • by jafiwam ( 310805 ) on Sunday January 17, 2016 @08:31AM (#51317443) Homepage Journal
    It wouldn't.
    • by AmiMoJo ( 196126 ) on Sunday January 17, 2016 @09:09AM (#51317567) Homepage Journal

      When I was 3 years old my pre-school had a programmable toy car. You gave it a list of commands like go forward 1m, turn left, go forward 2m and it executed them. Many years later we got a computer, and the manual told me how to write software in BASIC.

      Without those opportunities to be introduced to programming I might not have studied and eventually done it as a job. That's what introductory classes are for. De-mystify software and give children the basic concepts and skills to pursue it, and an opportunity to see if it interests them.

      It works.

      • by serviscope_minor ( 664417 ) on Sunday January 17, 2016 @09:57AM (#51317715) Journal

        Glad you came here to say that.

        There's this meme here that programming is super special in that only people who naturally gravitate to it with no outside assistance should ever consider it as a career. This is of course completely different from just about every other career ever.

        It's also total rubbish.

        I originally felt drawn to it, and self taught myself a lot. Of course the very reason I had access to those BBC computers is because of one of the first ever attempts to get kids to program at a large scale by providing usable computers to schools via the BBC. In later years I used my dad's laptop (every PC came with qbasic then) and he would often give me advice.

        It's a nice fiction to think I did it all by myself but of course I didn't. I could only become drawn to it and make good on that because of the environment. Without the government assistance and without assistance and equipment from my dad, thing would have been different.

        Then I went to uni and did engineering. Naturally programming was on the course but treated as well as might have been expected. I ended up helping my fellow students because I enjoyed doing that. Thing is some of them who had never programmed before at all picked it up really, really fast given a bit of assistance from me. I fondly remember some late night hacking sessions (one of them nicked some plastic pint glasses which we filled with coffee) doing the open ended bit of the project. Neither of the two I was hacking with had ever coded before.

        • I ended up where I am because I learned to code HyperCard [wikipedia.org] on my Mac. I spent hours making animations and other 'stupid' stuff. I never showed it to anyone, it was hacky at best but it set me on a course to being an engineer and using Python/Matlab daily.

      • It works.

        Yes "it works", but of course "it" isn't introducing children to code. "It" is giving children opportunities to experience many new things and develop interests. You were probably exposed to various other things at school that made little or no impression on you, yet for some of your classmates those same things would have proved transformative and set them on whatever path they are now on. It sounds like I had exactly the same opportunities you did: we had the toy car at school (Big Trak) and there was bas

        • by AmiMoJo ( 196126 )

          Introducing children to code is giving them an opportunity to experience a new thing and develop interests. As well as gaining some basic computer literacy and understanding of why software behaves the way it does, it gives them a chance to see if that kind of logical thinking and building software is interesting. Maybe it will be, maybe it won't, but at the very least they should end up with a little knowledge and some problem solving skills.

          I don't think anyone expects this to turn every child into a skil

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        It's one thing to give students an opportunity to learn something they are interested in. It's quite another thing to force everyone to study a subject that they are not interested in. I am all in favor of giving every child the opportunity to explore and learn anything and everything they care about.

        As for programming, opportunities abound. The cheapest home computer is now around $5, and it comes complete with a professional grade programming system. Free courses on programming are ubiqutuous on the inter

        • by lgw ( 121541 )

          It's one thing to give students an opportunity to learn something they are interested in. It's quite another thing to force everyone to study a subject that they are not interested in.

          Everyone is forced to study history, civics, basic science, math, and so on. It seems find to add "writing code" to that list. Studying coding every year seems like a bit much, but multiple exposures over childhood seems appropriate.

          Remember, all the mindless, repetitive jobs are going to be replaced by robots over the next 20-30 years. If schools are doing their fundamental job of teaching everyone enough skills that they can contribute to society in some needed way, then basic skills in programming and

      • Anecdotal stories maybe interesting, however, you do not base a national-wide policy or initiative on that. Nobody knows what would had happen to you if you hadn't play with this programmable toy car. In no way it means you haven't end up where you are.

        I never ever touch a computer or a programmable toy before my first year at university. However, I got a strong math, physics and chemistry background.

        Your personal experience doesn't prove anything.

      • That's what introductory classes are for. De-mystify software and give children the basic concepts and skills to pursue it, and an opportunity to see if it interests them.

        Completely agree. Computer science is not out of reach of most students, but it has to be introduced in proper context.

        I think what many people are missing in this "teach compsci!" movement is that a firm understanding of computer science requires a very solid basis in logic and abstract mathematics. Guess what we don't teach in high school? (as far as I know; it wasn't part of my school, and I never see it mentioned in anything I've read about common core, etc.): Basic propositional logic and symbolic logi

    • by JaredOfEuropa ( 526365 ) on Sunday January 17, 2016 @09:35AM (#51317657) Journal
      It doesn't have to. Not in the sense that every kid ends up being a competent coder.

      It is good that kids are exposed to coding and learn some of the rudiments. A few kids may be inspired to take up a career in IT, others may derive some benefit from when they take a job that involves computers, and for others still will simply be part of having a well rounded education. The same can be said for biology, poetry, economics or history, by the way.
    • Politicians just simply do not understand what programming is all about . . . they think that it is a simple technical skill like plumbing . . . plumbers can now rightfully attack me, for having not enough understanding of the subtleties of plumbing!

      So, you can teach an average idiot how to write some JavaScript . . . how does he or she deal with deadlocks, lockouts and race conditions . . . ?

      Whoops. Until the politicians understand the fine art of computer programming . . . they should shut their mou

      • by mikael ( 484 )

        You can split it up into several parts: task decomposition, actual coding, testing and refinement.

        Here is what they are teaching in primary schools in the UK:

        http://www.bbc.co.uk/education... [bbc.co.uk]

      • by currently_awake ( 1248758 ) on Sunday January 17, 2016 @11:11AM (#51317935)
        Computer programming is a labour intensive job that can be done from anywhere. It's a perfect example of a job that is easy to offshore to the third world. I get that the president has to show he's helping keep America on top, but this won't actually do that.
        • Computer programming is a labour intensive job that can be done from anywhere.

          With a few provisos. First, the cultures need to match closely enough to minimize loss of information when communicating requirements. Second, the time zones need to match closely enough for clarifications and change requests to be communicated in a timely manner. Third, the field of use needs to be one where sending information out of country does not pose an unacceptable privacy risk.

          • First, the cultures need to match closely enough to minimize loss of information when communicating requirements.

            valid8 number is nummerical is not in state ment of needfuls increase in scope will cost xtras

            Second, the time zones need to match closely enough for clarifications and change requests to be communicated in a timely manner.

            Bof. If they won't work nights there's plenty of others.

            Third, the field of use needs to be one where sending information out of country does not pose an unacceptable privacy

      • by AmiMoJo ( 196126 ) on Sunday January 17, 2016 @01:29PM (#51318369) Homepage Journal

        I knew this guy, an electrical engineer, who wrote Excel macros. Many of them were quite complex and useful. I'm sure he couldn't even tell you what a race condition is, let alone fix one, but fortunately such things never came up because, well, it's an Excel macro written in Visual BASIC. Very useful for doing engineering calculations, converting memory dumps into screenshots, even writing front ends for command line apps to make production staff's lives easier and less error prone.

        I'm an accomplished programmer, mainly using lower level stuff like assembler and C, but also high level stuff like C# and Java. I've done bits of Javascript here and there, for various web projects, mostly personal. Fixing things in MediaWiki, implementing an on-line shop with Google Checkout, some fancy little animated flourishes etc. Never once had to fix a deadlock, lockout or race condition. What I did was relatively simple, sure, but still very useful and productive.

        Not everyone has to be a master in their field to be useful. Simply being able to do Excel macros, i.e. to use the tool you have (a computer) more fully to work more productively, is a skill worth having. Teach the basics and people can apply that skill practically, which is more than you can say for a lot of the shit you learn in school.

    • We have a huge f'n country with thousands of school districts. Proclaiming "it wouldn't" without any evidence is absurd. To both the proponents and skeptics - just put it to the test. Do some randomized trials and see what kind of outcomes you get. I know, in education we like to philosophize instead of embracing any kind of scientific process, but really it is getting old.

  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Sunday January 17, 2016 @08:35AM (#51317453)
    Comment removed based on user account deletion
    • by mwvdlee ( 775178 ) on Sunday January 17, 2016 @08:47AM (#51317493) Homepage

      The percentage of women in IT (about 26%) is higher than the percentage of women in politics (about 22%).
      Remember that next time a politician claims "a long historic discrimination in the areas of gender".

      • by tepples ( 727027 )

        Remember [gender inequality in politics] next time a politician claims "a long historic discrimination in the areas of gender".

        Even if the next paragraph is to the effect "That's something that should be fixed in politics as well; let's expand political science classes"?

        • by mwvdlee ( 775178 )

          Now your just making stuff up.

        • Why should it be fixed? Is it broken? In politics I kind of see the point, since it may be good to represent that sector of society. But in Computer Science why? I am all for giving women equal opportunity to enter Computer Science but beyond that I see no advantage. Why are we forcing people into careers that they do not want to do, just to make some statistic match what we think it should be. Maybe just maybe men and women are different, and in general want to do different jobs. This is shown in societies

    • by AthanasiusKircher ( 1333179 ) on Sunday January 17, 2016 @09:05AM (#51317555)

      "I want them to go as far as their dreams may take them. And, unfortunately because of long historic discrimination in the areas of gender, we can't be assured of that."

      Can we all just mod the Summary as "-1 Troll"?

      I'm absolutely serious. There are clearly lots of stories posted on Slashdot which seem designed to create flamewars, but this one is incredibly blatant. Rather than just discussing a current speech of Obama and his ideas, we get a final sentence which appears to be referencing gender discrimination in IT, which the OP obviously knows will rile people up here.

      Except there are number of problematic things there:

      (1) The link is to a speech Obama gave in 2006. Why is that news?

      (2) The speech is given before a diversity advocacy organization (NCWIT = National Center for Women & Information Technology), and if you listen to the context of the speech, that's clearly why he brings it up. Any politician invited to give a speech at an event like that obviously is going to try to find a way to complement the work the organization is doing.

      (3) If you listen to the context of the quotation, it's actually not about IT. He mentions a number of different disciplines and a number of career paths, mostly not in IT. So, TFS is deliberately distorting the quotation to rile up Slashdot.

      (4) Note the placement of the quotation -- it's the last thing in TFS, guaranteed to be the last thing people read before posting. So, you read the beginning and all the crappy flamewars about Obama and how he doesn't understand IT or whatever start coming up, but then you get to the last sentence and you're clearly supposed to be outraged and ready to start flaming.

      JUST STOP IT. Can we skip all the stupid debates over gender and women in IT today? I'm not a big fan of Obama, but if you do want to discuss Obama's recent speech or possible initiatives, can we skip a bunch of crap concerning a speech from a decade ago with a quotation taken out of context??

      • The story is current because Obama just mentioned teaching code in the SOTU.

        • The story is current because Obama just mentioned teaching code in the SOTU.

          Duh. Read my post again. I didn't say the story (in the beginning of TFS) wasn't current; in fact, I said it was and encouraged discussion of current initiatives/proposals if people want to talk about that.

          I said TFS was designed to be a Troll, and you know this because it concludes with a speech from a decade ago and a quotation from it designed to rile people up here. That latter element is NOT current.

        • The story is current because Obama just mentioned teaching code in the SOTU.

          And it's News because it's something the Republicans will say "no" to (because "Obama") and that Congress in general (R+D) won't do anything about - oh wait... :-)

          [ Knee-jerkers, notice the smiley. ]

    • by AmiMoJo ( 196126 )

      That's not really a CS/IT problem though, it's just the way modern America (and the UK) is. The cost of living went up, wages didn't keep pace in any field, except C level exec.

  • by ebonum ( 830686 ) on Sunday January 17, 2016 @08:35AM (#51317455)

    If you call programming creating Wordpress sites, then fine, everyone can code.

    Otherwise, programming is little more than an IQ test. That means only the top x% have any hope when they start to learn to code of ever being any good at it. I fully support using the Purple Book ( https://mitpress.mit.edu/sicp/ [mit.edu] ) for intro to CS. If you can finish it, you rock. You are welcome to keep going. Otherwise: Be happy. You failed fast. Your calling is elsewhere.

  • by BoRegardless ( 721219 ) on Sunday January 17, 2016 @08:38AM (#51317465)

    It is the same as asking EVERY student to become proficient in Science, Technology, Engineering and Math. I don't know anyone who is proficient in all four.

    Individuals are inclined to one or two things. Trying to force them into doing something they truly are not interested in has always been a failure.

    • Political Pap

      Hey, don't hit Obama with a pap smear!

    • by gtall ( 79522 )

      More to the point, promoting CS for everyone is just a way for the pols to claim they are somehow in tune with the current economy. They don't have clue, well, no one really does because the world's and U.S.'s economy is big...really, really big...so big that no one thing like CS education is going to move the dial.

      Also, the pol's idea of CS education has been spoon fed to them by companies like MS whose idea of CS education is using their software. Come to think of it, a push like this will probably dumb d

      • More to the point, promoting CS for everyone is just a way for the pols to claim they are somehow in tune with the current economy.

        Either that or it's a means of ensuring a market for computing devices designed to run homemade software, as opposed to iDevices and game consoles where you have to seek the manufacturer's permission (which may be denied for any reason or no reason) in order to program them.

      • by mark-t ( 151149 )

        More to the point, promoting CS for everyone is just a way for the pols to claim they are somehow in tune with the current economy

        Which itself is laughable, since going by current trends, the percentage of jobs for computer programmers has been declining (albeit quite slowly), and is expected to keep doing so for at least the remainder of the decade.

    • "It is the same as asking EVERY student to become proficient in Science, Technology, Engineering and Math. I don't know anyone who is proficient in all four."

      But what we do need to teach, desperately, is respect and appreciation for why science and its applications are important to us. Don't teach code with the aim of making everybody a programmer, but teach what code can do. Those who have an interest in CS will be motivated to get educated further on the topic,while the rest of the students will have a be

  • History shows us that if Microsoft is involved, education will be harmed, and Microsoft will get money somehow, even if not getting paid directly. Do not ignore the lessons of history. Corporations don't change their stripes unless forced, and Microsoft was explicitly not punished in any way after the DoJ found they were Guilty of illegally abusing their monopoly position... and basically every possible kind of anticompetitive behavior.

    Some people are never going to be good programmers. That's okay, because we don't need everyone to be a programmer. We don't actually need that many of them; we already have massive duplication of effort right now, and don't need more. We already have massive joblessness in the sector right now, and don't need more of that either.

    It would be valuable to teach "everyone" more computer skills, since they are only becoming more common, and I personally believe that it would be valuable to teach them all a little programming. Don't try to make everyone into a programmer, computer scientist, whatever the goal is. But it is senseless for us to continually integrate computing further and further into our lives without coming to a greater understanding of it. A little programming knowledge will give people an appreciation of the complexity of the systems they're currently casually throwing their personal information into the void with.

    • Don't try to make everyone into a programmer, computer scientist, whatever the goal is.

      Because teaching kids Math is trying to force them to be mathematicians? Or teaching them biology is trying to make them a biologist?

      The point is to expose kids to what is out there so that later on they can choose a career path.

      Half of what CS and IT is now doesn't even require a college degree it should be an apprenticeship style learning program starting at 14-15.

      • Teach someone the differences between bubble sort, heap sort and quick sort without him having any clue about O-notation or algorithm run time behaviour.

        I'd predict you end up with a lot of bubble sorter. Hey, it's the easiest to understand of the three. And Intel sure wants to sell his next CPU gen, so fuck efficiency!

        • There is no reason a senior in highschool that started learning CS in middle school couldn't make that. You don't throw them straight into OSes or Compilers. You have to start with the basics.

          I learned to code and go on to learn that in college because I had HyperCard [hypercard.org]. I didn't understand why #FFFFFF was the color it was on our Commodore 64s at school, but years later when I was shown how to convert binary to hex it all clicked.

          And now when I'm watching CAN datamessages flying by in CANape/CANalyzer I can l

        • Play a game of 52 card pickup. Then demonstrate bubble sort, selection sort, insertion sort, binary radix sort ("above or below 7?"), quicksort, merge sort (you take half and I'll take half), and American flag sort (stack all the 3's, stack all the 7's, etc.) physically.

        • by mark-t ( 151149 )
          Of the three you mentioned, sure... but by far the easiest sorting algorithm to understand IMO is merge sort: Take a list, if it is only one entry long, you are done, otherwise split the list in half and sort each list separately, then finally merge the two lists together into a single one by comparing the leading entries of both list halves.
      • by gtall ( 79522 )

        No. Mathematics or biology is an enabling science. Knowing those can open up many different areas to you. Knowing theoretical CS allows you to be flexible, but it won't give you the necessary background to do much that is interesting in the economy.

        If half of CS and IT doesn't require a college degree, then teaching it to little fellers and claiming it is somehow preparing them for the workplace is isn't a career path to anything except obsolescence.

        • > Knowing theoretical CS allows you to be flexible, but it won't give you the necessary background to do much that is interesting in the economy.

          Knowing how to program allows you to automate your job. Programming is the new 'keyboarding'. You're looking it like CS is the 'job'. The 'job' is something else that needs to be automated.

          I'm a mechanical engineer that spends 80% of my time coding, why? I automate my job. I automate report generation. I automate mechanical tests. The job that I did when I start

          • Knowing how to program allows you to automate your job. Programming is the new 'keyboarding'. You're looking it like CS is the 'job'. The 'job' is something else that needs to be automated.

            Every time this subject comes up I see this tired idea reiterated (always with an anecdote attached). The problem is that it is complete bullshit. It's bullshit because everyone ends up using different definitions of "programming" or "Computer science" to fit their preconceived ideas.

            Say a high school gives kids a year of

            • Say a high school gives kids a year of Python programming.

              Only a year? By time a student graduates high school they could have 5+ years,

              Except their job involves using Word, Excel, and some bespoke LOB applications.

              What's your point? I've replaced Word documents with Python + LaTeX. Excel can be automated, Engineers have had automated Excel for the last decade. Since there is little crossover between programmers and Engineers there are some 'golden' Excel spreadsheets that do a lot of very complex math for specific applications in VBA. Years ago I worked with a co-worker that didn't even know about Sort, they were manually sorting excel docu

  • Do they tell us a lot about the sciences of Math, Physics, Law, Economy, Languages, Biology etc. at school?
    I'd say not - we get some ideas from basic bootcamp, some common applications and more is served if you opt for higher education.
    I guess the same goes for "CS" - for me, I'd be glad if I could assume everyone that I work with to have a _basic_ common understanding of this computer stuff, I don't need scientists :-)

  • by StormReaver ( 59959 ) on Sunday January 17, 2016 @08:42AM (#51317477)

    Enough people fail to grasp the concept of a variable that I can confidently predict that the "anyone can code" mentality will hit an unassailable obstacle and be abandoned. The only question is how long it will take for this particular neurosis to metastasise and die.

    • Enough people fail to grasp the concept of a variable

      I think the reason why people fail to grasp the concept of a variable is because they only use it in an ambiguous way in a class in school that they consider to be busy work. But if they learned some programming before they had to learn about variables in math, when it came time to use variables in math class the concept will be solidified in their minds. Being able to see the value of the variable change in a debugger really lets the concept sink in, before students event need to know that the idea of a va

  • 1) have a goal which is doable e.g. basic CS

    1) Make a curriculum offering very basic CS (In France when i was 11 it was some absic stuff like convert binary/hex, understand processor (basic level) RAM , how basic programs works (used logo and basic for this) and have a project (often this was a game to wake interest in all people)

    2) Hire people and add 1 or 2 hours to curriculum. Personally i recommend to do it early as it was done in my "experimental" middle school : 11 or 12 year old. I credit it to
    • Indeed, but it would still need to be very basic. In Belgium the Science students (so, usually the 'smarter' students) had a CS class. I think the furthest we went were some different sorting algorithms ( insertion, bubble, quicksort).
      Back in the days, everyone used to have a Commodore 64 and the like. Some claim that sparked interest as well in people, since you booted directly into BASIC, so you could program straight away. Yet all the other boys also had a Commodore 64, but that really didn't push them
      • The C64 was my second home computer as a kid (my first was a Timex Sinclair 1000).

        Commodore's other great contribution was this TV commercial [youtube.com]. which introduced me to Bach's Invention #13. All these years later I still think of Commodore when I head that piece. I've got an outstanding bounty offer to my son for $100 if he learns to play it competently [youtube.com]. :)

  • by MindPrison ( 864299 ) on Sunday January 17, 2016 @08:49AM (#51317503) Journal
    ...well, that's how I read it the first time.
  • I've corrected the summary: All the female child coders are going to take theodp's job! It is the same summary as every other one of theodp's submissions.
    • Not true. At least 30% of them are where he totally misinterprets and exaggerates what a politician said in the bar.

  • by Opportunist ( 166417 ) on Sunday January 17, 2016 @08:55AM (#51317511)

    Some would be interested in it and learn to program. The rest will crib the homework from them. Come tests, teachers will game the system to produce the required outcome to still get government money.

  • Suppose we teach more CS. Given the finite number of hours/week kids will be studying, what will we drop from the curriculum to make room for CS?

    Oh, wait, this came from a politician's speech. Real-world trade-offs don't exist.

    • How about Gym/PE? It is a completely ridiculous to be "teaching" it at school. It doesn't provide enough exercise to make the kids healither. It is an hour, once a week. Useless. There is no tradeoff here, there are plenty of subjects that can be dropped.
    • what will we drop from the curriculum to make room for CS?

      1. Prealgebra. I don't think that prealgebra teaches a single concept that you wouldn't pick up with an intro to programming
      2. Geography. I loved my geography class, but let's be honest, it's kind of a pointless filler.

  • Why is it that the President just doesn't "get it" when it comes to value-add with a proposal like this?

    At best, this reminds me of the 90's when Must Consult Someone Experienced re-defined the "paper" MCSE's that were manufactured out of that era.

    Let's do a quick test here. What would be more valuable to the average citizen to learn, some CS programming or learning the basics about our legal system to ensure you procure proper insurance and know the difference between a will and a living will?

    Sadly, the

  • by EmeraldBot ( 3513925 ) on Sunday January 17, 2016 @09:10AM (#51317573)

    suggests the President is counting on the kindness of tech titans to help make things happen.

    Is the government seriously incapable of putting together a computer science curriculum???

    And, unfortunately because of long historic discrimination in the areas of gender, we can't be assured of that.

    He has the daughters of a president. They will be well into the upper 5% or 1%, will have connections any other person could only dream of, and are almost guaranteed an easy life into doing whatever it is they want to do. You are saying these ladies are worse off than a boy from a smalltown like Stillwater, Pennsylvania, who will earn maybe $50,000 per year as a construction worker? Seriously?

    There is indeed something widely missing from American public schools, and that we should certainly be adding. It's called logic. To my knowledge, most American public schools don't even teach it at all, and even most higher level schools skip right over. THAT'S what all this effort should be directed at, and it pains me every single time I hear a story about computer science in school and not that.

  • by BenJeremy ( 181303 ) on Sunday January 17, 2016 @09:14AM (#51317591)

    When I went to school, in the mid-80s, we were taught BASIC and Pascal, which was a good springboard to languages like C. Today, we have the benefit of more mature, object-oriented languages like Java which are great for educational use, but instead, my son's high school teaches with App Inventor, which is like teaching shop class with LEGOs.

    We also have the benefit of great, now classic, books like the Gang Of Four's Design Patterns. We should be teaching kids something useful out of high school, yet we no longer do.

    I'm mentoring on my son's Robotics Team, and find myself having to teach them Java programming from the ground up. I suppose it is good for them, but I'm not a teacher, I'm an engineer. Still, we are managing, and they are learning. I'd prefer it if a professional instructor had prepared them better, though.

    Shame on educators for having gone this route.

    • We also have the benefit of great, now classic, books like the Gang Of Four's Design Patterns. We should be teaching kids something useful out of high school, yet we no longer do.

      No, a thousand times no! I think teaching computing in school is good and I think GoF is good, but they're a complete mismatch for each other. It only makes sense to learn about design patterns when you're working on stuff that's large enough that it makes sense, or so you can give well known names to things you're already doing.

      Le

      • Design patterns are about using the right tools, in the right way, for the right job. Going back to my shop class example, sure... a student might intuit that a table saw is useful to cut wood, but eventually, they start using the table saw for everything... even cutting lots of curves to make an intricate design, not realizing, because nobody taught them, that a band saw, used properly can safely allow them to cut those complex shapes in a piece of plywood.

        I had to intuit a lot of the design patterns I use

    • When I went to school, in the mid-80s, we were taught BASIC and Pascal, which was a good springboard to languages like C.

      FYI, your school was atypical.

  • Not just CS (Score:2, Insightful)

    by X10 ( 186866 )

    If every student should learn programming, than they should also learn astrophysics, and architecture, and rocket science, and medicine, and every other job there is. Or should they?

    Some people have a talent for programming. Others for astrophysics, or architecture. Before making statements about CS and programming, people should acquire a basic knowledge about what CS is. Apparently, Mr Obama doesn't have that knowledge. That's a pity, because I know that at least one of his advisors does.

  • When I graduated in 92, we had an optional computer programming course in AppleSoft Basic. I even took a course in 1988 in 8th grade. This was at a regular public school in a small middle class town in the south.

  • The president is proposing that students be able to take at least take a single course in CS. They aren't mandating that it becomes everybody's major. I think a bit of exposure to CS will do the world a huge favor. Maybe my kids will grow up in a world where the laptop is not known as the "hard drive", and a monitor is not known as a "computer". Maybe if people understand the basic underpinnings of the Internet, privacy won't written off as something nerds care about. Maybe, just maybe, if people are c

  • There seems to be a fundamental misconception in this entire dialog between "Computer Science" (as define by the ACM/academic folks and their curriculums) and learning the skills needed to be useful as a Software Engineer in industry. These are very different things. The proponents should be clear exactly what it is they think all kids should be learning: do we want to train them to do research in Computer Science, or do we want them to get a more vocational education for the vast number of non-academic jo
  • It doesn't have to be a deep understanding of CS, but instead a class that covers the core concepts: a basic language, a basic introduction to a data structure or two, and a couple algorithms: what's an algorithm? Kinda like how in Biology class, you get the basics of Biology, and if you like it, you go on to college and realize what you learned in High School was just barely scratching the surface.

    I mean, I've made it a hobby to read some "programming for teens" type books and am amused at how when workin

  • Consider that hundreds of years ago, most common people could not read or write. It was not necessary for survival. They could speak a language and that was all that was necessary. Reading and writing became necessary. Now, most common people can read and write. That doesn't mean that they will be doing it professionally.

    Maybe a better analogy is advanced maths. 99% of people need only to add, subtract, multiply, and divide. Most people live quite well without calculus. We teach advanced maths in our school

  • by DaveyJJ ( 1198633 ) on Sunday January 17, 2016 @10:36AM (#51317833) Homepage
    Instead of focus on CS, how about we start with something more fundamental ... a science-based and medically accurate, single term, comprehensive, across-the-nation, practical sex education course instead. That'd solve more social problems in the US than teaching a single term of CS. Lower rates of teen pregnancy, lower rates of STDs, healthier relationships, better understanding of the range of normal sexuality, etc. Despite the abstinence-only crap being taught in so many districts, the false info floating around about how one can get pregnant, and the fear-mongering, patriarchal religious nut sacks who equate teens who have had sex with used chewing gum and who think women should have no say in their sexuality, 97% of the population lose their virginity before they hit the age of 20. Maybe we should make sure people know about what the hell they are doing that before teaching CS?
  • by Theovon ( 109752 ) on Sunday January 17, 2016 @11:06AM (#51317921)

    CS is a subject that can be taught as well any other subject. We don’t expect everyone to become an expert in biology, but they should be familiar with the basics. So we can apply this to CS.

  • Not everyone will be any good. Anyone can learn to draw, but not everyone will be any good. Anyone can learn to play an instrument, but again, not everyone will be any good. There is a teachable component to all of these, but at at least some natural aptitude is involved in performing any skill. Certainly no less important is how much time and energy a person wants to put into actually mastering that skill.
  • by sethstorm ( 512897 ) on Sunday January 17, 2016 @12:09PM (#51318095) Homepage

    Given current policy, they would make sure that only "sufficiently diverse" people would benefit. They wouldn't want any white males to have any chance of succeeding over a diversity candidate.

    If they really wanted more people in CS, they would kill offshoring and guest worker programs with fire, from orbit. More individuals would be motivated to complete a program with a higher chance of an actual career.

  • Teach them a framework for learning when they are young, then they will have the tools to pursue whatever they want later.
  • Universal CS and universal Math classes (beyond basic arithmetic) serve the same purpose: They aren't about learning specific skills / formulas, they are about learning *logic* (with "whether or not you understand when to apply these formulas" being a straightforward way to test if the lessons are working).

    Functional programming is a logical "next step" after learning the basics of y = f(x) when learning basic algebra. There's really no need to go beyond pure functional programming, as anything else risks s

  • by Dcnjoe60 ( 682885 ) on Sunday January 17, 2016 @01:55PM (#51318479)

    The failure of this plan is relying on corporations like Microsoft to do it. Corporations do things that are best for their shareholder's interests. The government and government run schools, on the other hand are for the public interest. While there may be some overlap between the two interests, most often they are not and relying on corporations to come up with curriculum and teaching methods is bound to fail.

    For Microsoft and the other corporations involved in this, the students and schools are customers. It is reasonable to expect that Microsoft will push their OS, their programming platform, their web platform, etc., even if it isn't in the best interest of the country as a whole. Why? Because first and foremost, their goal is to maximize their shareholder's equity.

    A more neutral approach to this would be to rely on colleges and universities to come up with a recommendation. Obviously, it would need to be coordinated, otherwise, you will have as many opinions as their are participants.

    And finally, the question must be asked -- "In the future, will what is being being taught to code today be relevant?" If this were put in place in the 1980s, everybody would have been taught COBOL and FORTRAN. How useful would those skills have been by 2000? Teaching to code is more than learning a language, it is learning to think logically. It is learning to plan. It is learning to question. All of those skills can be taught without programming and are more useful in society than only being taught for programming.

    If you want future adults who can code what they are told to code, teach programming. If you want future adults who can think for themselves, teach philosophy -- that way, there will be somebody to tell the coders what to code. There is a reason that parents who are in the 1% send their kids to elite schools that teach philosophy and other humanities along with core subjects. They are raising their kids to be leaders in the future. Sure, they also teach computer programming, for those who are interested, but not for those who are not. After all, in the future, if we all have to program our devices to get them to do what we want, then that is a step backward. That's fine for enthusiasts, but for most of society, it will become a skill as useful as in the past requiring everyone to take Home Ec or Shop class.

Avoid strange women and temporary variables.

Working...