Wednesday, May 08, 2019

Johnny... Janie and Jamal still can't code... though Ivan can.

Are we in the West -- and especially the U.S. -- losing our ability to innovate or command the central technology of our era? The news seems filled with stories about fiendishly clever Russian hackers and tricks embedded in Chinese hardware, while Silicon Valley firms desperately seek immigration waivers to import foreign coders, because young Americans appear generally clueless about skills that we invented.

There are serious problem-solving efforts out there. One is CSforAll, an endeavor that emerged from Obama's Office of Science and Technology Policy (OSTP) that aims to increase the fraction of young students who are at least exposed to concepts of computer programming.

Now you know this is a pet peeve of mine. Folks are still reading and arguing over my infamous Salon article "Why Johnny Can't Code" which pointed out how BASIC and other introductory languages had quietly vanished from PCs.  (That essay got me more hate mail than even my denunciations of that horrible green oven mitt named Yoda.)

To be clear, I was not singing praises to BASIC! Rather, my target was textbook publishers who - during a ten year window - included TRY IT IN BASIC exercises in math and science and other curricula. Teachers all across the nation assigned as homework little 12-line programs at the back of say a chapter on Newton's Laws, or population biology, or geometry. And every student did them! Because those who didn't have an Apple or TRS-80 at home would find one in the school library or computer lab.

Those little weekly exercises introduced hundreds of thousands of kids to the simple notion that an algorithm can make pixels move across a screen.  And some got enthralled.

Only then publishers stopped including those exercises in textbooks, even as computers flooded every home! Why? Because most students with computers lacked any reliably consistent programming language (PL). Why did included PLs stop? A short-sighted cost-cutting measure? Some misguided wish by IBM to undermine Apple, or vice-versa? We may never learn. 

Nowadays, BASIC, Python, Squeak and several other simple languages could be included trivially, without burden on manufacturers, heck even on our phones!  And textbooks could once again include turn-key, simple, introductory exercises that teachers assign, luring millions of youths into trying their hands at programming. 

And yes, I think it's that simple. Homework. 

== A few bits of good news ==

I suppose the best outcome of all the hoorow over my “Can’t Code” article was that somebody went out and simply solved the problem! -- that is at its most-basic level. A fellow who read my essay thereupon created a cool and easy and accessible Basic site, offering a simple and obvious entry and display system. This one seems to offer the complete package. Accessibility via any mere browser, ease-of-use and instant applicability to simple textbook exercises. Quitebasic is instantly ready to use. See: http://www.quitebasic.com/  

In other words, textbook publishers could, in theory, use that one website to offer teachers programming homework. Of course, I am dreaming.

I'm still hoping that the mavens at Apple, Microsoft, Dell and so on would meet in the public interest, and agree upon a set of perhaps five very simple, introductory programming languages that can be included in their standard operating systems, so that students around the world might have access to the world of computing. How hard would that be? One meeting. Then a public announcement and a challenge to textbook publishers and teachers. Absolutely golden public relations, at virtually zero cost.

== Trying to explain it another way ==

I remain amazed at the low hanging fruit that lies so easily within reach, that no one seems to even glancingly notice. An endeavor to get the next 30% of students doing at least some programming. 

I've struggled for a decade to make a simple point clear, and have come to realize that this simple point seems impossible for very smart people to grasp. (Even now, half of you are fuming, thinking I am praising BASIC. For the rest of you, what follows will be reiteration, so?)

Here's a different approach. A comparison of two eras:

The 1980s &1990s                                                          
Teachers used to assign simple programs as homework, not just in AP classes, but in regular math, physics, chemistry, biology... even in Junior High. Those simple, ten line assignments gave millions of students at least a little exposure to what a program is... how pixels move because of algorithms.  And millions did it. Because it was homework!

 2019
Today, teachers only rarely assign creative programming homework.  What changed?

The 1980s &1990s                                                          
Teachers of physics, chemistry, bio, stats and so on could assign simple coding homework because the assignments were included in textbooks, with support explanations and teacher guides.

2019
Today, almost no Middle School or High School textbooks contain coding problems that illustrate concepts from the previous chapter.  What changed?

The 1980s &1990s                                                          
 Those textbook publishers knew only 50% or so of kids had a computer at home, but most schools at least had a computer lab the kids could use for simple assignments.

2019
Today, almost all kids have immensely powerful computers of many kinds, yet textbook publishers long ago stopped including coding examples/assignments, because students are LESS able to follow such simple assignments than they were in the 1980s and 1990s!  They haven't the tools!  What changed?

The 1980s &1990s 
Every kid who had a home computer -- or access to one at school -- thereby had access to the same, simple programming language. BASIC. It was so universal that textbook publishers were confident that most kids and teachers could find a way to get some simple example assignments done. "Try it in Basic."

2016
Today there is no common, shared lingua franca introductory programming language.  Very few home computers, laptops, tablets, game boxes or phones carry one at all!  Or it is buried deep and hard to find. Or it must be downloaded from the web along with complex instructions for installation and activation. A bewildering array of languages, variations, implementations and instructions has left only truly dedicated young people able and willing to plow ahead. 

Sure, for those enthusiasts, it is a golden age, a cornucopia! Modern endeavors like CSforALL will do well by those kids.

 But no textbook publisher will issue assignments amid such a maelstrom! And what most of the folks doing CSforAll forget is that those old homework assignments were what exposed millions of young people to at least a taste of programming!  Homework assigned by teachers not of CS but teachers of physics, chem, stats, bio and so on!

Hence my complaint about CSforAll.  It tries, admirably to develop FUN(!) ways to attract smart young folks into CS!  Yay! It should work great for the 80th to 99th percentiles.

But there should be CS for those in the percentiles 50-to-80, as well.  And those kids will not do it unless it is assigned, in small chunks.  That happened in the 1980s and 1990s!  It could happen again.

How to fix it?  The following could be done rapidly, at almost zero cost.

1. Convene a meeting of just six parties:  Apple, Microsoft, Google, IBM, RedHat, Dell.  (Okay some more.)  Arm-twist them to agree to offer 3-5 standardized educational programming languages on all platforms. Using perhaps 0.001% of their available memory capacity.  Python, LEGO, BASIC... Let them figure it out with advice from educators.

COST: Almost nothing for the meeting. Arm-twist them to meet. Almost nothing for the companies to implement - maybe two FTEs each for 6 months. Could be done before the President leaves office. 

2. Then convene a meeting of textbook publishers.  Apple, Microsoft, Google, IBM present the 5 standard languages.  Arm-twist textbook publishers to include "Try it in Basic" (or python etc) exercises in physics, chem, stats, bio books, so teachers will then assign simple, fun homework, exposing millions to a light does of programming.

3. That's it. Period. No followup needed.  No institutions or budgets or follow-through. No way Congress or anyone else can sabotage it. That's.... it.

And yes, I hammered the simple point repetitively, from many angles. Sorry. But maybe it's important enough.

95 comments:

SFMama said...

My husband wrote a web based Logo tool a while back. Perfect for teachers and students! If anyone is a teacher with questions, feel free to reach out.

https://calormen.com/jslogo/

Joel said...

And MIT has Scratch, a drag and drop language which is included on every Raspberry PI. The online community at scratch.mit.edu is doing amazing stuff - look at the Minecraft clones or the Falcon booster landing simultion!

Jon S. said...

