Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Education Programming Music Network Operating Systems Software The Internet United States News Build Entertainment Games Technology

American Schools Teaching Kids To Code All Wrong (qz.com) 369

theodp writes: Over at Quartz, Globaloria CEO Idit Harel argues that American schools are teaching our kids how to code all wrong. She writes, "The light and fluffy version of computer science -- which is proliferating as a superficial response to the increased need for coders in the workplace -- is a phenomenon I refer to as 'pop computing.' While calling all policy makers and education leaders to consider 'computer science education for all' is a good thing, the coding culture promoted by Code.org and its library of movie-branded coding apps provide quick experiences of drag-and-drop code entertainment. This accessible attraction can be catchy, it may not lead to harder projects that deepen understanding." You mean the "first President to write a line of computer code" may not have progressed much beyond moving Disney Princess Elsa forward? Harel says there must be a distinction drawn between "coding tutorials" and learning "computer science." Building an app, for example, can't be done in a couple of hours, it "requires multi-dimensional learning contexts, pathways and projects." "Just as would-be musicians become proficient by listening, improvising and composing, and not just by playing other people's compositions, so would-be programmers become proficient by designing prototypes and models that work for solving real problems, doing critical thinking and analysis, and creative collaboration -- none of which can be accomplished in one hour of coding," she writes.
This discussion has been archived. No new comments can be posted.

American Schools Teaching Kids To Code All Wrong

