Stephen Wolfram: No Need To Teach With 'Toy Programming Languages' Like Scratch (wolfram.com)
theodp writes: From Stephen Wolfram's blog post announcing the Wolfram Programming Lab: "It's a very important — and in fact transformative — moment for programming education. In the past one could use a 'toy programming language' like Scratch, or one could use a professional low-level programming language like C++ or Java. Scratch is easy to use, but is very limited. C++ or Java can ultimately do much more (though they don't have built-in knowledge), but you need to put in significant time—and get deep into the engineering details—to make programs that get beyond a toy level of functionality. With the Wolfram Language, though, it's a completely different story. Because now even beginners can write programs that do really interesting things. And the programs don't have to just be 'computer science exercises': they can be programs that immediately connect to the real world, and to what students study across the whole curriculum. Wolfram Programming Lab gives people a broad way to learn modern programming — and to acquire an incredibly valuable career-building practical skill. But it also helps develop the kind of computational thinking that's increasingly central to today's world." So, when it comes to programming education, are schools hitchIng their cart to the wrong horse?
Guy with profit motive thinks his pricey programming environment is better than one that is free.
Obviously no language can be serious without a high price tag and draconian licensing restrictions.
Teaching "how to program" to the general population isn't about teaching a practical skill.
Just like Math, the point is to get students to understand Logic and Reasoning skills.
Similar to how P.E. class isn't meant to teach children how to play dodgeball, it's about making sure they understand the importance of being active, and know various ways they might be able to enjoy that.
If a "toy language" is more approachable, go for it.
-- 'The' Lord and Master Bitman On High, Master Of All
I'm sorry, but in the world of instant gratification and kids already used to highly graphical and immersive games from a very young age, writing a program that 'outputs hello world' or having to learn to use some framework or library to do anything 'cool' is not going to engage 5,6,7 year old kids.
For these age groups, these kinds of graphical block programming languages are very much helpful in that they actually engage the child. I have not played with Scratch in a while, but the exercises on code.org are very engaging, very awesome and they even show you the JavaScript code that would be produced as a result. I think they even have some pure JavaScript exercises now too.
It's easy to say that we all learned on real languages and it was good enough for us, but much as I hate to say it, we grew up in a different time with different expectations on what a computer program should/can do.
I think there's a flawed premise, that there must be outreach to those not particularly inclined to do programming of their own volition.
I think that certain popular offshoring destinations demonstrate the result of such a strategy. There are good developers in those geographies, but the signal to noise ratio makes it tricky for a business person to tell the difference up front. I know in my experience, the 'cheap' flavor of offshore developers have been 5% immediately proficient (those will be gone in a month to get a better paying job, whether they move or not, people who underestimated themselves or had to take a filler job between good jobs), 15% will get to that point over half a year or so (and then get a better paying job, effectively those fresh out of not-much-better-than-high-school education and this is their first real world job). The other 80% of the cheap labor that US companies love so much either just aren't wired for the work or just don't care enough. They approach their job with all of the enthusiasm of a retail store stocker or grocery bagger.
XML is like violence. If it doesn't solve the problem, use more.
I wish people would stop quoting that. First, it's junk and second it's incredibly out of date. The quote is from 1975.
BASIC in 1975 was not very good.
BASIC by 1982 was much much better. BBC basic (first released in 1982) had simple structured programming with named procedures and functions, local variables and etc. By 1987 BBC BASIC had acquired proper blocks, and was quickly followed by QuickBASIC in 1988. Those are the only ones I know of.
The glib quote about BASIC has been out of date for approximately 30 years.
SJW n. One who posts facts.
Programming is not a building block.
Were you ever told to study or take notes in school? Do you know how to do either of those? Think before you answer.
Did you know organization aids in memorization? Did your teachers tell you rhythm and rhyme increase the ease with which you can learn something, or only leverage that fact, most likely thinking they were adding entertainment to keep a class full of distracted kids attentive?
Surely someone tried to feed you acrostics. Even engineers know this one.
What about mathematics? Are you still counting on your fingers and carrying the two? If you memorize your multiplication tables (by brute force) and practice using a Japanese 4/1 abacus, you can immediately compute arithmetic operations in your head. Memorize a simple system of numerical storage (Dominick's, Mnemonic Major, number shape, PAO) and use a digital computation algorithm and you can keep three registers straight while you compute infinite digits in any square root in your head faster than you can write or voice the numbers.
People think too much about goals and not about foundations. They also think children too stupid to understand anything complex, instead of thinking about how people think. You would think folks would say, "Hey, we can describe memory to children in great technical detail, because a child will stare at you blankly, think for about four seconds, and immediately recognize the mechanism you've described!" Instead they say, "Associative? You want to tell children memory is visual and associative? They're not going to understand that! It's too complex!" It's ludicrous; it's like claiming you can't tell a child teeth grind up food and wet it with saliva so it can safely transport down the esophagus to the stomach. They bite a chicken nugget, chew, swallow, and feel it move, and immediately understand what you're babbling about.
As a result, we don't teach children to learn. We force them to learn by whatever means necessary, but give them no tool to drive information into their minds. We don't teach them study methods, note-taking methods, or deliberate practice; we don't teach them any concepts of executive function or mnemonics; and we even avoid showing them highly-structured, systematic approaches to basic mathematics, under the assumption that children cannot handle structure and require a sort of free-play type of classroom learning.
Children need to start with a basic study of the mind. First a brief overview of memory in function, including a high-level overview of the neurology involved and an introduction to mnemonic devices, but excluding mnemonic systems. Then an explanation of leveraging human memory through systems of study and note-taking, like SQ3R and the Affinity Diagram device. These provide the easy foundation to ingesting new information.
Once you've transferred these, you can teach and apply deliberate practice and executive function. Deliberate practice is a method of technical, goal-oriented practice producing constant and immediate results: you recognize your weaknesses and focus on those, while trying to judge if you're improving. Executive function includes a broad array of loosely-related behaviors, notably in eliminating distraction, managing time, and orga
Support my political activism on Patreon.
With all due respect to Dijkstra, that's a load of crap. I'm from the generation of programmers that learned basic on their Commodores, Tis, and Ataris... The difference may be that I was motivated to learn on my own, but there's a whole generation of older, very well established and learned programmers out there from my age group that started with BASIC. And make fun of BASIC all you want, but I've seen Visual Basic, and while it's not my choice, it's a workable object oriented language that I've seen some pretty complicated and impressive programs written in.
Stupid sexy Flanders.