Point of order. During the 1980s (at least - I was away during the '90s, and have no direct experience of that period) the school district I was in didn't have a "computer lab" or computers in the library, for the simple reason that the funding wasn't there. You had to get the homeowners of the district to vote to raise their taxes in order to improve funding, and that wasn't happening, so the district could barely keep up with necessary repairs and occasionally adding a "portable" classroom to an existing school because they certainly weren't building any new ones.

I can't imagine that the experience of the Orting School District was unique, either. The nation is dotted with small districts, often with rapidly-swelling populations, that simply can't keep up with new developments because the money isn't there. (My children attend Bethel SD, which is currently struggling desperately to keep the overcrowded main high school from collapsing due to neglect. They do have some computers for student use - most of which use CRT displays. They simply can't afford anything better. Don't even ask about the quality of their library.)

Mike Will said...

Dr. Brin: You wrote "Why Johnny Can't Code" !!!
I read that years ago in my halcyon pre-stroke days, and it was quite formative. So much for author recognition. Small world. BASIC wasn't just for kids. Scientists and engineers actually wrote code back then. First principles are the key to understanding. Hyper-specialization is the bane of scientific thinking. Polymaths are our most rare and precious asset. Of all the species now teetering on the brink of extinction, this is the only irreplaceable one.

I wrote several BASICs, LOGOs, and of course FORTHs in my Bohemian Left Coast days (Vancouver in the 90s). I came close to buying a fairly popular LOGO, but the lawyers got in the way. Seymour Papert is/was a great hero of mine. If you get some scotch into me, I talk for hours on computational thinking, the Raspberry Pi, citizen science, and the salvation of humanity via FORTH.

I hate modern scripting languages. They are cut&pasting a road straight to Hades. Squeak (Smalltalk) and Scratch (post-Papert MIT) are exceptions. Minecraft is the most promising TBI rehab tool I've ever seen (it certainly worked wonders for me).

I quipped earlier about Steve King's 8 trillion bullets being no match for 8 quadrillion transistors. Someone commented that those were apples and oranges. That was exactly my point. And with ORNL's Frontier computer, we are now actually entering the exascale era. We have forked into a very surprising alternate future spawned by Mary Shelley and Alan Turing. What hath God wrought indeed.

Watching Rick Perry trumpeting science at the Frontier announcement ceremony yesterday was the perfect snapshot of an asymptotically schizo America. Sigh. How do you stage an intervention on a beloved older brother who has ten times your size and strength? Time for another pull of tree sauce.

BTW the 'pull of tree sauce' comes from the intro of Canada's AI Revolution

Calculemus!

Scott said...

I think the focus on platform programming languages is missing what has happened with platform-independent computing! Every student with the most rudimentary internet access can code in multiple common languages, including a very basic javascript using free websites like codepen.io and many of those are designed to be used in an educational setting!

Google provides free scripting connected to a spreadsheet via Google Sheets and Google Apps Script which can do extraordinarily powerful things. Or just print "Hello World" in cells A1 through A1:A32767.

The burden is on the textbook publishers, not the PC and OS manufacturers here.

Anonymous said...

Stephen Kotkin on “Trump and Putin? What in the World Is Up?”
https://www.youtube.com/watch?v=Ot4OPfWZubMa

Jerry Emanuelson said...

Nearly every time David writes about this subject, most of the commenters completely miss the point. A truly common and simple programming language needs to be right there on nearly every computing device.

I've spent my career as an electronics engineer, mostly dealing with hardware. When some form of BASIC was included with virtually every computer, I was frequently writing small programs for my own use for fairly simple tasks. I also wrote some rather complex programs (for those days) that were used for years by my co-workers and me.

As soon as BASIC stopped being included on personal computers, my programming came to a dead stop. Except for occasional trivial software tasks, I haven't done a bit of programming since. I could always take the small amount of time and effort to go get another programming language and learn how to use it (or even go out and find some form of BASIC that would work), but it has just never been worth the trouble.

If that happened to me as an electronics engineer, just imagine what it is like for a school kid.

country mouse said...

I know many people that are trying to make a midcareer change. They were tradefolk and would like to move into programming. I've taught a few of them but the problem is they are usually over the age of 35 and they can't get anyone to talk to them let alone hire them. Many of the developers in my network are in their 50s and 60s. They would still like to work but not the crazy developer hours they had when they were in their 20s and 30s. These are top-notch people who really know the core foundations of software development. They have the management skill, the discipline, etc. but again, they can't get anyone to talk to them.

Yes, it is important to build the next generation but we are wasting tons of talent just because they are not the 22-30-year-old young men we've come to think of as a developers. I believe that if we could break industry ageism, there would be no talent shortage.

Personally, I was a developer for close to 20 years. Repetitive motion damage wiped out my hands and I was dumped from the industry because "I couldn't do anything technical because my hands don't work". I didn't let their definition of what a disabled person can do limit me (too much). It took a bit of work but I've reinvented myself thanks to my polymath-in-training skills.

All it takes is opening your mind a bit and we have a much larger pool of potential candidates.

David Brin said...

Some anonymous twit in the last comment section recommended this video of a speech by a Republican court intellectualat Yale that I tried to wade through -- a tedious morass of "Yeah sure, Trump is awful! But liberals are no better because of ... emails?"
: Stephen Kotkin on “Trump and Putin? What in the World Is Up?” https://www.youtube.com/watch?v=Ot4OPfWZubMa

Another damned intellectual whore whose assigned job is to give disgusted Republican students just enough rationalization to not rebel for the sake of a saner conservatism. Among the howlers: "We won the Cold War."

Bull! It is becoming clear that the KGB, which ran things in the USSR, saw its collapse as an opportunity to refresh its weapons, especially memes. Dropping hammer & sickle symbols and Marxist incantations - because they were never able to suborn the American left - the VERY SAME skilled conspirators made themselves billionaire-mafiosi oligarchs and cozied up to the American Right... and took it over without firing a shot.

It's the same Cold War, EXACTLY the same set of enemies using the same building and very similar tactics. And anyone who says we "won the Cold War proves thereby they are either clueless or else Kremlin shills.

Larry Hart said...

Dr Brin:

...proves thereby they are either clueless or else Kremlin shills.


They can be two things. :)

Erin Schram said...

BASIC was the first programming language I learned, back in 1977 the first year when my high school offered a computer programming class. Computers were for school and work and dedicated hobbyists in those days. I did not gain a home computer until the mid-1990s when a friend gave my family an obsolete model that ran Microsoft DOS 3.

Now that I am retired, I rely on my home computer. I have been teaching myself Python to perform some mathematical modeling for my data science research. Python is not as simple as BASIC, but it has the machine learning libraries I want. And I recently took advantage of a Humble Bundle sale on O'Reilly Python books--that bundle still has 4 days left for anyone interested: https://www.humblebundle.com/books/python-oreilly-books.

Python has a good chance of being the lingua franca scripting language for the next few years. I heard that Java is the most common introductory language in the schools, but I could be behind the times. Visual Basic updated BASIC to a modern language a few decades ago, but does that still count as modern?

David Brin said...

Jerry E gets it. For 15 years I have tried to get people to see that it's about getting execises back into textbooks and homework, so EVERY student will taste simple programming. And 99% of the people who read my essay immediately leap to tout their own favorite program.

Dig this. ROM is cheap! Apple/Dell/etc could agree in ONE DAY to install a shared BASIC+Python+logo+Scratch on every device any kid would ever own. At which point teachers could again say "Make a pixel move by tomorrow." Or "Graph a mouse population" or whatever. It's NOT about WHICH language!! It's about offering a situation textbook publishers and writers can't ignore.

It's... oh, this is hopeless. I give up.

Mike Will said...

ROM is cheap, but not as cheap as RNA. Concatenation is the way computation is done in nature. It's almost trivial to implement it anywhere, anytime, on any device or any critter. Understanding concatenative programming is almost trivial. It doesn't even require a computer. Counting pebbles is concatenative. An abacus is advanced equipment. Anthropology is worth studying.

Zepp Jamieson said...