Comments Filter:
  • How about (Score:5, Insightful)

    by geek ( 5680 ) on Thursday May 26, 2016 @08:02AM (#52186315)

    How about we leaving the teaching to the teachers and the armchair quarterbacks can go fuck themselves? I like that approach.

    • Re:How about (Score:4, Insightful)

      by Big Hairy Ian ( 1155547 ) on Thursday May 26, 2016 @08:08AM (#52186347)
      Yep lets teach kids to enjoy coding before we suck the joy out of their lives with "inheritance encapsulation and polymorphism"
      • by PvtVoid ( 1252388 ) on Thursday May 26, 2016 @08:17AM (#52186401)

        "inheritance encapsulation and polymorphism"

        I cannot for the life of me figure out how to get Elsa to do that.

      • its' about fun (Score:4, Insightful)

        by goombah99 ( 560566 ) on Thursday May 26, 2016 @09:01AM (#52186697)

        running else into walls is really fun and you can get kids to spend hours learning stuff with a pay off like that. It's about setting the hook. Later on programming becomes fun for other reasons like the feeling of a flow state or the accomplishment of a product or the edorphin release of grocking a new algorithm that does something you thought was impossible. But you can't get to those in one step. We let kids read captain underpants before we expect them to find reading Arthur C Clark any fun. It's about progression and self motivation at an appropriate level. Not all kids will be coders but letting the ones that are find out they are is fine.

        • Re: (Score:2, Funny)

          by PopeRatzo ( 965947 )

          edorphin release of grocking a new algorithm

          I'm pretty sure by high school they'll find other more engaging ways to get that endorphin release.

        • by Roger W Moore ( 538166 ) on Thursday May 26, 2016 @02:09PM (#52189655) Journal

          It's about progression and self motivation at an appropriate level.

          True but it must also be educational at an appropriate level of rigour. The problem with a lot of school education today is that making it fun becomes the primary goal and maintaining educational standards comes in second. This leads to the erosion of educational standards very rapidly - just look at the appalling level of maths education in schools in the UK, Canada and the US today. The correct order of priority is to determine what needs to be taught and after that determine how to teach it in the most engaging way possible: this last part is where the teachers are the experts. If you can't come up with an engaging way to teach it then you just do the best you can.

      • by AntEater ( 16627 )

        Yep lets teach kids to enjoy coding before we suck the joy out of their lives with "inheritance encapsulation and polymorphism"

        Suck all the joy out? "Inheritance encapsulation and polymorphism" is where the fun begins!

        • Re: How about (Score:4, Insightful)

          by Anonymous Coward on Thursday May 26, 2016 @09:50AM (#52187083)

          Maybe joking maybe not. But this is why most people will never be real programmers. Real programmmers enjoy that shit.

          I was just in a meeting where client said "no one likes to do hard problem " - and I said, " sorry, you have the wrong people"

        • Re: How about (Score:3, Interesting)

          by Anonymous Coward

          Yep that was the tip of the iceberg.

          Story time boys and girls gather around.

          I was in my senior year of highschool and was a Visual Basic monster(or so I thought). I was writing progs for AOL exploits when I was 14. I thought I was the shit. Spaghetti code galore as you can imagine.

          First programming class in college was introduction to C++. A whole new world I had yet to explore.

          See at a young age I thought my journey was complete. I had some famous progs and a group of friends with the same interest. I thou

      • by Anonymous Coward

        Its probably true that more people should understand how programs work, but coding is not computer science.

      • Re:How about (Score:5, Insightful)

        by StormReaver ( 59959 ) on Thursday May 26, 2016 @02:52PM (#52190111)

        Yep lets teach kids to enjoy coding before we suck the joy out of their lives with "inheritance encapsulation and polymorphism"

        At what point does a person who doesn't like, or even have an aptitude for, programming suddenly reverse course and start becoming proficient in it and start liking it? You are doing a student a grave disservice by presenting programming as a simplistic endeavor at the beginning, and then hitting them with the reality of it later. That makes you out to be untrustworthy to the prospective student, and is a waste of everyone's time.

        People who do not find the underlying principles interesting on their own merit are poorly suited for a career in programming. They may eventually slog through it, but they will be miserable.

        Not everyone can be programmer. I find programming to be so intuitive that it boggles my mind how difficult it is for most people. But the reality is that relatively few people are good at it.

    • Re: How about (Score:5, Insightful)

      by fuzzyfuzzyfungus ( 1223518 ) on Thursday May 26, 2016 @08:12AM (#52186367) Journal
      The trouble in this case is that it is frequently the armchair quarterbacks who are pushing the curriculum, and the teachers trying to pick up the pieces within that context. Letting that sort of thing pass without comment or challenge is allowing the armchair quarterbacks to mess with the teachers. There is obviously a case to be made that "so kids, let's do some proofs about computability!" may not exactly draw the middle schoolers in; but it's also the case that "everybody learns to code because the app entrepreneurs future!!!" creates a strong incentive toward 'CS' watered down until everyone can be shoved through it without too much hassle.
      • Re: How about (Score:5, Insightful)

        by funwithBSD ( 245349 ) on Thursday May 26, 2016 @08:29AM (#52186493)

        Watered down CS classes is exactly what most people need.

        Even my wife's job, an attendance clerk for a elementary school, takes some significant IT understanding to do.

        The software the district uses requires the end users to create their own reports, in dumb downed version of SQL.

        "Real" IT people need more detailed courses, but the current system geared to make office workers needs to be upgraded to produce IT savvy workers.

        • by XXongo ( 3986865 ) on Thursday May 26, 2016 @09:00AM (#52186687) Homepage
          Yeah.

          The one "watered down" CS element that I would like to see taught in elementary schools is the art of drawing flow charts. Now, that's something that can be useful across the board, as a tool for thinking,

          But, as for the rest of it-- let the teachers figure out how to best teach.

        • Exactly! My entire job is working with teachers to help them integrate technology. The benefit to Code.org and other simplified programming lessons is getting kids to understand problem solving and process thinking. Too much of school is still rote memorization and regurgitation on tests. When you do ANY type of coding, you teach kids real skills.
        • Watered down CS classes is exactly what most people need.

          Even my wife's job, an attendance clerk for a elementary school, takes some significant IT understanding to do.

          The software the district uses requires the end users to create their own reports, in dumb downed version of SQL.

          "Real" IT people need more detailed courses, but the current system geared to make office workers needs to be upgraded to produce IT savvy workers.

          In that case, don't teach watered down CS (whatever the fuck that means). Teach IT. You don't take some crap and call it watered down calculus when all you need to do is teaching the basics of math and, I dunno, understanding the differences between simple and compound interest, do you?

          It is understandable when the general population conflate CS with IT (in the same way they conflate Zoology with Botany.). It is not OK when people who should know better push such an invalid notion.

      • Re: How about (Score:4, Insightful)

        by Archangel Michael ( 180766 ) on Thursday May 26, 2016 @10:57AM (#52187657) Journal

        The trouble in this case is that it is frequently the armchair quarterbacks who are pushing the curriculum, and the teachers trying to pick up the pieces within that context.

        IT guy working in Education here

        First off IMHO we have people in far away places (DC, State Capital etc) who see "trends" in education, and have to implement them without really understanding the whys and more importantly, the why nots of current theories and trends. These are the people that have decided that testing three weeks a year to gather data that doesn't help a single child is a "good thing" and don't understand why it sucks for everyone except those people in far away places.

        Meanwhile, you have people in college who don't know anything about history (See Mark Dice YouTube) . And if you know your history, people who Do Not Learn from history are doomed to repeat it.

        So, while we are teaching our kids about "sociological issues" and filling their heads with information that is truly irrelevant, we are neglecting the basics of reading, writing, and math. No wonder the US is so far down the chain of education in first world countries, our schools are a cesspool of political correctness. Nobody is crying for our illiterate kids, but instead are warring over who can use a fucking bathroom. And thus, our nation's collapse is nearly complete.

    • by Hentes ( 2461350 )

      And who will teach the teachers?

      • And who will teach the teachers?

        Colleges and universities. Teaching requires a college degree. Not every teacher needs to be able to teach coding. Usually the kids rotate through a computer lab, with a dedicated teacher, while their normal classroom teacher works on lesson plans, or takes a smoking break, or whatever. That is the way it works at my neighborhood school. The younger kids (3rd and 4th grade) learn Scratch, and the older kids (5th and 6th grade) learn Python.

    • Re:How about (Score:5, Insightful)

      by bluefoxlucid ( 723572 ) on Thursday May 26, 2016 @08:46AM (#52186599) Homepage Journal

      How about we get out of this stupid fascination with our favorite pet topic.

      While calling all policy makers and education leaders to consider 'computer science education for all' is a good thing

      Begging the question: why is it a good thing? Half of the current CompSci grads don't even get CompSci jobs [census.gov].

      I could claim teaching everyone agricultural management is a good idea, and I would be wrong; of course a huge flock of neo-conservative anarchocapitalists would get behind me on that one, citing that we should all be able to independently make our own food, so a mandatory master's in farming is a good thing.

      People don't need computer science education; they need education in operating a computer, and, as much as you want it to be true, programming is *not* operating, in the same way that *engineering a car* is not *driving*.

    • How about we leaving the teaching to the teachers

      I would love to do that. Honestly.

      But unlike most professional fields, they do not have a track record that I am comfortable with. From my limited investigations prompted by the whole "common core" movement, it seems that the entire field of education is one of competing philosophies, with very little if any empirical data to back up any position. When they get their act together and realize that we've progressed beyond the 19th century in the applied sciences I will "leave teaching to the teachers". Until

      • Teachers develop curriculum but, in Missouri at least, it's the State Legislature that defines the educational goals. Teachers have no choice but to follow along and teach what they are told to, the best they can.
        As far as fads go, I am not sure your point is valid. Teachers are trained to use different methodology to reach all kids. What works for one, may not work for another. You may think what they are doing is a "fad" but in reality, it's simply a tool to reach a goal.
        I suggest spending some time in a

        • As far as fads go, I am not sure your point is valid. Teachers are trained to use different methodology to reach all kids. What works for one, may not work for another. You may think what they are doing is a "fad" but in reality, it's simply a tool to reach a goal.

          I have absolutely no problem with trying to reach kids through different methods. (I do have a problem with trying to teach all kids all methods, but that's another conversation.) But where is the empirical evidence that these methods actually work? Sometimes there will be a limited and flawed study. Usually a case study in a single school district with no control group.

          I suggest spending some time in a classroom before dumping on teachers.

          I am NOT dumping on teachers. Most of the teachers that I have encountered are great. Not all, but most. They work really, really hard and

      • by swb ( 14022 )

        Education has been seized by the idea of solving the "achievement gap" and using the public school system as a social welfare delivery service.

        The former only increases the desire for the latter because underachieving demographics are highly correlated with poverty.

        It would make some sense, but the task of social welfare exceeds both the expertise and resources of a school district. When they nevertheless focus on social welfare, they end up biasing the talent pool towards social welfare delivery experts a

    • by jimbolauski ( 882977 ) on Thursday May 26, 2016 @09:05AM (#52186725) Journal
      Just substitute programming buzzwords for college math courses and the insanity sticks out like sore thumb.

      We are doing a disservice to kids by assuming that they can't grasp Differential Equations, Calculus, and Linear and Nonlinear Optimization. By limiting them, we undermine their capabilities and stifle their creative and inventive potential.

    • That's fine as long as the teachers have a wealth of experience in their subjects in the real world before they start teaching. Teachers who teach the textbook aren't teaching. Teachers who cannot go beyond the theoretical to practical applications of what they are teaching aren't preparing the students to go into practical applications. Lastly, teachers who are uninspiring aren't very good at their jobs.

      • Re: How about (Score:4, Insightful)

        by javaman235 ( 461502 ) on Thursday May 26, 2016 @10:17AM (#52187297)

        That's a tough sell: 12 years experience as a master programmer? Come teach obnoxious kids for $45,000 a year!

      • Few teachers come into the system after years in the "real world". If you are even slightly successful at anything above an administrative assistant teaching will be a step down in pay after spending a minimum of 15 months getting a teaching certificate (many schools have a summer through summer accelerated program).

        So anyone coming from industry to teach either couldn't cut it, or is a lucky person who isn't teaching to pay the bills. The latter are very rare critters, and in the couple cases I have seen

  • by bogaboga ( 793279 ) on Thursday May 26, 2016 @08:11AM (#52186353)

    "...would-be programmers become proficient by designing prototypes and models that work for solving real problems, doing critical thinking and analysis, and creative collaboration -- none of which can be accomplished in one hour of coding..."

    That's why the same approach she criticizes, if applied music, produces students that can play a paticular piece or pieces of "hard" music very well, but cannot meaningfully compose or even read music.

    When it comes to coding, I prefer being introduced to the basics, then letting the student discover on their own why things work the way they do. I learned this way using Visual Basic.

    I now have coded several applications in VB for people who had no idea Excel for example, could be run fully fledged business applications beyond simply adding up numbers.

    • by Maxwell ( 13985 )
      So after a one hour music lesson, I can compose my own works?
      • No but I have met a few people who can play just about anything they hear a couple months after buying a guitar with no lessons outside of a basic beginner's book. They are currently playing in fairly good cover bands but have no original music.

    • by Viol8 ( 599362 ) on Thursday May 26, 2016 @08:28AM (#52186485) Homepage

      "That's why the same approach she criticizes, if applied music, produces students that can play a paticular piece or pieces of "hard" music very well, but cannot meaningfully compose or even read music."

      To be fair, while both composers and players may be labelling "musicians", the skills required are quite different. Playing a piece of music well is a rote activity learned over time like riding a bicycle. Composing OTOH is a creative activity that can't really be taught much beyond the "these chords sound nice in sequence" level. You either have the creative gene or you don't.

      Similarly, most people can cut and paste together some pre-existing functional modules to create some mickey mouse app. However to come up with an algorithm and logic from scratch to solve a complex problem is an entirely different kettle of fish.

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        There are many symphonic-caliber musicians who, while being superb players and teachers of the instrument, cannot compose or improvise (at least very well).

    • Is VB considered an active language anymore? (mostly VBA these days right?) I Remember VB has having terrible things like being "case-insensitive", and allowing undeclared variables out of nowhere (unless "option explicit" was declared) often causing garbage data to creep in causing debugging nightmares. I thought VB.net was a godsend that required people to code with some "class" (pardon the pun). While VB was a "quick and dirty" the 'dirty' part I've found dominate the finished products afterwards by far
      • I have worked with enterprise applications coded in vb that performed much better than I would have thought although the low bar on creating an nice looking interface in the visual designer makes it easy for someone with no skill to code a nice looking piece of junk.

        C# .Net has the same problem but happens to be my current favorite rapid language it can be as simple or as complex as you need it.

      • but I don't like the fact it doesn't use '0' based arrays like proper languages do.
        In a proper language you can define the dimensions of an array freely.

        Seems we disagree what a proper language or a proper array is :D

        On the contrary, for kids it is much easier to learn that an array either starts with 1 or with the number they wish, like in Ada or Pascal, or are both not proper languages for you?

        And if other languages would allow that, we had far less off by one errors. How a sane person can defend that a

    • by judoguy ( 534886 )

      I now have coded several applications in VB for people who had no idea Excel for example, could be run fully fledged business applications beyond simply adding up numbers.

      Shudder.. I've been involved in business software for development since the early 80's. In company after company since Excel was released the 2 most horrible letter combinations have been "MBA" and "VBA".

      My god, the crap I've had to fix when those two come together to make "fully fledged business applications".

  • by goose-incarnated ( 1145029 ) on Thursday May 26, 2016 @08:11AM (#52186355) Journal

    Of course, the advantages of using a language that non-programmers can "pick up in a weekend" are mostly lost because you'll be working with programmers who learned to program in a weekend.

    Exhibit A: Python. Exhibit B: PHP.

    You want to teach coding? How about do it holistically - teach CS, and use a language like Pascal and/or Basic to teach the CS. For teens, perhaps teach from SICP.

    • by frnic ( 98517 )

      PLEASE anything but PASCAL.

      Basic, Swift, even Python or PHP is okay. The point is to teach how to solve the problem and the language is just another tool.

      The issue is coders are not what I traditionally called "programmers" - they are two different critters. Back in the day (before I retired) we call coders "code slingers" and hired a bunch to implement all the boring things the programmers and designers and architects spec'd.

      • PLEASE anything but PASCAL. Basic, Swift, even Python or PHP is okay. The point is to teach how to solve the problem and the language is just another tool.

        Critical thinking skills really are the key. I usually tell my students to write the problem out in plain English or pseudo-code as comments, then write the code that would implement that problem in between the comments. Of course, few of them do that. Programming courses are just something for them to get through.

        I think for the next course I teach this fall (Web Programming w/Database Integration), I am going to have them watch The Secret Rules of Modern Living Algorithms [youtube.com] on the first day after we go ove

      • The point is to teach how to solve the problem and the language is just another tool.

        That is nonsense.

        I'm a native german speaker. How would you explain me a scientific subject best? In German or English or in Thai?

        The language makes a huge difference.

        And Pascal is the best language to teach and learn coding in. You may disagree but you would be wrong.


        type
        vector = array [ 1..25] of real;
        var
        velocity: vector;

        Trying this in C is unreadable gibberish for every beginn

    • My son is in 7th grade, they are learning straight up C/C++.

      Required for the Robotics class in 8th grade.

      • by Anonymous Coward

        Uh, that's not a good thing. Rust is the future of systems programming. I predict that in the future all new software will be written in Rust. Even old software, like the Linux kernel, will be rewritten using Rust. Your kids are learning outdated, obsolete technology if they aren't learning Rust today.

    • by mrchaotica ( 681592 ) * on Thursday May 26, 2016 @08:38AM (#52186557)

      You want to teach coding? How about do it holistically - teach CS

      Exactly. If I were teaching computing to kids, I probably wouldn't even give them a computer for the first couple of months! Instead, we'd be doing things like cooking and writing recipes to learn how algorithms work (e.g. student: "Why did you pour the flour on the table?" teacher: "because your instructions didn't specify where to pour it. If I'm a computer, I don't know how to assume it goes in the mixing bowl." student: "Oh, I get it now..."), playing with logic puzzles [wikipedia.org], learning about Boolean logic and computer architecture with pencil-and-paper exercises, etc.

    • Re: (Score:2, Flamebait)

      Whats your beef with Python? I'd take far more issues with Javascript (Especially Node.js) than Python. Also don't have a go at PHP when MS took that bad idea, made it worse and called it ASP.
    • As long as individuals can learn to solve problems, develop algorithms, and the other skills that are more important to programming than just language acquisition it's not really a big deal. If you're targeting really young children, just give them something like Scratch and let them play around with it after teaching them the basic constructs. Give them a few challenging problems to try out on their own that allow them to apply what they've learned to developing simple algorithms

      Not everyone will do it
    • by jonwil ( 467024 )

      When I studied computer programming in high school (this was a private school here in Australia and it would have been mid 90s) they were using Pascal (Turbo Pascal 6) and then later Visual Basic.

      If I was going to teach kids who knew nothing about programming how to program, Scratch would be a good place to start IMO. Its drag and drop and fun and you can do cool stuff with it but the programming underlying it teaches concepts like loops and if statements and variables and boolean operators and mathematical

  • So they are using gui tools. Who cares? My first experience with programming was randomly modifying Oregon Trail and seeing what broke. It wasn't until I got a programming manual several years later that I discovered that chr(4) actually meant ascii character 4. I knew what it did by trial and error but had no idea what it meant. The point is they are teaching basic logic and problem solving skills. Not everyone is going to be a programmer but everyone can benefit from learning logic, problem solving

  • by Anonymous Coward

    They want cheap, easily replaced and just barely adequate coders.

  • by Dr. Spork ( 142693 ) on Thursday May 26, 2016 @08:14AM (#52186381)
    Of course one computer science class is not sufficient to turn students into programmers. Their history class is also not going to make them into historians. After all, there is nobody forcing kids to search archives for original documents! By professional standards, everything taught in school is fluffy and watered down. Harel noticed that only now, and she's outraged?
    • By professional standards, everything taught in school is fluffy and watered down. Harel noticed that only now, and she's outraged?

      That's the way school works. In kindergarten you learn that the primary colors are red, yellow, and blue, that there are only 3 phases of matter, that the earth is round, that all living things are either plants or animals (if you're lucky they *might* throw in fungus but don't count on it). Later you find out that green is a primary color, the earth is fatter at the equator, plasma is a phase of matter, and there are actually 6 kingdoms.

      Even in high school physics, you still mostly learn using simplified

      • by bigpat ( 158134 )

        By professional standards, everything taught in school is fluffy and watered down. Harel noticed that only now, and she's outraged?

        That's the way school works. In kindergarten you learn that the primary colors are red, yellow, and blue, that there are only 3 phases of matter, that the earth is round, that all living things are either plants or animals (if you're lucky they *might* throw in fungus but don't count on it). Later you find out that green is a primary color, the earth is fatter at the equator, plasma is a phase of matter, and there are actually 6 kingdoms.

        Even in high school physics, you still mostly learn using simplified versions like frictionless planes and spherical cows. I don't see a problem with this. You teach the simplified version and then a few years later create a better model. This is actually very similar to how real science works where we create a model (say newton's laws) and then slowly expand on it as we find stuff that doesn't conform to it 100% of the time in all conditions.

        Yes, good points all around. Nothing wrong with a bit of simplification, take this history of the world in 5 sentences:

        "Well, let's see. First the earth cooled. And then the dinosaurs came, but they got too big and fat, so they all died and they turned into oil. And then the Arabs came and they bought Mercedes Benzes. And Prince Charles started wearing all of Lady Di's clothes. I couldn't believe it."

    • No mod points, but thank you.

  • Dammit you're doing this all wrong! Can't you program in a way that costs me less than minimum wage?
  • Not much has changed (Score:5, Interesting)

    by freeze128 ( 544774 ) on Thursday May 26, 2016 @08:17AM (#52186399)
    When I was in high school, (25+ years ago) we had computer programming classes. The languages they covered were BASIC, Pascal, and LOGO. Sure, you could drive a little turtle around on the screen and make pretty Spirograph pictures, but nobody used it to play chess or do their taxes. Of course, many of the students in that class went on to take university classes in computer science.

    Lesson: Rudimentary programming classes are not the end-all, be-all of computing. It's just a stepping stone to let you know if you want to continue your education in that field.
    • When I was in high school, (25+ years ago) we had computer programming classes. The languages they covered were BASIC, Pascal, and LOGO. Sure, you could drive a little turtle around on the screen and make pretty Spirograph pictures, but nobody used it to play chess or do their taxes. Of course, many of the students in that class went on to take university classes in computer science. Lesson: Rudimentary programming classes are not the end-all, be-all of computing. It's just a stepping stone to let you know if you want to continue your education in that field.

      This. TFA refers to Obama "writing" a line of code with "moveForward(100);". Seems an awful lot like LOGO's "FD 100". It's an easy, intuitive first step to get kids interested in programming, while being accessible to third and fourth graders. No one is suggesting that drag and drop computing be the core of a CS undergraduate programming, but as a "my first application" for kids, it's perfect.

  • by Maxwell ( 13985 ) on Thursday May 26, 2016 @08:18AM (#52186407) Homepage
    It's called "hour of code" and the idea is to get kids interested in computer coding. Kids already have exposure to music, they can bang a drum, squawk a plastic recorder from the dollar store. They have exposure to sports, they can throw a ball around easily. They don't have exposure to coding in the same way. So give them an hour. It's not a PhD, but have you heard the noise those plastic instruments make?
    • So where is:
      "Hour of plumbing"
      "Hour of auto mechanics"
      "Hour of home renovation"
      "Hour of electrical"

      Each of these is probably more valuable to the child on average.
  • by Anonymous Coward

    Learning multiplication tables doesn't teach kids how to solve the REAL problems they'll face in multivariable calculus. Kids don't learn REAL chemistry by following lab exercises in their science books.

    Kids don't need to learn how to make apps in third grade any more than they need how to build graphene. But I would like to see them learning things such as conditional execution, recursion, and abstraction of problems. Unless you've programmed in your spare time, when you get to college, you are going into

  • by Xeth ( 614132 ) on Thursday May 26, 2016 @08:22AM (#52186447) Journal
    Why is it that these tight corporate tie-ins are permitted for education? I certainly would hope that the schools wouldn't allow "Luke Skywalker and Belle teach American History", so why is the equivalent permitted for CS? Is it the fact that this is a "new" educational subject, where they're seizing the uncharted void of curriculum to get us warmed up to the idea?
  • At the very least, these programs could help highlight the children that have natural ability and/or interest early on. This way, once identified, they will have the opportunity to get the deeper education they need to go on and be successful in a CS related field.
  • We need more ways to get H1B'S in by saying us workers don't have the right skills.

  • As someone who got started on programming back in the early 90s with QBasic, then moved through a VB and Java phase until ending up at C/C++, it's fairly obvious what has happened over the years. Basically ongoing abstraction and proliferation of scripting languages is making people forget about actual programming.

    Where programming involves the actual manipulation of hardware, drivers and bytes, scripting merely involves being able to use pre-existing APIs proficiently. See for example applications which
  • Comment removed (Score:5, Informative)

    by account_deleted ( 4530225 ) on Thursday May 26, 2016 @08:37AM (#52186551)
    Comment removed based on user account deletion
  • OTHER classes, such as Science, History and English also teach "doing critical thinking and analysis, and creative collaboration"

    because those skills are not unique to IT, every good job requires that sort of thinking.

  • Start with something simpler. Like an old 8-bit computer, or a simulation like core-wars. Some system where *everything* about it is comprehensible with no hidden magic.
  • by argStyopa ( 232550 ) on Thursday May 26, 2016 @08:41AM (#52186577) Journal

    So she's suggesting that a discipline that requires an (obsessive) focus on procedure, logic, math, and detail *might* not benefit from being addressed as the "flavor of the month" educational issue and magic-bulleted by an "hour of code" every week using what amounts to dumbed-down simplistic tools taught by general-ed instructors who aren't really familiar with what they're doing anyway?

    Maybe we should just leave it as a profession to people that actually enjoy it and choose to do it, instead of trying to stampede kids (particularly ones with vaginas!) into it with t-shirts, media attention, and shiny prizes?

    I'm going to go way out on a limb here and suggest that the kid attracted to a profession because there's balloons and cake at a few school events, is going to be pretty fucking disappointed when they realize that much of the job involves sitting for HOURS AND HOURS, alone, and thinking really hard about stuff.

  • coding and CS (Score:4, Insightful)

    by l3v1 ( 787564 ) on Thursday May 26, 2016 @08:47AM (#52186601)
    I don't think there's really a wrong way to show kids how to code. The only wrong way would be not to show anything. (Well, it might be a bit wrong to over-complicate things, since we don't want to make them uninterested or scare them away.)

    I know you're mostly not interested in some john doe's life story, nevertheless, I'll give you my example, since I also was taught coding before knowing anything about CS or higher level math.

    The first ever line of code I wrote was about 25 years ago in 6th grade. There was a computer club or something at our school, after classes in the afternoon, where we - a group of ~6 - were shown/taught coding in some sort of Basic on some really junk machines. I started learning CS when I started high school (in a math+CS-specialized class - meaning we had extra classes of math, phys, CS, and extra coding labs) and I never felt it a problem that I only started to know things deeper at that time. On the contrary, when we started the more "boring" part :) I was already interested enough to care about it :)

    I know some people who started this way and turned out quite OK :)

    Point is, start early, start at a level that makes kids interested, and continue to teach them deeper stuff according to their age, gathered knowledge, and of course, interest (if there's any, not everyone has to be a CS+coder guru).

    However, after a while CS needs to kreep in, since even if most companies need "normal" coders more, my unsurprising experience is that more knowledge really produces better results.
    • by gweihir ( 88907 )

      Same experience here. I find that many things I code today need advanced algorithms and data-structures, estimates, and the occasional proof. Coding on advanced difficulty-level cannot really be done unless you also have a solid CS background. And that is where the money is, because you become very hard to replace.

  • Comment removed based on user account deletion
  • by bfpierce ( 4312717 ) on Thursday May 26, 2016 @08:59AM (#52186679)

    "Just as would-be musicians become proficient by listening, improvising and composing, and not just by playing other people's compositions."

    That's exactly what introductory musicians DO in the current public school environment. They play other people's compositions. Only those with the means and time actually go further than that into writing their own music, and they do it at home or take additional class work outside of their normal curriculum.

    You aren't a musician because of the High School curriculum, you aren't a mathematician, you aren't a political scientist because of your government class. I think the problem here is that people like this article writer are expecting HS graduates to be able to jump into a profession with no additional learning/training. That's not realistic, and it's not what a HS curriculum is designed to do.

  • This is Wimp Lo, we trained him wrong.....as a joke.
  • by evolutionary ( 933064 ) on Thursday May 26, 2016 @09:03AM (#52186711)
    There ARE musicians that are considered proficient who in fact did nothing but learn other people's music. Pavarotti did nothing but learn other people's music and in fact did it by ear because apparently he never learned to ear music (at least not in the beginning of his career). The great pianist Glen Gould never really became proficient in composition (he had a SINGLE work, which wasn't really a great accomplishment shortly before he died). Now are there rounded musicians, certainly. Leonard Bernstein would be a great example. Point is, the analogy given to us is flawed. Also, in programming, although we have many generically labelled "Developers" there are low level coders (generally juniors starting out who just do simple assigned tasks), UI Designers, Software Architects, Database Modellers, Data Architects, DBA's, Network Administrators, and many in between. Most start-ups have general "Developers" who are basically expected to be "Jack-of-all-trades" with the experience and rounded exposure to handle "whatever is needed at the time", but few people with less than 5 years of experience can handle that well so generally these are intermediate-senior level experienced people. While I agree to do software (or music) professionals SHOULD have a wide rounded set of skills to see the big picture and accomplish more, not every successful IT person is well rounded and these will be limited to small scope roles (although the real world doesn't always meet this idea). So I wouldn't say kids in school taught the bare basics of coding aren't taught to code "wrong" as much as in a way that will limit their advancement.
  • The current "Learn to Code" movement is not (or at the very least, should not be) about turning everyone into a Professional Developer.

    Rather, I think it is an understanding that most of these students will pursue other professions, but will need to interact with developers.
    They'll need at least a passable understanding of what code is, what debugging is, what testing is, because they'll be associated with it to some degree.

    The goal is to end managers who believe that a "Debugger" is a program that fixes yo

  • "Building an app, for example, can't be done in a couple of hours, it "requires multi-dimensional learning contexts, pathways and projects."

    While this is complete gobbledygook, apparently nobody knows the difference between Computer Science and Software Engineering.

    You can study computer science and not be able to write a line of code.

    Conversely, you can be a software engineer, and know almost nothing of computer science.

    They are separate discipline. And it's not clear of the value of learning either for

  • We should be teaching kids the very basics such as focus and concentration through meditation, then add on the ability to adapt and learn. We continue to try and "skate to where the puck is, instead of to where it's going to be" (stealing a line). And in order to go to where it's going to be we need a highly adaptable society with the ability to quickly learn as they may have have 4-6 careers in their lives.

    Along with those very basic also teach reading, writing, math, logic, problem solving, art, music a
  • CS can be taught academically, in worse or better versions. Coding cannot really be taught at this time. We do not know how to do it. Like most advanced skills it needs about 10'000 hours of practice to become reasonably good at it, and most of that time people need to spend in self-directed study by themselves, practicing on a variety of projects, tools and languages. The "learn coding quick" bullshit-meme of today is really "learn some very restricted form of coding very badly" and it harms a lot more tha

    • Do you have any examples where it has been harmful in the long run to learn to use some overly simplistic tools, languages, etc?

      Like are there kids who never learned to ride a bicycle because they had training wheels? Is there a CS equivalent to that? I can't image there is one.

  • They don't teach coding or computer science in k-12 schools. They teach scripting. The thing is you can't make coders. You have to be born one, or pretty close. Its not about language or syntax. Its about logic and breaking down complex systems into simple actions. You have to think that way or you will never be a decent coder.

  • Teach kids how to use about 6-8 instructions for x86 assembly. Give them a template to start with to modify. Then have them build up simple sequences of the handful of instructions that they know to do something basic (like add up a list of numbers).
    My suggestion may seem boring, but it is rewarding to take something that was initially hard and at the end accomplish something that you are now an expert at doing. (expert in adding numbers in assembly language)

    Why assembly? The basics are very easy, it only gets hard if you want to do complex things. Honestly after you taught the kids those few instructions you can stop there and never mention assembler again.

    Repeat with a handful of operations for another language and a good template to start them off. Python, Ruby, JavaScript, etc I don't care. It could be Lisp or Pascal for all it really matters.

    Teaching concepts and trying new things is the whole point. It should never be about training children to be a professional in a particular industry. (which is why I don't think the language matters)

  • Most school districts will complain that they don't have enough money to buy supplies and/or reduce class sizes. But there's always money for building a new football. After my parents retired to Sacramento in the 1990's, my father drove me around the county and showed me all the new football fields that the schools were building. It was so shameful.

Successful and fortunate crime is called virtue. - Seneca

Working...