Slashdot Mirror


Drag-and-Drop "CS" Tutorials: the Emperor's New Code?

theodp writes: Teaching kids computer science is a great movement," writes HS senior David Yue, "however, to overly dilute the magnitude of the difficulty in regards to the subject area of coding and to create the illusion of mastering a 'superpower' (Code.org) is a huge mistake. There are many videos and articles on the Internet these days that have demonstrated positive support towards computer science education. Below these articles, one can find many comments, left mostly by parents and supporters. These people usually express how proud they are that their children have an opportunity to learn computer science or how proud they are that computer science is being integrated at a more substantial level into the education system." But Drag and Drop Doesn't = Coding, argues Yue. "Parents and teachers today who aren't technical need to be aware that the drag and drop code or the candy-coated learning process does not effectively teach children programming but eventually causes a huge amount of shock once they are immersed in real code." Yue's Emperor's-New-Code warning comes days before President Obama — a graduate of Code.org's drag-and-drop Disney Princess coding tutorial — asks Congress for $4-billion-and-change in the upcoming budget to fund his "Computer Science for All" K-12 initiative.

7 of 158 comments (clear)

  1. Re:Visual vs wall of code by mh1997 · · Score: 5, Insightful

    It shouldn't matter how the code itself is created. You can code the same thing in any number of languages in any number of code types. If the kids don't know what loops are, what case statements are etc, then they'll still suck at "coding" even if you are dumping a bunch of text based functions on their head.

    You are correct. Not only that, the learning objective with drag and drop might be colloquially called "coding" but in reality it might be to teach the logic of problem solving and the logic of coding using graphics, yet still having something that either works or does not work at the end of the project. Thinking logically before putting fingers to keyboard is a skill that needs to be learned - seeing the working project at the end is motivation.

    Lego Mindstorms is an example of this. Drag and drop the objects, have the robot do something and then troubleshoot why it did not work (both hardware and software). Then build on success. As you become more proficient, you can solve some pretty complex problems. When the problems become too complex, you can move into a variety of actual languages to either solve a previously unsolvable problem or solve the problem in a more efficient manner.

  2. Assertions without evidence by Anonymous Coward · · Score: 3, Insightful

    So many assertions. So little evidence. Maybe drag and drop helps. Maybe it's worthless. If you're not referencing a study, hush. The plural of "anecdote" is not "evidence".

  3. Re:I disagree by Hognoxious · · Score: 3, Insightful

    Of course you're right. The problem is that a lot of these courses are hyped to a laughable extent - equipping tomorrow's workforce with the marketable skills to compete in the information economy, gubbins gubbins gubbins....

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  4. Re:What's the viable alternative? by mikael · · Score: 3, Insightful

    Parents just want to make sure their children "get into computers" because that is where the money is (working in IT compared to working at McDonalds). Computers are programmed, so therefore their children must learn "computer programming".

    With high school education with BASIC, the teachers would start from scratch, introduce variables, arrays, strings, input and output, arithmetic, for/while loops, conditional logic, and each of those topics would be covered in a week. At the end of the course, you would be lucky to have got onto drawing graphs in ASCII. At the same time, the business community would make sure that you got to learn about mainframes, batch processing, punched card, magnetic tape and databases.

    At home, the programmable toys in the past were BigTrak\and some robots you could build with technical Lego. With computer software, there was Logo and printer/plotters. The first thing anyone did was to run the supplied tutorials or copy some code in from the instruction book. Then they would combine bits from the different tutorials to make their own programs. Eventually, they could write an entire program from scratch once they knew what all the different commands would do. Local newsagents would have racks of computer magazines with guides on sprite programming, MIDI sound programming, generating mazes, player-missile graphics, how to connect sensors, weather stations and just about anything else.

    It would make more sense to give students a catalog of home learning kits and let them order a couple for free. Anything taught in schools at a regimented pace is going to bore some students, and others still won't be able to keep up.

    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  5. piquing curiousity vs Dunning-Kruger by Anonymous Coward · · Score: 1, Insightful

    Piquing curiosity of kids and developing more well rounded and computer literate populace seems like a good idea. But there's also a risk of a bigger society-wide Dunning-Kruger effect, where we have a society people who think they are much more tech literate than they really are.

    Whether that balances out for the better or the worse, I don't know. But I'd rather we didn't focus so much on coding, as the tech skills one needs to survive in the modern world. Understanding public key cryptography. Good security practices. Basic conceptual stuff that can help them exist in a world of technology even if they aren't programmers. Then, the ones who want to go on to a CS career can be given opportunities to learn assembly language, CPU architecture, compilers, algorithms, and so on, to develop a foundation usable for a programming career.

  6. Glue it, internet it, breach it by raymorris · · Score: 2, Insightful

    > on one side of he scale and bits and pieces that require just gluing

    Some gluing together projects are useful. People did some good stuff with HyperCard and shell scripts. Shell scripts are a great way to glue pieces together.

    What has changed is that now almost all software is on the internet, where they are attacked 1,000 times per day by script kiddies with tools that automatically looking for gluey buts. So shell scripts are now called "remote code execution vulnerabilities ". This is a real problem.

    In many fields, including electronics, hardware, pyro, etc there are two classifications of materials and technicians: standard and "life safety". Standard equipment is labeled "not for life safety applications ". Sometimes I think software (and programmers) need a similar distinction: "can hack together some code" vs "internet exposed ".

  7. why isn't drag and drop coding? by superwiz · · Score: 3, Insightful

    More importantly, why isn't it learning to code? Who said that text is how instructions have to be given on how to generate compiled code? And anyway, typing is not really coding. Only putting holes in punch cards is real coding. It's even more effective and has more reuse than text. You can use the same card or reorder cards around if you want to create a new algorithm. Oh, but, the historical coincidence of the widespread typewriters and emergence of electronic controls existing at the same time is what "programming" must be? Well, I learned to program from comics which had lessons and posed challenges. I wrote programs by hand on paper long before ever seeing a computer. Was that "coding"? Because most people around me thought that not writing a program out on paper and checking it before inputting it into a computer created bad habits in programmers. It made them too lazy and impulsive. It produced programs which had too many bugs. Sounds familiar?

    --
    Any guest worker system is indistinguishable from indentured servitude.