I took a computer programming class some 35 years ago at my local junior college and learned BASIC. It took me a while to figure out what I was doing (it's all logic exercises, but logic framed in a different manner from the sort of logic we were used to in those antediluvian days) but by the end of the course I was able to write a program that could play Yatzee. It wasn't pretty (text based, for starters) but it was functional, and I was immensely proud. I think BASIC is a good learning tool for kids curious to know what's going on in those devices.
Linux does have some fairly decent teaching programs for coding which are quite easy to install, and the BASH will be available on Win10 this fall as it will incorporate the Linux kernel. Which means a simple sudo apt-get will allow kids access to a lot of tutorial programs.

Zepp Jamieson said...

Jill Stein comes to mind.

yana said...


(previously) Larry Hart thought:

"The 1930s movie The Adventures of Robin Hood is a favorite example."

Eeeeps, there is no fate, but one would be a fool to ignore a ridiculous amount of coincidence. I read that message 19 hours after you posted it. 10 hours after you posted it, had a F2F conversation about the various Robin Hood films (Flynn's was 1938). I maintain a movies-to-watch list, and 17 hours after you posted, was looking ahead and discovered the Errol Flynn version of Robin Hood is only 16 films away... on a list i began churning through in 2014. And then 2 hours later, read what you said.

Have a friend who swears that this sort of thing is synchronicity for some heretofore unknown 'reason' but, i know that people are hard-wired to see patterns. I know it's just coincidence. But still... what a doozy. Just in case, gonna bump that movie up some slots!

yana said...


David Brin thought:

"Today, teachers only rarely assign creative programming homework. What changed?"

The priesthood. First, DEC programmers suddenly became worth a lot of money. Lots of cash flowed just before Y2K. This was not missed by MS. Soon, MSDev conferences quarterly, and "homespun' CSIGs were mined for talent. IBM jumped right in, and a handful years later, Apple and Google too.

The operant idea in all 4 was to get talent into your "house", onto one track, one progging paradigm. Reinforcements: access to betaware and perks, aka emoluments, in tandem with a vast system of esteem-building awards, aka certifications. In effect, each progging house seeks to make its own cadre of coders into a priesthood.

The same through history, anytime a priestly class gains position, it seeks to limit access. Put acolytes on a treadmill of certs, and limit the disruption of blacksheep prophets. In this atmosphere of competing dogma, is it any wonder that wise educators have backed off until the progwars are settled?

The only thing that's missing today is the full-size keyboard. Progging is just about at the point where it can be done with a GUI, which is well suited to the computer every kid owns: the phone.

Just make a simple block arrangement game, where the blocks are modules of code in both euclidian and fractal geometry. Place the blocks, tap MAKE, and you get an image. Instant pleasure-center gratification. But each block, when tapped, opens a GUI for modifying its own internal parameters, with a button at the bottom labeled EDIT CODE.

Three layers to the game, there is still always the fun of playing it as simple eye-candy, but for each level of fascination there is an option to dig a level deeper. It's not homework, that's such a 20th century idea. Instead, it's funwork. Every single time they tap MAKE, it is an image which has never existed in all of history, it's ownership of concept, for kids. The further they learn about modding different parts, the more amazing images they can create.

You're right, only half will monkey around with GUI parameters, and under 10% will try to learn the coding. But that 10% will come from all groups, social and ethnograpic, a perfect mix for diluting a priesthood.

Anonymous said...

Knowing PL do not help and do not counts as "literacy" anymore.
Because there is lots of them. And one need to know actual techs: how your browser works, how your Android/iOS apps works, etc. And this damn techs changing with each damn year.
CS is not the pinnacle of techs anymore.

Anonymous said...

I grew up programming in BASIC and Pascal. Python is better as an introductory programming language than BASIC in every way I can think of. It's easier to write, read and understand, offers a much richer set of tools to draw on, and is available on literally any machine capable of command-line operation. (Why would "manufacturers" have to get involved? You go to http://python.org and push the download button.) If our kids can't program, I sincerely doubt it's because of a bad language option. (If you want to see what kinds of cool things young kids can do with Python, check out my friend's Snek project , which enables middle-schoolers to do robotics with compute hardware that makes the Apple II look quite impressive.)

Is it lack of tutorials and exercises then? Nope. Our amazing World Wide Web offers all of these in fantastic profusion, mostly really well done. Is it lack of mentoring? Unlikely — every large city in the US now has user groups and service organizations, part of a network of programming-literate people working in local industry.

I'm going to posit that the main problem is the measure of success. Like most of us in that era, I wrote some simple games, some software to help some small businesses with simple calculations, etc. To everyone around me, it was damn impressive that a high-school kid could do that stuff.

The barrier to building software that will impress your peers and mentors is just huge now. We are a completely jaded culture when it comes to software. The payoff for "learning to program" is 5+ years out from when you start, when you've finally learned the huge number of things about computers and programming that you now need to do anything that looks cool — probably 100x what I needed to learn. Things like First Robotics Lego are a partial incentive, but the kids who are honest with themselves know they are playing in a child's sandbox. Nobody in that age group wants to feel like that.

I sincerely doubt, by the way, that Ivan can program either: I will venture that the US still has the highest percentage and the highest absolute numbers of young programmers of any country in the world. The drive to recruit immigrants is driven largely by the same motives that any industry has: to get people who are desperate enough to work cheaper than they deserve. I also sincerely doubt that a smaller percentage of young people are programming today than in 1975. Actual numbers would be welcome; all the information I can find indicates a steady upward trend.

I dunno what the path forward is, and don't have more time to speculate right this moment. I have to get back to prepping to teach the huge flood of college undergraduates swamping our CS Dept right now, as they are every competent CS Dept in the country. It would be nice to have more resources for that effort; not so sure I'm worrying about how to feed more kids into our pipeline this week. We are implementing selective admission this Fall for the first time in our Dept's history; we will be rejecting more than half of applicants by two years out if current trends continue.

Oh, and one last thought: I'm not sure about this world of the "1980s and 1990s" where K-12 course textbooks routinely included programming exercises. Again, I'd have to see some numbers to believe it. My son and I grew up in this time frame, and I've mentored countless kids — this is the first I've heard of this. As someone who instructed HS and college kids throughout that period, I'm afraid I believe I'd have noticed.

Anonymous said...

The cheap shot at the OLPC XO in the Salon essay is unwarranted. I was involved with the development of that computer and own two. It failed because the hardware was ambitious and the creators weren't good enough to make it work reliably. We will thus never know how the XO experiment would have turned out. The XO certainly had programming facilities shipped Day 1: both Scratch and Python were supported. Indeed, most of the user-facing software was written in Python and explicitly set up so that users could "peek under the hood" and play with the implementation. The explicit intent of the mesh networking was to make it possible for kids to be able to write networked programs without any supporting infrastructure, which was a pretty cool idea. There were a lot of cool ideas in that laptop, which failed because the damn thing never worked right.

Anonymous said...

I get the opinion about having computer science algorithms in textbooks, and that the enormous complexities of modern-day computers and computing create such a high threshold to entrance that only determined people get to go beyond the surface using of the computer.
Windows and Apple and mobile devices interfaces while comfortable hide the underlying command-line power and understanding too, I see it in the new programmers I hire and train that they are less comfortable going bare-bone than us old farts.

But looking back to my other old-fart IT people acquaintances, and to the scores of kids and young adults and adults I trained in IT skills over the years, while not having the back of an actual scientific study and so being limited to personal experience and anecdotes, I venture a slightly different hypothesis.

The difference between most of the people that become good IT specialists and those that never go beyond a basic "user" perspective is passion, the fun that some people get out of solving problems that other people would consider only head-ache inducing.
Before getting to put a single finger on any computer keyboard, as a kid, by playing with lego bricks and meccano and similar games I already had a modular kind of thinking that I later found extremely useful to deal with computers.

And in my experience, a great share of computer programmers have that kind of background, of having loved some kind of quite "brain-stimulating" game well before coming to computers.

After all, playing is the way nature teach mammals everywhere how to practice the skills they will need later in life, so playing at some game that generate modular logical thinking will generate the kind of positive feedback that will make dealing with those problems a pleasure instead of a chore.

I taught to many primary and secondary schools kids the basics of how to use a computer, and also some basic programming (using actual basic, just fyi).
As long as the kid is reasonably smart, the understanding of the techniques and of the details is usual not a big deal: the biggest obstacle I met was usually the interest in getting any result at all. Some of them got why it was exciting being able to control what it came out of the computer, most of them, even the smart ones, simply wanted to launch as soon as possible a game more stimulating and more polished than anything they could ever conceivably create and not think anymore about it.
You could improve a bit the outcome by finding something they were passionate about and show them how programming could help them improve their experience, but it still did require the presence of passion and finding a short effort-reward causal chain to go anywhere.

One thing that helped with kids because it can deliver amusement and useful results quickly is dealing with the one programming language that any computer anywhere have at immediate disposal: the webbrowser, with its javascript and html interpreter.
Without needing any complex tool,. but simply by opening the browser console (yes, you've to know how to do it, but it's few key presses and does not require installing anything and no great practice to start to see results).

Using it, the kids can either do programming tasks on a white page, doing anything you could do on a old style command-line programming language and quite more, or even interact with actual websites, and this they like: they can pull pranks, they can modify websites they know to get funny results, they can make their own pages to share with friends and so on... in my experience, once you manage to actually get them interested by having fun, and willing to spend effort to get results instead of simply dive into pre-made fun, the complexity of the tools they have to deal with after that is not a big deal.







Anonymous said...

Trump is awful! But liberals are no better because of ... emails?"
: Stephen Kotkin on “Trump and Putin? What in the World Is Up?” https://www.youtube.com/watch?v=Ot4OPfWZubMa

It continues for 2 hours. And that is all you found interesting to comment?

Anonymous said...

Some of them got why it was exciting being able to control what it came out of the computer, most of them, even the smart ones, simply wanted to launch as soon as possible a game more stimulating and more polished than anything they could ever conceivably create and not think anymore about it.

This. Very much this. Computers are taken-for-granted tools now, not minor wonders, and their embedded software (including the internet, which is functionally embedded) way more capable than it was in our day.

Anonymous said...

I would also add that even in the '80 and '90 the amount of people (even highly intelligent young people) that was into computing in any degree at all was really really small.

I went to high school in the late '80 in the most prestigious school of my (admittedly not super-large) city, that had an innovative and much trumpeted around CS program, and a state-of-the art computer lab.

Being an European "liceo", not a general purpose high school, it was a school where most were a relatively selected bunch of students wanting to go to university, liking to study, considering being smart and having high grades being a cool thing, and having absolutely no prejudices against nerds, if anything having some against jocks.

Still, in all the nearly 2k student population, the "computer club guys", the only ones that gave a damn about computers outside getting good grades in the relative class (were the teacher knew less about them than many of us), were composed by about 10 people.

When we had the yearly "after-school student-self-organized" month of extra curricular lessons, only about a further 20 people decided to join the computer special course we organized, instead of choosing more appealing courses like the ones about cinema, music, archeology, or other such topics...

And honestly, like some other people said in previous posts, I don't remember any textbook at all (apart of course the one for the computer science class) to have anything related to computers, and certainly no programming code snippets (and I've to say, considering how few people had access to computers, it would have been quite limiting... sooo many of my schoolmates came to my house to do computer science homework because I was one of the few having a non-work-related non-videogamey computer at home and so having the chance to test the code before going back to school).

Gabriel S said...

Went to Bethel growing up. Things never change, I see.

jim said...

It is not that I disagree with better CS education, it is just that I would prioritize other changes first.

1) much more physical activity integrated in the school day for students.
2) every school should have a gardens (and maybe chickens) that are cared for by the students and provides them with some of the food they eat.
3) Students need to be involved in the preparation of meals and their clean up.
4) Fully fund and support music, art and theater classes.

In other words
more training of the body
gardening to teach responsibility
Cooking to build community
The arts for creativity and enjoyment

Anonymous said...

You forgot military training, jim. ;)

livens909 said...

I think you are spot on with your comments about simple coding languages being removed from Windows lately.

I'm an 80's kid and learned some basic DOS commands from playing old games on my brothers Atari 5200. He was in High School at the time and was the president of the 'Computer Club'. He would bring home boxes of 5.25" disks loaded with bootleg arcade games. To get them to run you usually had to load up DOS in drive A, then run the game from drive B. Later on I started learning QBasic. I spent hours writing little programs, 10 PRINT... 20 GOTO... just simple stuff but very exciting back then.

Now a days kids that age use computers (or more lately use devices) to just watch YouTube or play games. There is nothing on modern PC's/Devices that would require the user to do anything more than click 'OK' on a popup window. On one hand the user experience has been greatly simplified, on the other hand the people using them are completely ignorant to how any of it works. Its all magic to them.

Microsoft does offer some great programming languages... C# is my favorite and I use it extensively at work. But compared to DOS or Basic it is profoundly more complex. Even for a simple 'Hello World' app you need to install a few things (not to mention the need to compile it) and the language itself is much more complex. I feel like this puts a barrier up that would prevent a 9 yr old from getting into it. So much more exciting to just fire up their XBox and shoot stuff up :).

Darrell E said...

I share David's lament, though I think one or more of the Anonymous commentors made some good points. My HS was fairly well appointed and created a Programming class with about a dozen TRS-80s. No one on staff new much about computers but our Calculus teacher volunteered to teach it. It was like play time. A friend and I learned quite a bit on our own and the teacher would come to us for help. It wouldn't have worked if he were not an exceptional teacher. He was more than willing to learn from us.

An excellent complement to the programming side was an Electronics class my HS had. Each student worked at their own pace. I went about as far as anybody ever had in that class. The most interesting thing I did was learn the basics of designing integrated circuits, the final exam being to design a simple IC. This entailed learning things from Hexadecimal to Karnaugh Mapping, and of course gates, and really gave insight into both the hardware and software. It also enabled me, as a HS student, to catch a flaw in the timing circuit of a telemetry tagging timing system TRW was designing for the Air Force, though it turned out to be only a "typo" rather than an actual design error.

I later learned Fortran 77 in college, but that was about as far as my formal programming education went. Other than that I never studied CS in college and my work has never had anything to do with CS, other than using computers as a tool. But that background has stood me in good stead my entire life. I've composed extensive software for several of the companies I've worked for and I still use stuff I authored to this day in my work. Though I am admittedly way out of touch with the current state of programming (for one I never really made the switch to OO languages) that background based on BASIC learned in the early 80s enables me to understand computers much better than the average user. Hence, I'm partial to David's point of view on this.

Anonymous said...

To be able to do what our host talk about in a post. No need to know programming today. Only how to google.
Because there is numerous sites where is snippets of code in every possible language. Like http://rosettacode.org/wiki/Rosetta_Code

But that snippets is useless. Because to make something for very tiny bit useful one need to understand frameworks -- C# .NET framework for Windows, Qt for Linux, iOS, Android...

And by the time any of current schoolboys will complete to learn all this... programming already will be doing some artificial neuronets in Google data-centers. So why bother?

matthew said...

Sanders and AOC are now pushing for post offices to supply basic banking needs. Blurb in Bloomberg todayhttps://www.bloomberg.com/news/articles/2019-05-09/aoc-bernie-sanders-credit-card-interest

Anonymous said...

Trump is awful! But liberals are no better because of ... emails?"
: Stephen Kotkin on “Trump and Putin? What in the World Is Up?” https://www.youtube.com/watch?v=Ot4OPfWZubMa

Well. I re-watched it all, and know what? found no use of word email even. Well, symptomatic.

David Brin said...

Our anon visitor keeps pushing that absurd, deceitful treasonous lying swill Kotkin again. Seriously. “If we subtract California and New York, Trump wins the popular vote, yippee!”

Go ahead, subtract us! We generate half of the nation’s wealth. Throw in Massachusetts and We have half of the great universities and research and problem-solving skills. We subsidize Red America, but Kotkin caters to the War of Resentment against all that by “real Americans.”

The most divers, knowledgable and thoughtful parts of the country, who are leading the nation out of the horrifically stupid War on Drugs. Subtreact those states, sure. They are aberrations vs the real America of obesity, addiction, domestic violence, gambling, teen pregnancy and every other turpitude. Right.

Yes Kotkin goes on for 2 hours! It took a totally wasted 15 minutes of frustration for me to listen past all the “Now of course Trump is awful” crap, as this shill desperately attempted to shore up his credibility, before he started in on rationalizations for why young conservatives should hold their noses over Republican turpitude and treason and stay loyal to their masters one… more… time.

“Well. I re-watched it all, and know what? found no use of word email even. Well, symptomatic.”

All right, we have an imbecile visitor. Let’s be tolerant. Um, sir? The entire purpose of that absurd-stupid howl was to say “I know we republicans are awful and US conservatism has nothing to show for it. But *everybody’s terrible and lib’ruls are just as bad.”

But they’re not. These magical incantations are about keeping you hypnotized and not realizing…

…that American conservatism has been hijacked by casino moguls, carbon barons, oil sheiks, mafiosi, Kremlin oligarchs and madmen. Watch the Kotkin tape again! This time listen for a whirring sound.

That’s William F. Buckley, spinning in his nearby grave.

David Brin said...

Back to the topic... Cripes, do none of you (except Jerry) grasp the power of homework? Get the upper 50% of 8th graders to copy in six twenty line programs and see the pixel move, or make a population chart or predict the path of a ball, and you have changed five MILLION lives.

Seriously, our kids had TRY IT IN BASIC programs in several texts and it was already too late for teachers to assign them… we had to buy a commodore 64 for 75$

Anonymous posters should sign with a moniker. It is basic courtesy and it means you don’t get associated with other anon fools.

Zepp Jamieson said...

Entanglement Up in Blue
She was working in a quarkless place and I stopped in for a queer...
http://www.astronomy.com/news/2019/05/could-quantum-mechanics-explain-the-existence-of-space-time#.XNIDD09CsB4.facebook

Zepp Jamieson said...

Dr Brin quoteth: “If we subtract California and New York, Trump wins the popular vote, yippee!”

You don't understand. Votes from Oklahoma or Montana count, but votes from California and New York don't, because constitution freedom other stuff is for Trumpkins only.

Mike Will said...

Dr. Brin: our kids had TRY IT IN BASIC programs in several texts

That is exactly why I wrote an old-timey BASIC interpreter for the Palm computer 20+ years ago. I hoped that everyone would carry one soon. The Palm was invented by Jeff Hawkins, a neuroscientist, who carried a block of wood around in his pocket for a year to ruminate on how such a device might be used. Unfortunately, the smart phone soon arrived, in 374 non-standard flavours, and all people wanted to do was sift eye candy. Several scientific computer manufacturers did actually squirrel FORTH away in their ROMs (Sun was one), but they didn't promote it at all.

Sigh, it seems the world just wants to amuse itself to death as Neil Postman said. I know some people in Europe who continue the dream of a FORTH machine in every school bag.

Fun Fact: Who wrote the system/BASIC ROM for the Tandy Model 100? (widely considered to be the first notebook computer)

A: He was the richest person in the world before giving away much of his fortune to fight malaria and stuff.

Alfred Differ said...
This comment has been removed by the author.
Alfred Differ said...

Learning to program does a lot more than teach kids how to program. When I was in 10th grade, I took a Basic class and HS geometry. In the programming class, we blew through the material far faster than the teacher intended, so it quickly morphed into other languages and some IT architectural stuff. The teacher had to improvise to keep us interested. In the geometry class, we got our first exposure to two column proofs and Euclid. I could do the programs because they were essentially puzzles to be solved, but I hit a mental hitch in geometry. I could see why the next line in a proof was allowed, but I couldn’t see why the teacher chose the next statement instead of some other statement. In exasperation one day he threw his hands up and said ‘because it works’. Epiphany. That’s when I got that all of mathematics was the same kind of game. Ever since then I’ve never seen mathematics as explaining fundamental truths about anything. It’s just another language for model construction and puzzle solving.

Whether other people agree with me on the role of mathematics isn’t the point, though. The mental connection I made between programming and proofs goes to the heart of algorithmic thinking which no single teacher of mine had it as their task to teach me. While there are different kinds of proofs, one of them is like a recipe which makes it like a program. For example, we can prove there are an infinite number of primes with a two branch recipe described by Euclid. This recipe is something of a meta-program since it doesn’t actually produce the prime it proves must exist, but human brains can handle those meta steps in ways our computational hardware does not… yet. Along the way, one learns of different classes of logic too, why one might want to use them, and the interesting philosophical rabbit holes discovered.

Learning to program isn’t enough to walk that path, but it is a start best pursued while one is still young and mentally agile.


After note | I took more classes in college, promised myself not to become a developer after taking a COBOL class, and then I returned to coding (but not COBOL) in the 90’s when companies were throwing money at people for the skill. It’s been part of my career ever since, but that’s not the point. I kept a small computer with me through my poorest days in grad school and turned to it to solve certain problems for which I had to write a program. Whether it was a quick statistics routine to producing grades or messing around with an Ising model, programming remained one of the tools in my tool belt. I got rusty at times, but the hands remembered the shape of the tool in time. That shape remained a part of me.

David Brin said...

Yes, motivated people can learn programming in many ways. What I am talking about is EXPOSING 5o times as many kids to at least the very BASIC concepts of using 20 lines of code to move pixels... they will never look at a screen the same way,, they will know the dots obery algorithms. And if 10% then go a little farther, then we win.

David Brin said...

Cripes, Kotkin tries to claim that Democrats use the military and hence are just as bad. Yeah. Dems like surgical strikes with special forces, of the kind that got bin Laden. Bushes sent in vast armies that devastated regions, betrayed Iraq's shiites and sent them into Iranian arms. And we're supposed to avow: "all sides have their faults."

Bush Sr. sent "advisors" to Yeltsin who helped commissars to steal most Soviet state enterprises into personal oligarchies. But does Kotkin mention any of that, when he talks about us blowing the end of the Cold War?

This is a monstrous rationalizer and anyone who nods along while he weaves these incantations is a flaming imbecile.

Larry Hart said...

yana:

Have a friend who swears that this sort of thing is synchronicity for some heretofore unknown 'reason' but, i know that people are hard-wired to see patterns. I know it's just coincidence. But still... what a doozy.


I don't ascribe supernatural causes to such coincidences, but I do enjoy contemplating them. Back in the 90s, a comics writer did a mini-series about a bow-slinging hero who was an obvious Robin Hood homage. He noted that a new Robin Hood movie had just come out, and that the very idea of Robin Hood seemed to be ascendant in the national consciousness at that particular time. Sometimes, the times themselves call for certain images to be on people's minds independently of each other.

Or it could be as ex-CIA operative Malcolm Nance likes to say, "Coincidence takes a lot of work."


Just in case, gonna bump that movie [The Adventures of Robin Hood]up some slots!


If you like that kind of thing, you'll really like it. It's one I watch every few years, and it resonates more when dealing with tyrants is in the social consciousness. Same with Soylent Green. As I said in the previous post you replied to, I especially like this one because there are multiple crises and resolutions over the course of the movie. You're not just sitting through 90 minutes of filler waiting for the climax to present itself.

locumranch said...


I remember when Data Entry was the future of computer science, yet no one seems to mention it anymore. Why is that?

Once there were Data Entry schools everywhere that advertised on matchbook covers, park benches, magazines, comic books & the tellie. There was an insatiable demand for data entry specialists; it was the career of the FUTURE; and, most importantly, anyone could master this indispensable discipline with dedicated effort, persistence & the 'power of homework'.

It no longer served a purpose is why.

The automation of computer technology moved on, making data entry largely irrelevant, plus (1) it was exacting work, (2) it paid shit wages and (3) foreigners with low expectations could do it faster & cheaper.

Yet, here is David talking up computer programming as a sustainable high-paying career for the average joe. It's the FUTURE, he insists, much in the way that others once insisted that that stenographers & chimney sweepers were the future of industry.

I understand David's motivations -- I share them even -- but forcing youngsters to learn computer programming makes about as much sense as forcing them to operate a slide rule or a horse-drawn buggy.

Did I mention that I own a horse-drawn buggy? :)

Best

Nerdsniped said...

Thanks for the note on "getting a moniker". I didn't realize I had an option that gave me an identity but did not require an email address. Computers are hard.

Ahcuah said...

Regarding such coincidences, Mark Twain beat you by over a century.

Take a look at "Mental Telegraphy: A Manuscript with a History".

https://books.google.com/books?id=Su6fx7suSIMC&pg=PA42#v=onepage&q&f=false

There is also "Mental Telegraphy Again".

https://www.mtwain.com/Mental_Telegraphy_Again/index.html

Tony Fisk said...

It occurs to me that "low hanging fruit" are of no interest to people who sell ladders.

Modern OS's wrap the underlying hardware tightly away from the user. It was a standing joke at the time that Windows turned "hello world" into a full blown thesis! Then again, peeks and pokes are not a good idea now that viruses have evolved. Still, I agree that access to the display would be useful for training.

David wants a simple training language embedded in the computer. Convenience definitely encourages play in the early stages. Still, it's not difficult to obtain a standard language online for free (doing so is a simple training exercise in itself.)

Python is one such. In addition to its already lauded praises, the Idle editor provides a great sandbox environment for non-graphical exercises. Also, dynamic typing means you don't have to mess about declaring what's what.

Graphics? One simple way to "draw that pixel" these days is via browser and some html + SVG. (Heck, I could write it here, but it would scare the blogspot editor) Moving it needs a bit of JavaScript.

David Brin said...

Nerdsniped, you seem likely to be a welcome addition.

Note that again and again my rationale for wanting millions of kids to sample just a dozen or so simple programming homework assignments is clearly stated. This time, it's not just locum who has trouble (as always) grasping the point, but a majority.

I believe people who have even one time built an algorithm that made pixels change and move, on command, has a chance to be changed forever in looking at this screen-obsessed culture. Knowing "I could make pixels move too, if I wanted to; it's not magic."

Yes, being able to set up a program that takes in population or height or ball trajectory or whatever data points and turn them into a plot is also a valuable lesson. Moreover, claiming that an awareness of such things is like "buggy whips" is insipid. It is more like knowing that steel comes from rocks and gasoline from ancient trees, an awareness that empowers, at least a bit.

Anonymous said...

David Brin said...
Our anon visitor keeps pushing that absurd, deceitful treasonous lying swill Kotkin again.

Well... now I see your real attitude toward fact-users.

duncan cairncross said...

I would go further than Dr Brin - IMHO it would be very useful if all kids were introduced to a number of things

Basic Woodwork
Basic Metalwork

Just MAKE a few things!- even if they never do anything as adults they could do with the simple understanding that making stuff gives

Anonymous said...

...very BASIC concepts of using 20 lines of code to move pixels...

Well, if you'd teach them on example of some outdated hardware, like rarity Apple II or so.

Because modern computers have much more levels of indirections before you can "move the pixel".

Most commonly it's some OpenGL engine and bunch of special platform-specific libraries.

Well, out there lots of "teach the children" software, that emulate that old hardware and outdated approaches... but hardly someone who learned such stuff, can be regarded as knowing something modern and perspective.

David Brin said...

Anon #1 - "Well... now I see your real attitude toward fact-users."

Fact users? Or incantation-peddling patent remedy salesman-hucksters? The fact that you cannot tell the difference is pathetic. And it underlies why you buy into a cult that wages open war vs all fact professions.

Anon#2 - Good point. Though Website-based emulators give you an old-fashioned, simple experience. Again, look at Quitebasic.

Guys, please SIGN your anonymous postings with a consistent signature-monicker. Clearly one of you is a thinker and the other a fool. I'd like to be able to classify. It's what cro magnons do.

Anonymous said...

Bit of computer literacy.

When you post web links like http://www.astronomy.com/news/2019/05/could-quantum-mechanics-explain-the-existence-of-space-time#.XNIDD09CsB4.facebook

The needed part is only http://www.astronomy.com/news/2019/05/could-quantum-mechanics-explain-the-existence-of-space-time -- is proper hyper-text address

Because all after #, ? or other symbols(?) is just some web-server/browser additions one do not need (and even it could be dangerous, if it contain your id or something)

Well, except for links like https://www.youtube.com/watch?v=Ot4OPfWZubMa
because here it promptly asks youtube to provide some video -- and Ot4OPfWZubMa is "address" of that video.

inquiring_mind said...

David Brin said...
Anon #1 - "Well... now I see your real attitude toward fact-users."

Fact users? Or incantation-peddling patent remedy salesman-hucksters? The fact that you cannot tell the difference is pathetic.


Well, guy who started to learn that particular field in 80x, become professor, have written several books, etc...
have much more credibility to be an expert in the field, isn't it?

Or how it works from your point of view? Just interesting.

fizz said...

-> "This time, it's not just locum who has trouble (as always) grasping the point, but a majority."

Dr. Brin, some may have trouble grasping your point, but many other are pointing to you quite a lot of reasons in this case your idea may be a bit of an "armchair general" one, simplistic missing the problem.
Listen and practice your own citokate: you're getting a lot of feedback and I don't see you addressing many of the point that have been raised (not talking of course about the political and ideological rants of some...).
I don't know if you've ever taught to a class of children (teaching to your own kids does not count: the relationship, the lifelong training you gave them and the attention you get from and give to them is different from the one that can be had in a classroom), but the

Yeah, lowering the barrier to entry for young coders is not going to be harmful, that's for sure... but also not especially useful, especially compared to the necessary effort.
And to assess that, you can't simply throw out brilliant golden bullet ideas that, as a side note, require massive standardization and cross-industry collaboration and the related massive expenses (because, don't kid yourself, this would be massively expensive: have you ever witnessed from nearby the bloodbath that's the process to reach a standard between different teams, not even talking about different rival companies? I've headaches simply thinking about it.).

Pedagogy *is* a science, with studies, publications, trials, and measurement of grade of success.
I'm not a pedagogist myself, but I've practical teaching experience and actually I write software for schools and pedagogists and over the years participated in many studies on this or that new approach to teaching, collaborating with universities, schools, ministries etc.
There are quite a lot of very smart people that try and assess what does work and what does not, because before implementing some new method in any large scale, you've to do the scientific thing: check if it *does* work or not.

In the studies I've participated, some related to CS while other more general, the enemy to defeat have been always the same, in a battle that's becoming harder and harder as time goes on: getting the kid attention in the first place. Once you've got it, and the kid is motivated, the battle is practically already won, the kids on average are pretty smart and adept at using tools much more complex than we adults would think possible.

One of the most successful programs I've witnessed used Lego mindstorm to teach programming: *that* got the kids attention, and oh how they were able to think applications that befuddled even the teachers... but copying some rows of code form a page and moving a couple of pixel on a screen?
I don't know, it may work.
I strongly doubt it, according to my admittedly limited on-the-field experience and the few studies I've seen, but it may work.
But before implementing a multi-industry wide revolution, you should do a scientific study with all the bells and whistles to check if it does really work.

Anonymous said...


It will NOT work. You with some pedagogical background. But I am, from actual IT.
Current programming become much more complex then "moving pixels". That stayed in old times. In 90th.

Current program need to use OpenGL or equivalent for graphics. Must rely on numerous additional frameworks and libraries. Up to date ones. Because anything that become compiled last year -- gravely outdated.

And knowledge achieved in "moving pixel" is not applicable to anything real.
Do you know about functional programming for example? More and more today toolsets adopt it.
So anyone who would be teached BASIC would be incompetent and laughed at, and have hard time trying to adopt.

Mike Will said...

Dr. Brin, you're right about it not being about the choice of language. Especially today, when silly language wars rage among an entire zoo of scripting languages that are 95% identical to each other. Programming manuals should replace their cover pics of Aristotle and da Vinci with Bozo the Clown (tm).

Educators sometimes hold up an ideal of knowledge as having the kind of coherence defined by formal logic. But these ideals bear little resemblance to the way in which most people experience themselves. The subjective experience of knowledge is more similar to the chaos and controversy of competing agents than to the certitude and orderliness of p’s implying q’s. The discrepancy between our experience of ourselves and our idealizations of knowledge has an effect: It intimidates us, it lessens the sense of our own competence, and it leads us into counterproductive strategies for learning and thinking.
– Seymour Papert

It's about man-machine symbiosis. BASIC was great when it had line numbers that encouraged one to plan and trace program execution. Kids would actually get inside the computer's mind and explore. Then came structured, object-oriented, declarative, parallel/distributed, and functional programming (I've spent my life learning them). They obliterated that symbiosis, turning these huggable pets into ponderous black boxes that no one fully understands or communes with anymore. Computation/memory implants might change all that. I expect the first successful ones to be written in FORTH. If they insist on Python or Javascript, a new kind of psychosis will probably arise that will make Frankenstein look like someone just having a bad hair day.

The road not taken was syntonicity. Seymour Papert tried mightily with LOGO (I think he might have fallen in love with the 'turtles all the way down' meme). A better choice is FORTH, the original general-purpose concatenative language. Or even no language at all (again, we fixate too much on languages). Perhaps just an appreciation for natural, vectored, concatenative processes (eg RNA->Protein translation) would suffice. The time for kids to learn programming has come and gone, but the time for them to learn computation always has and always will be here. It's the most dynamic, powerful, fundamental branch of physics. The universe is a realm of computation and evolution. Everything else is stamp collecting.

Doctrine must give way to bootstrapping, which is anathema to school boards. Computational thinking isn't primarily about computation, it's about thinking. The basic principle is simple: always be ready to apply an algorithmic approach to problem solving. The real trick: algorithms are NOT formulae. They are much closer to living systems - they can incorporate feedback, improvisation, and primitive AI (but they don't have to). Actually, I've never used the huggable pet analogy before, but it fits.

"To succeed, planning alone is insufficient. One must improvise as well."
- Salvor Hardin

locumranch said...


The individual who uses the internet does not need to code any more than an individual needs an EE degree to flip a light switch.

The distinction that David is trying to make between computer coding and basic woodwork, leather craft, agriculture & automobile repair is one of intellectual bigotry, the former being sophisticated, white collar, forward-looking, intellectually progressive & clean and the latter being common, blue collar, primitive, intellectually regressive & DIRTY.

Perhaps unconsciously, David has recapitulated the growing cultural divide between coarse Red Rural & sophisticated Blue Urban cultural sensibilities.

Johnny can't code for the same reason that Jamal can't pray the rosary, Janey doesn't stay pure & virginal until marriage, and David's sainted educators no longer teach penmanship, cursive script & calligraphy to school children:

These are skills which -- like calculus, music theory & buggy-whip manufacture -- are no longer thought relevant in our forward-looking, digital & largely urban society.


Best

fizz said...

By the way, the Finns have a very interesting approach that looks quite more likely to work, even if it's still lacking proper assessment:

https://www.theatlantic.com/education/archive/2017/02/teaching-computer-science-without-computers/517548/

By having the kids learn algorithmic thinking with practical activities away from the allure of modern computer highly distracting apps, they manage to really awake kids interest.

And by involving adequately highly trained teachers, it does have a larger chance to deliver good results...

It does remind me a bit of the Reggio Emilia approach (https://en.wikipedia.org/wiki/Reggio_Emilia_approach)


rwc said...

Well said. Friendly amendment, substitute “in school” for “homework”. There is a growing body of research that indicates “homework” adds little to educational outcomes.

Also, some are working hard on this like Hadi Partovi with code.org, etc.

🖖🏼

Anonymous said...

fizz, and other who know CS actually?

Do you know this Fred Brooks writing? https://en.wikipedia.org/wiki/No_Silver_Bullet

Problem with programming today is not in understanding algorithms, nowadays programmers do not write algorithms. They already written in countless libraries. But in capacity of mind to understand the whole architecture of program at hand.
And that cannot be trained.

raito said...

Dr. Brin,

Homework is currently passe. My children get virtually none. That's part of why programs don't get assigned. Because nothing does. And yes, I get the point. It's about the teaching, not the tools. And I even agree.

Back then when BASIC roamed the earth, there was comparatively little software available. Few publishers. No app stores. For many things, if you wanted it, you wrote it. Nowadays, someone else has already written it. And yes, the reason to reinvent the wheel isn't because your wheel is rounder (though if you think yours is, you should try). It's for the experience of making a wheel.

Your assertion that very few home computers come with any languages installed is garbage. Every computing device that comes with a browser and editor (and the ability to use file:// in the browser) has one. A very popular one. One that's fairly easy to use even though it's not my favorite. And at least as powerful as those BASICs you like. Can you guess which it is? (Jerry Emanuelson, I understand the point about it being right there. It is. But you're never going to return to the 8-bit days where BASIC was your shell.)

And Scott is correct that anyone with a browser has access to to many languages. Your arguments for including them on every machine simply doesn't hold up under scrutiny. Those with the interest bypassed the manufacturers at least a decade ago.

Anyway, if there were 5, what should they be (my opinion, of course)? JavaScript is already everywhere. Even though I despise Python (a truly wretched language with too much syntax), it should be one. C is available for darn near everything and decent enough for something compiled. Personally, I'd include an ANSI Common Lisp (when used functionally, it changes how you think about programs) and Lua (which should be more popular) (though Mike Will would say FORTH, and might not be wrong). Maybe Scratch, which I've used, but not enough to decide if it changes how a person thinks.

As for not singing the praises of BASIC, you've done that before. I recall you saying that it was good because it was 'close to the algorithm' (which is garbage. Those line-number based BASICS were quite poor at that particular thing).

Finally, learning to write programs is no more about being a programmer than learning music is about being a musician. Learning to write programs is important (on that we agree) because it changes how you think for the better. Just like learning music, or art, or math. Or even being literate.

Anonymous (whichever one you are -- I suspect multiples),

Those books did exist. One of my Computer Science PhD co-workers got started that way. And you got there first on which language is omnipresent. But I'm going to post anyway.

A.F. Rey said...

I think the more important aspect of Dr. Brin's idea of adding small programs to math exercises is that it introduces all students to conception of programming.

I mean, everyone has some fuzzy notion that computers are "programmed," but until you actually do some programming yourself, you really have no solid idea of how it's done and what it entails. You don't see how creating specific steps in a computer creates a desired output. You really don't have a true understanding, a "gut feeling" if you will, of the process.

So while introducing students to very simple programming in elementary school may inspire more students to pursue computers and programming, the more important aspect is that more students will have a gut-level understanding of programming and what it can do.

It's the same reason we want all students to study science and literature. Not so that they all go to college to major in science or English, but so that they are introduced to the concepts inherent in those fields. I think it was Alfred to said it a while back: when you are introduced to a new concept, it's not just a new idea, but a whole new way of looking at and evaluating the world. It shows you possibilities and aspects of the world you may never have imagined.

Anonymous said...

to raito

minor correction -- there is embedded languages that present in (almost) any OS or operational environment -- some command shell and batch file language, that by itself quite capable an par with any BASIC of old days.

many environment, like Linux, have plenty of PLs available just out of the box. even Win have VB.

and by no means, every computer with connection to internet can download and install ANY of PL you want just in couple of clicks.

So. That point about "PL need to be on every computer" is totally moot from the very beginning and shows only oblivious ignorance of certain someone...

matthew said...

@raito- Your experience regarding homework is diametrically opposed to mine. My daughter's former high school (one of the top 20 public schools in America) requires her to do a minimum 6-12 hours every night. In addition, as a magnet school they start school at 7am, requiring her to wake up before 5 in order to catch her bus at 605 am. All this dispite all current research that shows teens need 10-12 hours of sleep a night for proper brain development.
She pulled out of that program and is going to college early instead.

Anonymous said...

matthew
high school it is not place where you'd only start learning programming
it was not in old days and it is surely not today

David Brin said...

“Well, guy who started to learn that particular field in 80x, become professor, have written several books, etc... have much more credibility to be an expert in the field, isn't it?”

His field - abstract political-economy - is exactly that where magical incantations reign, especially those subsidized by power. Google my essay on another apologist for oligarchy, Feng Xiang of Tsinghua university who offers a similar set of “logical” arguments for why only a controlling communist party can guide humanity through the dangers (e.g. AI) ahead.
http://davidbrin.blogspot.com/2018/06/central-control-over-ai-and-everything.html

A fellow similar to Kotkin was Leo Strauss, who raised several score bright right-wing college brats to become the 1990s “neoconservatives” who rationalized why the US needed to become an empire. How’d that go?

In this case, anyone who does not instantly recognize Putin’s oligarchic Russia as a direct continuation of the USSR, which directly continued methods and cultural assumptions of Czarist Russia, is just waving smoke and mirrors.

But sure, I confess I didn’t watch the whole thing. When I saw the pattern — weaving hypnotic spells to keep students who are disgusted by Trump loyal to the oligarchy — I admit I wandered off. The second hour may have been gold! I doubt it.

David Brin said...

“Yeah, lowering the barrier to entry for young coders is not going to be harmful, that's for sure... but also not especially useful, especially compared to the necessary effort.”

Six homework assignments that SIMULTANEOUSLY convey a chapter topic in physics or math or biology — e.g. statistical variation or population biology — while taking a kid an hour to get experience using a computer to chart data… that is what you are calling a lot of effort. Feh.

“getting the kid attention in the first place.”

Again feh. That is the reason why homework assignments are key. I’m not asking to turn them into coders I’m saying if 30 kids do 6 little exercises, 5 may get really turned on, five more will say “It’s cool that I’ll be able to go back to that, some time,” And twenty more will say “I know why the pixel moves and how data becomes a chart.”

“Do you know about functional programming for example? More and more today toolsets adopt it. So anyone who would be teached BASIC would be incompetent and laughed at, and have hard time trying to adopt.”

And thereby you utterly proved you haven’t a clue what I am talking about.

(By the way, your grammar is cluing us in. I am wary and watching. The very instant that I suspect a problem, I will act.)

Mike Will, in contrast, gets it. And AFR. And Fizz added something interesting.

In contrast: “Your assertion that very few home computers come with any languages installed is garbage. Every computing device that comes with a browser and editor (and the ability to use file:// in the browser) has one.”

Charming, as usual, raito. And clueless. First, you know I showed QuiteBasic as a perfect web based BASIC emulator and if we had a dozen of those, they we could arm-twist textbook publishers. But you simply don’t get it. Access to the coding nexus on the computer must be ONE CLICK. If there is any complexity to getting at the emulator, then each step will lose you half the students.

Anonymous said...

Then to us the name of historian/politeconomist whom you believe, which is correct from your point of view, so I could compare and see what is wrong myself.

Because, you know how it look like, isn't it? There is two opinions:
one provided by some recognized professional, who speak calmly, provide facts and talk about it logically (well, at least from a first glance), encourage and actually answers questions(in that second "gold" part),
and... some opinionated name-calling provider.

Whom I must to listen to? From point of view of very basic heuristics about rational and logical thinking?

David Smelser said...

Since we are on the topic of programming, can someone point me to a good place to go to get a grasp of the concept of functional programming. I learned basic in the 80s and the little I use today is a little Visual Basic for applications (macro programming in Microsoft Office) and a little bit of powershell.

Mike Will said...


@David Smelser
Dangerous question, your first few steps can alter your course dramatically.

For myself, I took a very mathematical path: Haskell
There's Learn You a Haskell for Great Good!
I used Haskell as the functional language in my 2011 Future Psychohistory piece. Alonzo Church was like a mathematical Isaac Asimov.

However, Haskell is the deep end of the pool. Beware.

fizz said...

Dr Brin, you "feh" my arguments, but you don't really address my points.

First of all the effort I was talking about is achieving your original plan: modifying all major operating system and all major text-books to include the required starting situation, not the actual effort for the kid.

You dismiss it as a "no cost at all" situation, I, having dealt professionally with those same actors in other situations and knowing a bit more of the technical realities underneath, I'm saying that achieving that result in the real world would be extremely expensive and take a lot of concerted effort.

From the technical point of view, for example, to show some but absolutely not all of the problems involved, I will list some of the challenges and decisions that would have to be taken to achieve the initial conditions of your idea.

Let's call this new software provisionally brinbasic, or BB in short.
BB should be a low level software, with a standard universal keybinding, because it must be always quickly reachable from anywhere on your computer, because as you yourself said every additional click does halve the number of kids that reach it.

The first problem you’ve to deal with is that most computers have already most of their keybindings occupied by other software, and programs are usually free to remap them, and adding some dedicated hardware key to keyboards would create a nightmare in terms of dealing with legacy hardware and suppliers.

So, let’s scratch the keybindings and go with a clickable icon. In that case, either it goes with the other system program icons, and so it does become not quite so obvious to find, or you do have to put some serious limits to the configurability level of modern desktops. I
If you go this route, you will have to deal with all the legacy software that rely on that freedom to manage the desktop, by either breaking compatibility or forcing them to adapt their software.
Historically this is a painful process that generate a lot of backfire from customers and have ripple effects all around.

But ok, let’s say that if the icon to launch BB is only mostly in the same place on all Oss and a bit less obvious is not such a big deal, and let’s go on.

Still, you’ve at this point put a new standard easy to reach code low-level integrated execution interface in a wide range of systems.

This is a very tempting attack vector for virus and malware writers, as similar interfaces have proven in the past, so you’ve to ensure that BB is properly sandboxed and innocuous.

It can obviously be done, but it does require additional resources and assigning further resources over the life of the hosting operating system to keep it updated and check that new features do not interact catastrophically.

Of course, you’ve also to design a proper release cycle of the sofware in legacy versions of the OS, because otherwise if you’ve to wait for the natural computer replacement lifecycle, you’re going to deal with a very spotty presence for many many years after the decision, especially nowadays when the replacement rhythm of PC is very much lower.

Add to this the fact that you’ve to have first some panel decide and formalize a single standard, because if you start to have only mostly compatible dialects it will be very frustrating for kids and editors, and then properly verify that the implementations developed by the many industry actors, and that these panels often tend to become a quite argumentative place.

And at this point, you can move to the editors and their textbook authors, a group of people notoriously collaborative.

[part 1]

fizz said...

[continues]

Can all this be done? Of course! Everything listed here have been done other times. But its a definitely non-trivial effort, that would need some quite compelling reason to justify the expense.

This would require a proved benefit in return, so that the effort can offer if not an economical at least an image return. And a proved benefit require a proper scientific study and the relative fact-based evidence behind it. And even simply collecting this evidence (of this I’ve some quite painful direct experience) require in itself a surprisingly large amount of time, expense and effort.

And that’s for the first “feh”.

About the second “feh”, again I ask you if you had some direct classroom teaching experience doing this with kids (again, warning that our own kids do not count, because the experience ss totally different), and if the numbers you wrote as an example have any real life experience and study behind them.
Because even if your talent as an orator would undoubtedly help, according to my own real life experience, I would bet on muuuch lower interest returns from the experience you describe.

Please note, I really do think that teaching algorithmic thinking to kids is a worthy effort, and that a simplified development environment is an help in this goal.
I do also think that basic is a bad teaching language, but that’s not the issue with the plan, really, at the level kids should start to practice this way of thinking any language would be fine.
My issue is on the way you think it should be pursued, and also maybe a bit of disappointment with a rational thinker and enlightenment advocate like yourself proposing such a grandstanding emotional solution instead of a proper science and evidence-based approach, and dismissing professional opinions from people that do work in that sector.

Now, maybe I’m mistaken, and you’ve already talked with some pedagogy experts from some university department, and you’ve already started to probe some of your silicon valley colossi contacts, and soon a test trial will start in partnership with some experimental school and a team of willing teachers and classes to assess if there is any increase in interest in the topic by applying this approach, and with the results it should then be possible to advocate for a nationwide application of it and start the political process of persuading the industry to embrace the project.

If you’ve not, well, that’s the approach you should take, otherwise it will remains mostly a slightly inflammatory pour parler…


P.s. for David Smelser: this link (https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536) seems to be a decent tutorial, it does use Javascript for its examples, and that can be easily tested in a tool like this (https://jsfiddle.net/)

TheMadLibrarian said...

It's been years since I've done any programming, although once upon a time I knew BASIC and FORTRAN. Recently I decided to try using a Raspberry Pi to build a simple sound and light box. Constructing the circuits isn't difficult, but I will have to learn a new programming language to build my night light, because the programs I would have used previously to control it don't compute any more. At least the logic is still in place.

If curious, it was promoted as an April Fool joke gift, but this is what I'm looking at making:
https://www.thinkgeek.com/product/ivmt/

Mike Will said...

Off-topic, but terraforming technology is cool. We'll need plenty of such tech to conquer the solar system.
96M Shade Balls in LA reservoir.

Or maybe not so off-topic, because this is exactly the kind of thing that scientifically literate and inclined kids would dream up.

David Brin said...

I am simply boggled by fizz’s “keybinding” silliness. It’s just absurd. A one-click app or program can do an emulator of any programming language allowing a well-instructed student to do simple exercises. Seriously, did you look at QUITEBASIC?

The emulator can be updated trivially with each OS. Quitebasic has needed zero changes across a decade and works on any browser. TODAY if influential folks made a fuss, textbook publishers could re-introduce little BASIC exercises using just QUITEBASIC. TOMORROW a consortium of Apple, Google etc could offer such publishers five uniform, cross-platform emulators so text authors could do this in Python etc.

All fizz is doing is demonstrating again how weirdly difficult this concept is for even smart people to understand.

“My issue is on the way you think it should be pursued, and also maybe a bit of disappointment with a rational thinker and enlightenment advocate like yourself proposing such a grandstanding emotional solution instead of a proper science and evidence-based approach, and dismissing professional opinions from people that do work in that sector.”

Which only proves you are so involved in your own emotional need to strawman that you are convinced you understand what you are arguing against. You do not, sir. Everything you say proves it.

Anonymous said...

...Access to the coding nexus on the computer must be ONE CLICK.

But it is.

On Windows: Press Win+R hotkey, type in "cmd" and you'd have access to console with quite BASIC-like PL. Or place it on your desctop as shortcut.

On MacOS/Linux: Can be a little diffrent, but basicly the same.

In either case you'd have Turing-complete PL (with ifs and fors) and basic arithmetics -- same as that old coprolite BASIC. But it even more capable, because from within it you can call any other program on your computer -- much more sophisticated ones, where you can do great stuff with just mouse pointing and clicking.
Much greater stuff that you can do with programming. Even better than super-star programmer could.
Because in that programs condenced knowledge of thousands if not millions... man-months. ;)

Anonymous said...

David Smelser said...
Since we are on the topic of programming, can someone point me to a good place to go to get a grasp of the concept of functional programming.


I didn't found one myself. Suitable. And still unsure that it is real deal and not some relatively long lasted buzz.

From what I understand from my own tries and talks with FP-people. It's all about removing "bad-bad-dirty" cycles and using "nifty" map-reduce instead.

But... I have no problem with using map-reduce at all. First hand. But I need to know how I can use it and what additional benefits (why'd you need to change, if it not boost you?) it can give for my tasks... and nobody of FP-people was ready to suggest something. "You need to do it yourself" they said.

Well. Ok. There is that new shiny thing I need to learn. Because? Because it's great. And you will feel yourself wise mathematician and not mere progger.

But... when it come to *your* tasks. You need figure it out yourself.

Ou'Key, I say. :))) I

fizz said...

Dr Brin, you say that I don't understand your idea. I really think I do, and simply think it's, well, not all that useful, especially seeing what's already out there, like the Quitebasic you name. You gloss over the practical side, the actual steps to put this in practice.
I tried to give a simple insight in the kind of problems there are to address in any large scale deployment of anything, but maybe they were a bit too oversimplified to really show what would go on, I'm an analyst, not a writer or an orator... and writing a proper analysis document would take me weeks, sorry, not going to do it..:-p

"All fizz is doing is demonstrating again how weirdly difficult this concept is for even smart people to understand."
Well, it's my business to understand and evaluate the steps to put in practice the customers requests, and in particular, if not exclusively, doing so in the educational world.
And I'm quite good at it: I've created a small but still quite successful company by doing it.
So there are two possibilities, either you are not managing to really explain your idea, or maybe I know what I'm talking about.

I notice you didn't answer my question if you've actual real-world evidence that your method would work, or if any professional that work in the teaching or IT world have sit with you and talked details and showed interest in doing actual steps.

But I give up: evidently you're quite attached to this idea of yours (it reminds me a bit the course of that other old idea of yours, that kind of social chat...). I started commenting because by falling exactly at the crossing of my two areas of professional expertise, programming and school stuff, and tickled my interest, that's all.
I will now go back to lurk and read with pleasure your articles about politics, science and other stuff.

Talk with other people on the industry that can make it happens, and persuade them it's a good idea, and if you'll manage to make it happens more power to you.
Heh. As you're always talking about bets about being right, I'm willing to bet a public apology that's not going to happen! :-p

(Sorry, a final disclaimer, I want to point out that I'm making this comment in a tongue-in-cheek mode, not a nasty mode... it's difficult to have the tone and mood come out appropriately while writing online, so I want to make clear that this and all my writing before have been done in the most lighthearted way possible: I was engaged in the topic, not angry, and any nastiness that may have come out of the writing in any point it was absolutely involuntary and as likely to follow from my imperfect mastery of the English language or my less than stellar social skills, in wich case I apologize. Ta.)

Anonymous said...
This comment has been removed by a blog administrator.
Jerry Emanuelson said...

A.F. Rey's earlier comment has the primary benefit of school kids learning to program a computer exactly right. It is not to make everyone a computer programmer. It is to help give everyone a fundamental understanding of how the world works.

Every school kid should learn to do computer programming at least to a level of complexity where the kid makes a dumb mistake that is hard to find. That way, they will understand something about the world that is all around them.

They will have some rudimentary understanding, for example, of what sort of thing may have happened when a Boeing software mistake apparently killed 346 people.

Kids don't need an engineering degree to turn a light switch on, but by the time they are 10 years old, they should have learned to light up a small LED through a light switch using a battery that they built from scratch.

Most people today are walking through world that seems like pure magic to them. This tends to inspire magical thinking. A basic understanding of how the world works can set a kid on a path to reason and understanding.

While there are still natural gas power plants around, I would like for as many school kids as possible to tour the power plant and get to peek in to see "the flame." (I hope that the big natural gas generators still have that little door that lets you peek in and see the enormous flame that is powering a city.)

For quite a while after a kid sees "the flame," that image flashes into the mind momentarily (although perhaps not consciously) every time that person flips a light switch. There is this brief, but lasting, realization of where their electricity comes from.

An understanding of the basics of reality can also give a person an understanding of the origins of fragility in a civilization. Once that understanding becomes more widespread, societies can become much more resilient.

fizz said...

(please note, i already said it but 8t bears repeating. Im not against teaching kids programming, algorithmic thinking and all that stuff, on the contrary, Im a strong advocate of it myself. And cross-training with other subjects is the way to go, like the finns do in that article I linked to previously.

My point is simply that, to achieve this goal, the proposed solution have a bad cost-return ratio because it underestimate the cost and misses the main current day obstacle in the process of teaching to kids. Thats all.)

Anonymous said...
This comment has been removed by a blog administrator.
Larry Hart said...

Bill Maher's suggestion to Elizabeth Warren concerning Trump's billion dollar losses in the 80s and 90s:


"Start calling him Broke-ahontas"


I will definitely be stealing that one. :)

Cormac Williams said...

Rather than comment on progrmming language wars I'm wondering if a good deal of this can't be handled with a little of our host's advised judo.

What would happen if California passed two laws.

1: Any social media website that stores more than a million records of Californian citizens shall make ALL information stored on those citizens safely available in an open formats for the citizen to download and check. The licence of the website shall require any software connecting to download citizen data shall be open source.

2: Any internet enabled consumer device sold in California shall have an open source programming language available to the user capable of connecting, verifying your identity, downloading from the internet, parsing text data and displaying the results.

Whilst there could be argument with the phrasing (I ain't a lawyer), with those two constraints in place I suspect there would be a flowering of interest in kids in downloading and parsing their social media information as well as the side effect of teachers knowing that kids have access to basic programming tools.

The actual choice of language is in some ways irrelevant as the websites and manufacturers are going to choose the cheapest and easiest options to integrate which are going to be current open source platforms and methodologies.

Regards,
Cormac.

Anonymous said...
This comment has been removed by a blog administrator.
David Brin said...

“On MacOS/Linux: Can be a little diffrent, but basicly the same.”

Which proves you do not get it. You haven’t the remotest clue what I am saying. And it is my fault. I cannot grasp why my point has been almost impossible to convey for 15 years. But it has been.

“Well, it's my business to understand and evaluate the steps to put in practice the customers requests, and in particular, if not exclusively, doing so in the educational world.”

Then you are very bad at the most fundamental tool of communication and argument, which is PARAPHRASING what you think is the other person’s position. I would bet you cannot paraphrase what I have been asserting. You have danced around it, but show no signs of having a clue.

You claim to. Prove it!

“But I give up: evidently you're quite attached to this idea of yours…”

No, you squint at me and claim I am obstinately clinging to a strawman of your own devising. Try… praraphrasing.

Oh, by the way. There isn’t a chance in hell that I would banish fizz for disagreeing with me this way. You are more than welcome here and our kind of bickering is just fine.

The unwelcome rage junkie who (alas) keeps returning where he is unwanted, is incapable of understanding the difference between argument and the volcanic hate that he spilled here. I allowed some of his postings that were neutral (even smart) this time. But I am learning that just encourages him to come back until the hate boils forth, yet again.

Get help.

locumranch said...


Universal education is as noble as it is ill-considered, the error being an equivocation between education & intelligence.

Most certainly, mandatory education may increase knowledge & decrease ignorance amongst the general population, but it in no way increases the prevalence of intelligence amongst the general population because knowledge & the ability to utilise knowledge (aka 'intelligence') are two very different things.

Stupid below-average people will remain stupid, intelligent above-average people will remain intelligent and (gasp!) average people will remain average no matter how many scientific facts, practices or theories you force-feed them education-wise because forcing a parrot to repeat poetry does not transform that parrot into a poet.

Do I really have to explain what the terms below-average, average & above-average mean in terms of intelligence, people?

Do I?


Best

locumranch said...


Nassim Taleb has a term for those of average & below-average intelligence who receive excellent educations: He calls them the "Intellectual-Yet-Idiot" class.

They're still idiots after a good education, except now they're idiots who are exceptionally well-educated.


Best

David Brin said...

Onward

onward

David Brin said...

Sorry, must, not, shoot tea from my nose with laughter!

"Stupid below-average people will remain stupid, intelligent above-average people will remain intelligent "

He keeps screaming at the mirror.


onward

onward

fizz said...

Ok, I'll fall for it and try paraphrasing your point to see if I got it. It's Saturday evening, and I've some more free time than usual to dedicate to this: the advantages of getting old! :-p

I thought it redundant because I did the paraphrasing it years ago when you presented this idea, or the first time, I disagreed with it, and you at the time admitted that I got it but I was still misguided in disagreeing.

Anyway: your idea, if i get it correctly (some details may vary), is that kids need to have an easy way to get exposed to a basic (in the literal and/or trademark sense: basic in the simple way, and likely but much less importantly Basic as the programming language) programming environment to be able, with the minimal amount of effort, to try some simple code, on their own, and start to form the idea that by giving simple commands is possible to have an effect come out of the computer.

This should have the effect to disseminate in a wide range of kids the first seeds of understanding on how computer works and how is possible to use computers to solve real world problem, awakening in at least a subset of the kids an interest in programming, and at least giving to all the other kids an insight on how computer works.

You would accomplish this independently from the quality of the single teacher by having a requirement of a widespread presence of practical universal basic program in textbooks of all kind of subjects, associated to the exercises used for homework, with the additional benefits of showing more clearly, in an algorithmic way, how the related subject work.

By having a standard interpreter in all computing devices, without requiring all the complex steps and the chaos of the necessary research of installing one or another of the wide plethora of programming languages and environments available on internet, you would ensure that any textbook example and any kid could quickly have a single point to start trying their homework exercises.

To have this single easy point of access to the coding command line like in the old times when dinosaurs, c64 and apple II roamed the Earth, you would like to have some kind of legislative intervention to make it a requirement form the main IT industry actors and textbook publishers so that the first include this standard interpreter in all the commercial OS distributions, and the seconds use that standard interface to supply their textbooks with the related standard exercises.

You judge that the required effort on their (the industry actors) part would be minimal, and so they would comply with it without too much squealing.

You also say that this would work because this is what was done in the past, and it was (one of) the main reasons so many of the '80 and '90 generation students went into IT successfully becoming good programmers and founding the related industry.
Also, that the reason right now we are having a lack of programmers does include the fact there is no more that standard language, so no textbook does include those examples of programming, and kids don't get the same exposition to these idea in a simple accessible way anymore.

Did I miss something fundamental?



David Brin said...

fizz, sorry to goad you into that. But sure, I knew you for an intellect more than capable of detailed paraphrasing. (Something that poor locum, nor our banished rage-junky, were ever able to do.) Moreover, if you were honest (truly) you would admit that the paraphrasing effort gave you a clearer understanding of what I meant. It certainly forced me to - in turn - read your response more carefully.

Clearer, but still imperfect (and discovering such imperfections is the second, huge advantage of paraphrasing.)

In particular: find for me where I demanded legislation or coercion!

A well coordinated jaw-boning from the top would easily (trivially) get Apple, IBM, Google, Dell, Red Hat and other players to send third tier guys to a one day meeting, out of which each might assign ONE FTE engineer to spend one month coordinating the trivial installation of five turnkey coding apps in all future OS upgrades.

One more FTE-month from each member of that consortium and there’d be a published guide to be sent to every textbook publisher, accompanied by a letter signed by the education secretaries of just California, New York and Texas, suggesting friendliness to inclusion of a dozen simple exercises that illustrate topic areas. Those three markets control textbook content, effectively, more than the US Dept of Education. (Thank God.)

And after all of that - your paraphrasing plus my correction, what is left of your objection? Teachers (or school boards) would have the option of assigning (or not) a few harmless half-hour exercises where kids see pixels move on command, maybe make Pong, and see how data that’s collected change a chart. And BTW, this would leave countless kids better equipped to engage in activities like LEGO LEague or First Robotics.

There is zero downside. Maybe a couple of hundred FTE *hours* contributed by super-rich corporations and a little arm-twisting, in exchange for hundreds… thousands… hundreds of thousands… millions of kids who grudgingly admit “well, that was kinda cool.” And “so that’s an algorithm.” And added thousands saying “I could do that.”

===
Only the rest of you take note! I knew fizz would do this! His paraphrasing and my partial correction were examples of how adults (even if a bit pompous and lectury) bracket and move toward understanding. I will come back her and read any response he makes. But still…

onward.

David Brin said...

Fizz, let me know in the current (next) blog if you respond down here. Or give your response briefly there.

Onward

Anonymous said...

locumranch said...

Nassim Taleb has a term for those of average & below-average intelligence who receive excellent educations: He calls them the "Intellectual-Yet-Idiot" class.

They're still idiots after a good education, except now they're idiots who are exceptionally well-educated.


Thank you loco, for giving to us your specie proper name. :)

Lorraine said...

The war against general purpose computing is real. That is why persuading PC vendors to ship computers in a ready-to-program state is an exercise in futility. It was standard equipment at the dawn of the PC era because the amateur coders were in effect adding value to the computers for free. Companies love tricking people into working for free. The idea was that the larger a platform's developer community, the more likely that platform is first out of the gate with the "killer app." Innocence, once lost, is never regained. This applies far more to industries than to people.