Sunday, March 07, 2021

Get kids coding again! Plus strange tech news. ...and a few harmless yuks...

Coming off the busiest four months of my professional life, soon I'll send my annual newsletter, laying out all the projects! (you can sign up to receive it via, or in comments below). Hope that helps explain my slow pace of postings.

Still... and so that you know it's not all politics, here's another civilization-boostin proposal that's not political! Everyone who pauses to understand it has admitted "Yes, that would work," multiplying by 10x or 50x the number of youths who try their hand at a little computer programming. And again, it will never, ever, even remotely be tried, alas. 

So I'll finish with a little tech miscellany.... and for those who hang around to the end... some lame attempts at humor!

== A pragmatic reform to get kids coding again! == 

Some of you recall my most-hated of all Salon articles: “Why Johnny Can’t Code,” about the disappearance of standardized coding languages - easily used by teachers and kids - from our computers and devices. However serious (or not) you deemed the problem - and I think it’s been devastating - the max solution would have been trivial. Apple, IBM, MSoft, Google etc could each ask ONE FTE employee to work with the others for one month and voila, there’d be simple, lingua franca, portable versions of BASIC, Python, LISP, Scratch etc. on every device any kid might own.

Why is that important? Think through why MILLIONS of kids did coding in the 1980s and almost none do now! 

It's simple: Back in the 80s and 90s, teachers used to assign simple programs as homework! Not just in AP classes, but in regular math, physics, chemistry, biology... even in Junior High. Because the assignments were right there in the textbooks of that era!

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 assigned! Easily 20 times as many students sampled line-level programming, in the 1980s adn 1990s, as do today. Bet me on that.

One month of one FTE effort to coordinate. With that one minuscule act by 6 companies, we’d then be able to ask textbook publishers to once again include “Program It” problems for each chapter - whether it be the population equation in bio class or simple statistics, or making a robot turn around… and half of the students in North America would get at least a few, brief tastes of programming. And then, for the rest of their lives, they’d know that every pixel on a screen, every swerve or a drone or a self-driving car, came from someone’s algorithm.

Short of that, I suppose the best outcome to emerge from all the hoorow over my “Can’t Code” article was that somebody went out and simply solved the problem! Well, sort of. He 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. Nothing to download...Quitebasic is instantly ready to use. See:  

Also, here’s a web-based Logo tool.

Now comes CodeGuppy! This type-in booklet contains fun JavaScript programs for young coders. Each page contains a full program, so you can share only one page at a time with a kid. 

But alas, all of these patches miss the point I've tried repeatedly -- with utter futility -- to make. There's no solution until all kids can access several basic languages on all devices. Something those Big Six companies could achieve almost overnight, at trivial expense. At which point "Try It" homework assignments will return and teachers will assign them. 

And that is how we'll get back a nation and civilization whose youths have at least had that crucial insight, that first taste of a power they might choose to develop.

== Interesting Miscellany ==

I promised some stuff... so...

An interesting essay on 1968 (you'll see lots of them, this year)... 

...though it leaves out most of what went on. My father was 40 feet away when Bobby Kennedy was shot. Not one week went by without some soul-testing event or some stunning piece of music. And especially the final coda of hope from the Apollo 8 image of our Earth... that seemed to say: "Here's all that matters." 

Augment the amazing human hand with a 2nd (prosthetic) thumb?

Elon is branching out. (When has that ever happened? ;-) Now... into comedy. He's been poaching staff from the Onion! I can't wait. The suspense is killing... oh, wait, I suppose I could ask. But no. Whatever it is, it'll likely be cool and fun.

Males… explained on SMBC comics.

The Shine Scanner has a patented 'Curve-flatten' Technology that let’s you “Scan A Book In 10 Minutes.” So maybe we won’t have to shred-whirl-scan libraries of books the way Vernor does in RAINBOWS END

An aside... Here's something weird. The 30-year-old CEO of Vancouver-based cryptocurrency exchange QuadrigaCX Gerald Cotten passed away in late 2018 — taking to the grave the passwords to crypto holdings worth about $137 million and which belonged to 115,000 QuadrigaCX users. The incident sparked numerous conspiracy theories: did the CEO fake his own death and run with the money?

== Finally... some... humor? ==

John Fugelsang on Twitter imagines an Abbot and Costello "Who's On First?" conversation between Donald Trump and Jared Kushner. (And sure, while we wait for healing to make them just go away, we can at least use them for chuckle-memes.) Oh, I just added the last half (below) just now, meself. With no intent to offend any ethnicity or person other than Trump! 


-What's the name of that guy who leads China, Jared?
-Xi, sir
-She? No, it's a guy
-A guy!
-That's his name
-Hu was the last one
-Who is the leader of China?
-Not anymore. Hu was the last guy

-Why are you asking me? I don’t CARE about the last guy. I WANNA KNOW THE GUY NOW!
-The guy is XI.
-Correcting pronouns again? Are you going PC?
-It's PRC
-Oh what crap. Who started all this?

-No, Hu didn’t start the New China.

-Why ask me? I don’t care who DIDN’T start it. I’m asking the name of… 
-Oh, that would be Deng
-You mean... Oh, crap, when did all this...
-Wen was Hu's number two
-Now there's a Chinese WATT? Never heard of him. Watt is new?

-Well, now…

-Okay now we’re getting somewhere. Who is Wel Nao?!
-Different people, sir, Hu is….



Again, parse it out. No person or ethnicity is insulted, above... except the one person whose mental faculties are portrayed with perfect accuracy.

-- Oh, that didn't work for you? Then how about this lagniappe?


Neil Armstrong spelled backwards is gnort s mr. alien


scidata said...

CB is not the place to tell the tale, but I once tried seriously (lawyers & all) to acquire a particularly pretty LOGO implementation. Negotiations fell apart and left me scarred professionally, financially, and emotionally. BASIC and/or FORTH are the only two rational solutions. WJCC FTW.

Anonymous said...

We do need coders. They are essential, as you say. But.

We live in a world of specialists. Should all children learn surgery? What about structural engineering? Research chemistry? Plumbing? Farming?

A more realistic approach is to ensure a path to such a career is possible for anyone who wishes. We are long past offering a complete education of all known things to everyone.

As an IT professional frequently exasperated by the lack of knowledge amongst my peers, I sympathise. But I do not expect now or in the future to see a widening of provision, quite the opposite. And that's fair enough.

Zepp Jamieson said...

Wasn't the robot in TDTESS named "Klaatu"?

Catfish 'n Cod said...

To finish off a previous conversation:


My overarching point is one OGH has made before: history may have patterns, but they're not deterministic (though they can approximate it on VERY short timescales). Just because Americans pattern-match some of the 'barbarian' pattern doesn't make us totally a barbarian culture and definitely doesn't mean we are predestined to resolve the same way as previous barbarian cultures -- especially because we miss major parts of the pattern.

Just as with Strauss-Howe generational theory, it's more instructive to analyze where the pattern fails than it is to blithely make predictions off the assumption that the pattern always holds.

As for the specifics of our discussion, we're using different definitions as you intuit. The model I've been using starts with tribes distinguishable within peoples as coherent and distinctive cultures, coming together (e pluribus unum) by consensus or force to form nations -- usually, but not always, aligned with Westphalian nation-states -- and also group to form broader groups like cultural alignments and civilizations. So the Gwynedd are part of the Welsh are a people who are a component of the British nation, but also align with the Celtic peoples both inside and outside the UK, and are all part of Western civilization.

The reason I am going to that much trouble is that part of our current crisis is the recurrence of our identity crisis about what "American" represents. The nation of the United States includes many peoples; the largest two of which are the result of the voluntary and forced volkwander, the ones presently designated as "White" and "Black".

This has caused confusion with the legacy terminology of 'race', which has been a tool of cultural engineering -- primarily, to prevent ethnogenesis. The "Native" designation only weakly designates a people, and said people have only really existed in the last hundred years; previous attempts (most famously Tecumseh's) to engineer a "Native" cultural cohesion failed. The Hawaiian people are rather distinctive in their cultural cohesion; most of the USA's other peoples don't correspond well to official 'racial' designations. In particular, the 'Hispanic' and 'Asian' 'races' don't actually correspond to singular peoples; the US Census system partially recognizes the problem by making 'Hispanic ethnicity' orthogonal to the one-dimensional category of 'race'.

The frequently-touted 'melting pot' assimilation, often cited as the US' deliberate and self-aware process of ethnogenesis, was not a process for creating a single national people -- even though it claimed to be doing exactly that. It's actually a process to admit and integrate various tribes of expatriates into the "White American" people. Again, the distinction is vital, because "White Americans" are designated as part of the privileged 'invader' caste under the 'barbarian' paradigm -- and most other 'races' are designated as the 'invaded'... even those that arrived after "Whites" did.

Joel said...

Are you aware of the Raspberry Pi as an entry to computing and coding?

Also the Micro:bit which is an amazing bit of equipment that can be programmed with a computer or tablet or smartphone?

Also Scratch - an great entry level programming environment.

David Brin said...

Zepp Klaatu was the humanoid alien. Gort was the robot. "Gort, Klaatu Berada Nicto" means "Gort, Klaatu needs help."

Joel and Unknown - as has happened eternally, every time I raise this - have no clue what I am talking about, alas. I am NOT talking about comparing nice, user-freindly ways for cool, nerdy kids to get into programming when they attend a summer science camp or join a club at achool, or any of the ways that the 5% of kids (more like 0.5%) who are already cool-nerdy and find their way into programming do so, today. Comparisons of Raspberry pi to logo to Squeak to BASIC utterly miss the point.

Again. That is not the topic.
That is not the topic.
That is not the topic.
That is not the topic.
That is not the topic.
That is not the topic.
That is not the topic.

The topic is how to get the other 95% (more like 75%) to have a tiny taste of programming as part of their regular schooling. As a set of simple concepts that a majority simply then shrug off and forget, except to know THAT line programming is what makes pixels move... but maybe 30% will come away going "Huh! That's something I could do. Like so many other things I've been exposed to, at first reluctantly, that were mysterious before, but sure, I could do that, and maybe will!"

30% is a lot, lot more than 5% (More like 0.5%.). And I have absolutely no hope at all that you guys will comprehend what I am talking about this time, either. I tried explaining it to Obama's OSTP group pushing Get Kids Programming! And they just blinked at me in incomprehension. No one, it seems understands the power of Homework Assignments. Despite the fact that they are the only reason half the kids do or learn anything at all.

If the Big Six assigned one FTE each for a month, EVERY smart phone, tablet and laptop would have a tiny corner where kids could port programs and do simple assignments. And...

...and I am wasting my breath.

Tony Fisk said...

I think there are many easy to learn and use languages which are readily available on most devices (name an exception if you like). Python being my choice.

The real obstacle imho is the interface. What goes into {print ("Hello world")}?

In the primordial days of C64s Apple IIs and 'Speccys' the manual explained how each display pixel was accessed and scanned(and how CRT screen interlacing worked.) This became much more difficult to access when the first windowing systems were introduced. Even as a professional coder, it's something that doesn't come naturally to me (although it's very much a case of set and forget once the connection between window and activity has been made.)

My contribution to the discussion is to suggest javascript. I had fun a while back using it to set up a simple game of Qix (a sort of tictactoe), and can't think of many devices that wouldn't have a browser. Yes, it still represents several layers of abstraction, display-wise, but setting up an HTML body, DOM, with graphics, is a challenge well within Johnnie's (and Joan's) grasp.

scidata said...

Although which language/platform to choose is not the topic of WJCC, it does in fact matter. Programming is not a monolith.

In JS, even short programs usually begin with a few innocuous 'imports' which bring in 100,000 lines of black box code, making 99% of your choices for you before you even start to think. Frameworks and templates pave the road to fascist dictatorship. We're no longer teaching Johnny to code, we're only making plans for Nigel.

That 1980s blinking BASIC cursor beckons the explorer.

David Brin said...

Guys could you at least TRY to understand what I am talking about? A little? Tell you what. How about trying to PARAPHRASE what it is you THINK I am saying here?

scidata said...

It is indeed frustrating when people don't read what I write.

duncan cairncross said...

I will try and paraphrase what I think is needed

Two parts -
The "homework" so more than 0.5% actually DO IT

Simple enough and close enough to the real world that it is clear what you are doing - not just writing a "spell" that makes it happen

To me as a foreign non programmer they both seem very difficult

Lorraine said...

Computer literacy should absolutely be universal in the adult population and hopefully universally under development in the entire juvenile population. I’m not sure programming literacy is the most important component of this literacy. While there’s more than a little truth to the old saw “program or be programmed,” I’m currently more concerned about the level of data literacy in the public. Public policy discourse around counterterrorism, law enforcement and so much more is full of talk about “inter-agency information sharing,” while consumer issues getting a lot of airplay include things like “privacy policies,” “data brokers” and datasets said to have been stripped of “personally identifiable data.” As an inoculation or public health measure I would recommend a high school course, strongly encouraged if not required, that introduces database concepts, perhaps using SQL (which seems to me to have a gentle and intuitive learning curve, but my mileage may be atypical). I would want this introduction to take the students at least as far as the concept of a table join. That is because this is (in my opinion) where the “magic” of SQL happens. This is why having access to two datasets confers more than twice as much informational power (and Information *is* power) than having access to one dataset. Exercises for the kind of data literacy course I’m proposing would ask questions such as,

How would you go about trying to infer individual identities from records in this dataset which has been stripped of identifying information?
How would you go about devising a system for calculating a numeric “score” for each of the [people, products, locations, etc.] in this dataset, where your goal is that higher scores might be predictive of higher probabilities of [a crime taking place, a loan going into arrears, a consumer making a purchase, etc.]
How would you go about building a recommendation engine? Again, I’d like to see the emphasis less on the coding and more on the choice of what data, and data relationships, to work into the recommendations and in what way.

One more thing: Far too many of the programming courses I have taken (in conventional colleges and universities) rely far too heavily on quasi-business problems that are grossly oversimplified and unrealistic. I seem to remember a “write a simple reservation system for a simple hypothetical airline” or something. No wonder there’s no such thing as an entry-level job. I would hope that for the data literacy course the datasets would be empirical, which is to say, real world data. I would also hope that at least some of the datasets would be large-ish. Keeping in mind that (unfortunately for my purposes) information does NOT want to be free, some class assignments may be data collection assignments, perhaps sending the students out to conduct some surveys, or keep a food diary, or do some GPS-surveying or what have you.

Lorraine said...

Here's my paraphrase of what I think you're saying here:

In old-school BASIC a program could consist of three lines of code (this is Atari BASIC, the language of my first owner-occupied computing environment):

20 PLOT 0, 0
30 DRAWTO 319, 191

And it has a visible effect, in the realm of programmatic control of pixels.
Without pre-loading someone's black box framework, or defining a class or even declaring a variable. No compiling. And with both OS and BASIC burned into ROM, it booted a heck of a lot faster than today's rigs, even the Chromebooks. It even uses the word READY as its command prompt, which is very encouraging. Total instant gratification.

David Brin said...

Duncan included the word "homework" and hence glancingly at least made reference to my argument, still without referring to the crux.

Sorry, the rest of you still have not a single clue what I am saying. And it bothers me that my saying that doesn't really bother you.

Yes, Lorraine, your example shows the sort of cool notion all kids should see at least a few times, and go "gosh."

But that is NOT my point.

James said...

The closest I've seen to "all kids can access several basic languages on all devices" is replit. Almost instantaneous ability to run many programming languages and popular in schools and with kids. I'm biased but I think you will be impressed.

Alfred Differ said...

Catfish 'n Cod:

I think I get you. I'm usually very wary of using pattern-matching for entire nations. Smacks too much of 'easy answers for hard problems'. It's that that the 'barbarian' label helps others understand us without doing us any real harm. The match isn't perfect and can't be since we don't have a good description of 'barbarian'. However, the geopolitics people use it in a broad sense for 'new identity' when describing a bloc that is inclined to have faith in itself. Loyalty to identity is the key point they make, because when that dissolves the organism they would describe doesn't exist anymore.

Either way, I won't get within spitting distance of a Strauss-Howe generational theory meme. Cultural identities DO exist, but not for easy answers to hard problems. Not as rationalizations.

I used to use the 'melting pot' analogy and then shifted to 'split pea soup' because it's often kinda chunky but opaque enough that it's hard to see. I don't use either one anymore because no single one of them applies. Instead I just marvel at the kids of immigrants who struggle with the task of merging conflicting demands while hybridizing the parts that work for them. They are all beautiful engines of change, though often NOT happy with their assignment.

Alfred Differ said...

On the topic of kids coding…

The first computer I bought was a Commodore PET. I still have it in the closet in my office. It was the model right after that little chiclet keyboard. I carried it with me through college and grad school and actually used it.

At no time did I ever have enough $$ to buy software for it. It was intended for small business offices where owners DID have enough $$, but I was just a student. I picked up Basic in HS and THAT is why I bought the PET second had from a business owner that realized the sales pitch was hype.

I tossed the cassette tape reader and the floppy drives worked for a few years and then didn't. None of that mattered. The only time I used it was when I needed to slap together some small program I'd use once and then toss.

1. I rolled simple statistical functions when I was a TA and had to deliver grades.
2. I rolled a simple Ising spin model in one physics class to see if I was comprehending the model from the book. Discovered I wasn't getting it right. Had to find another book to learn it from.
3. There was another physics model for homework, but I can't remember the details. The point is I built something numerical to test what I thought I knew.

The next computer I got was a 286 years later as a hand-me down from my parents. Didn't have Basic on it. It sat on my desk until someone broke into my apartment and stole it.

The next computer I got my hands on was a 386 and it had Excel which had a macro language. It was the one before they started using visual basic. I tried to build something that would analyze commodity prices looking for patterns. Didn't get very far, but that hardly matters. I learned a lot of non-programming stuff and used the machine AGAIN to test what I was learning.

Every machine I've had since has always had at least one simple language tool on it so I can simulate what I think I know. The language doesn't matter, though. Its use as a learning catalyst does. If it's not there, I install it first day I own it.

I wasn't in the broader group of kids that David wants to reach. I was in a small group that had access to a time-share system the city's HS system 'owned'. The machine was really at the nearby university and kept operational on an as-available basis when it came to human interaction. I got to take an actual programming class in '77 as a sophomore and we BLEW through the material so fast the teacher didn't know what to do next. We ALL blew through it, not just the smart kids. We would up learning two languages and then began looking at the assembly language because he had to make stuff up. He was learning it along with us.

That programming class made a huge difference in my geometry class that same year. I could see that geometry proofs were the same kind of thought pattern, but without loops. Both were about formal systems, but I didn't learn that term until college math. Those two classes made many future efforts much easier for me because I'd already picked up important basic tools.

That's what David is bemoaning the loss of for the current generation. They CAN get lucky with parental or school system lotteries, but more could be reached if we rigged devices so they already had winning tickets.

Der Oger said...

We had a voluntary informatics course in school which run for half a year or so, once per week, teaching basic programming. No tests, no grades, no branching out to other courses like mathematics, chemistry and biology. (Would have been handy to having been allowed to use a self-made program to display graphs and stuff instead of having to draw them by hand.) No follow up courses offered to more advanced programming.

But fun it was nonetheless and helped me understanding how programs work, and they are less mystical to me than they might be for others or were before that course. It broadened my horizon somewhat and instilled a bit of self-efficacy.

It may be that it is not the intent of major tech companies to provide that experience, that we understand and feel less awed by their products.

Der Oger said...

@ Alfred, from the last thread:
"I knew a guy from Germany a few years back. Gay as all get-out. Occasionally pointed out that he was safer in the US even though some of us were quite phobic. He went back eventually, though. Found good work and people who managed to tolerate him."

I can relate to that. We lag or used to lag behind in terms of LGBT acceptance (especially the Netherlands and Spain). We dropped the criminal provisions regarding same-sex relationships as late as 1994. In 2017, same-sex marriages became legal. Several steps between. There are still areas were, as an LGBT person, you might have to hide your identity to protect yourself, though the society is gradually changing, and those areas tend to become smaller and smaller. It is the younger people who push this change. It is the centrist conservatives who, as a means of preserving power, actually push and agree to the relevant legislature when they recognize that their position does not reflect our culture anymore.

"Volkswander": Nitpick: The orthographically correct term would be "Völkerwanderung".

Der Oger said...

Maybe, I just realized, programming languages have become the new Latin of our age, or will become it. As you surely know, the Catholic Church used it until the sixties during masses, and it is still one of the languages you'll have to learn to gain the Abitur (Allowance to study at an university)over here, the other being French. Translation of the bible into local languages was one of the main driving forces of Protestantism.

Larry Hart said...

Zepp Jamieson:

Wasn't the robot in TDTESS named "Klaatu"?

Well, I'm a strange nerd who hasn't ever seen that movie, but I've heard "Klaatu Barada Niktu" described often enough to say: I think the alien (not the robot) was named Klaatu.

Dr Brin:

Duncan included the word "homework" and hence glancingly at least made reference to my argument, still without referring to the crux.

Sorry, the rest of you still have not a single clue what I am saying. And it bothers me that my saying that doesn't really bother you

You've said it often enough that I think many of us do know what you are saying but don't distinguish what you consider the essential point with other aspects of the same thing.

The essential point being not that there be some mechanism that schoolkids specifically interested in coding may seek out, but that elementary coding such as BASIC be so universally available that it can be assigned as a mechanism for solving school assignments in general, thus demonstrating the wide applicability of coding and a rudimentary understanding of how computers work to the population at large--not just those who wish to code as a career.

Tony Fisk said...

Well, for better or worse, here's my paraphrase:

"The point is not how a few nerdy, computer-savvy kids can start programming in cool environments.
The point is how to teach some modern programming to many/most kids so they realise that they too can tweak what goes under the covers of a computer. That it isn't magic beyond their feeble comprehension."

I also think it important the student gets to work in what feels like bedrock.
So, here's what I consider to be a simple exercise in adjusting a web page in javascript. (NB I realise a web page is not a computer, but it provides a simple example in an environment most people are familiar with, and probably equate to a computer anyway)

This example requires only a browser and a text editor, which should be available on most platforms. The starting code snippet is a bare bones HTML structure that requires no blackbox doublecode to be imported (um, I've replaced the angular braces with square to placate the blogger guardians):

[title]Homework exercise[/title]
[script type="text/javascript"]
function RespondWith (response)
// Add code here so that the text from the response
// is placed in the 'answer' span.
document.getElementById ("answer").innerHTML = response.value;
[p id="question"]How do you greet the World? "[span id="answer"](your answer should appear here.)[/span]"[/p]
[input onkeyup="if (event.keyCode == 13) {RespondWith (this);};"/]

Dissecting this code is a lesson in itself, but it's straightforward to explain what it does. The student should then be tasked with adding that final bit of magic to enter the response, realising they're doing it to an actual web page. I've done that for you non-students, but you can try another exercise, which is alter the code so it changes the span's text colour as provided (eg 'red').

Larry Hart said...

seen on Twitter:

Remember how Trump make the Treasury Dept put his name on all those checks that went out?


f said...

Dr Brin, I will come out of the woodwork once again, like other two times you wrote about this, to point out that at least myself both of those previous times got your argument *by your own admission* after the paraphrasing test, and I simply disagreed with it in my role as a professional both in the education and IT development field, so simply lamenting that nobody understands you its not exactly correct.

I will not start back the argument on the topic itself: we already went there in the previous iterations, you were not convinced, you did not convince me, and to go further than I went the previous times I would have to write a full-blown analysis document, and it's frankly a bit too much.

As a person that admire your books and at least many of your ideas, and especially as a fellow believer in the CITOKATE ideals, I can only ask you to take really an hard look to those ideas that "nobody else get".

Tim H. said...

If I remember correctly, you wanted a universally available programming language, that a textbook author could be confidant enough about it's availability to include simple programming assignments in a chapter. I also remember that some professional programmers felt learning BASIC risked ruining young people for using "C", with no reason given. The variations of BASIC on different platforms were usually close enough for simple programs, but getting Microsoft, Apple & Google to agree on a common language could be interesting, might be simpler for a textbook author to write three variations of a given problem, or offer an app that offers identical function on the major platforms.
I think almost any commercially available computer these days would be capable of running an app that would provide a safe sandbox for students to experiment with code, or old type-in BASIC listings, with comments on what each line asks the system to do, and how that would be handled in contemporary code. A final thought, there are folks actively coding who cut their teeth on a variety of 8-bit systems, and a guy who builds rockets these days.

Howard Brazee said...

I wonder if there is any correlation between coding skills and believing in conspiracy theories.

Larry Hart said...


Are you aware of the Raspberry Pi as an entry to computing and coding?

I might have to turn in my nerd card for this, but I must be missing something about the appeal of Raspberry Pi. My father-in-law who was an original tech nerd (built a Commodore 64 from a kit) couldn't say enough about his Raspberry Pi, much the way my biologist-in-training daughter talked about the mRNA vaccine. But my thought was a cynical ad line: "It does what a computer does, but harder."

What am I missing?

Larry Hart said...

Alfred Differ:

The next computer I got my hands on was a 386 and it had Excel which had a macro language. It was the one before they started using visual basic. I tried to build something that would analyze commodity prices looking for patterns. Didn't get very far, but that hardly matters. I learned a lot of non-programming stuff and used the machine AGAIN to test what I was learning.

There's a line in Douglass Adams's Dirk Gently's Holistic Detective Agency in which the protagonist, a 1980s tech nerd, reminisces about back in the day when he wrote a word processor in BASIC. Paraphrasing: "It took three days to perform a simple search and replace." The point though, echoing yours, is that it wasn't about creating a marketable product, but about sussing out how things work.

Jon S. said...

" Should all children learn surgery? What about structural engineering? Research chemistry? Plumbing? Farming?"

"Surgery" per se perhaps not, but we do generally expect people to pick up on the basics of first aid (band-aids, how to apply a tourniquet, perhaps clearing an airway or providing CPR). Once you've reached adulthood, at least here in the States, you're pretty much expected to have had some exposure to building things (I learned about structural engineering in a practical sense while helping some other kids build a treehouse that eventually encompassed a total of six small trees), dealing with household chemicals, and the rudiments of plumbing and farming.

That's about what Dr. Brin is looking at for coding here. We're not expecting everyone to produce the next Office or Fortnite, but knowing what code is and something about how it functions might help with basic computer literacy. (You should see the forums for most any major computer games, and the things people think the game "should" be able to do because they saw a computer work like that on TV once.) At the very least, they might pick up on the basics of why you don't want to enable just any old app in your browser...

David Brin said...

LarryHart did a solid job paraphrasing, with a different emphasis on the LESSON that programming is potentially useful in all of a student's future activities... an emphasis I thought implicit, but a good one. Mine emphasizs simply EXPOSING millions of students. It's the forced and compelled exposure provided by homework.

Tm H kinda gets it.

"f" does the old dodge and weave, spending multiple sentences DECLARING that he understands perfectly and simply disagrees, without spending the ONE sentence of paraphrasing it would have taken to show understanding.

That trickery does NOT help me in the slightest to understand WHAT it is about my attempts to communicate this concept that I (a supposedly good communicator) utterly have failed to get across. Clearly I need help grasping what I am doing wrong. Thanks for nothing.

Alfred seems to get that I am seeking a democratizing way to expose ALL (almost) public school students to A LITTLE programming that is utterly relevant to whatever course they are currently studying and thus not interfering in curricula, but helping teachers get across a concept... say the population equation in 10th grade biology, or trajectories in 12th grade physics, or a simple poetry bot in english class.

But the core... attempting one more time to paraphrase myself...

... is that 95% of students won't do a damn thing they aren't assigned. In order to ASSIGN simple, 12 line programs, they should be in the textbooks and curricula, or teachers won't do it. In order to get such assignments BACK into the textbooks, there must be a sureness that all the kids CAN do the assignement! For that to happen, they should all, even the poor kids, have access to apps and programs that can all run the 12 or 20 line programs in the textbooks. All devices COULD do that... if the Big Six companies spent ONE engineer each for one month designing portable common pocket programming environments that would fit in the tiniest corner of every phone and tablet.

There is NO other way you will expand the number of kids trying programming, each year, from around 1 hundred thousand to TEN OR TWENTY MILLION, EACH AND EVERY YEAR. Moreover it would be easy and cheap to do the experiment and prove me right or wrong.

I have tried. A few of you have taken the time to focus and paraphrase and I thank you. What I still don't understand is WHY I am simply incapable of expressing this concept with the clarity it deserves.

One thing that I am open to (citokate), but has not happened, is to see someone refute this plan or show it wouldn't work. That has simply not remotely happened.

Jon S. said...

Oh, on another note:

G'nort is also widely regarded as the least capable member of the Green Lantern Corps. His ring selected him because he was nearby when his uncle, a legend in the Corps, died, and because he doesn't really understand the dangers of the universe enough to be afraid of them. The Corps cuts him a lot of slack out of respect for his uncle, but they tend to try to assign him to the very easiest sector they can find.

Treebeard said...

I would like to see more kids being taught to DECODE and DEPROGRAM and spend more time in NATURE so they don’t become crazy BINARY THINKERS who write in ALL CAPS and think they can REDUCE the world to ABSTRACTIONS and PROGRAM it to BEND to their will by typing on a KEYBOARD.

Lorraine said...

Can I assume that a pocket programming environment is a small machine that boots, very quickly, directly to a development and runtime environment (an interpreted language, with editor)? An Atari 400 with the BASIC cartridge in the slot would meet that definition, and straight out of the box, could interface with the TV sets of the time, given a screwdriver. For today's world, maybe better to just have a built-in flatscreen display on the device than worry about the 1% of kids from a non-TV household, or compatibility arcana for the 10% or so with old ones. You did say pocket, but I'd be inclined to want a QWERTY keyboard, as I find it a more powerful instrument of self-expression (in prose or code, take your pick) than a touchscreen interface (where everyone of all age groups seems to really hate the auto"correct" "feature"), but maybe that's because I'm old.

David Brin said...

Lorraine, when my son showed me the “Try it in BASIC” problem sets in his (circa 1980s) textbook chapters, I soon found out why those exercises were no longer assigned… and no longer existed in later textbooks. With all our fancy, later generation machines, we couldn’t do the problems! We finally had to order an old Commodore 64 (original box $75) which let us do the problems the instant it turned on. In fact, that is what led to my original JOHNNY CAN’T CODE essay on Salon.

Alas, again, you veer aside from my main point. Which is that almost ALL kids now have SOME kind of computer, if only a phone. And if the Big Six simply agreed on3 or 4 standard Logo, Squeak, BASIC etc apps, then we could arm-twist textbook publishers and those problem sets would RETURN! And instead of 100,000 nerds each year, ten MILLION students would at least Be able to say: "Yeah, I programmed. I made a graph plot data and I made Pong! And I will never see my screens the same way, even if I never program again!"

Treebeard is, as usual, utterly zero zum and incapable of conceiving of positive sum, at any level. So learning to master technology means you can't go for a hike in nature or appreciate a sunset. Riiiiiight.

Go read the obscenely zero sum Whitman ‘poem’ “When I Heard the Learn’d Astronomer.” You’ll probably actually NOD in (ALL-CAPS) agreement!

(I and my Eagle Scout sons have likely spent more time enjoying nature than you ever have.)

But sure, you’re not obsessively rude, and sometimes provoke thought. So, do come again.

Larry Hart said...

Dr Brin:

That trickery does NOT help me in the slightest to understand WHAT it is about my attempts to communicate this concept that I (a supposedly good communicator) utterly have failed to get across. Clearly I need help grasping what I am doing wrong.

I don't know if this is entirely helpful, but it doesn't help your case to start out an appeal with "No one ever agrees with this, but...". Kinda like asking a girl on a date by saying, "You probably don't want to go out with me, but..." How often does that work? It prejudices your listener with the idea that, "A whole bunch of knowledgeable people have apparently rejected consideration of this line of thinking, so what's the point in any further rumination?", even before you get to the actual point.

Larry Hart said...

Dr Brin:

If the Big Six companies spent ONE engineer each for one month designing portable common pocket programming environments that would fit in the tiniest corner of every phone and tablet.
One thing that I am open to (citokate), but has not happened, is to see someone refute this plan or show it wouldn't work. That has simply not remotely happened.

I don't think it's so much that it wouldn't work as that the companies you are referring to don't particularly care. Maybe they have reason to avoid a more general understanding of coding, but I think it more likely that they just don't see the percentage in thinking about it.

You're trying to convince them that a plan will work, when what they would need convincing of is that there's something in it for them.

Catfish 'n Cod said...

If I'm getting it right, the points you want to hit are:

(1) Have it be a near-universal experience for the American schoolchild to have done some minimal programming at some point in their education -- making it as much a shared ritual as prom dances and pep rallies, and as normal -- and EXPECTED -- as a high school final exam. Something everyone had to at least TRY to do at some point, even if you were terrible at it, even if you loathed it.

(2) Ensure MAXIMUM EXPOSURE by kids at all ages, backgrounds, regions, upbringings, incomes, etc., etc., and so forth to the basic experience of programming -- thus bashing the (? intentional ?) barriers to access that have turned computer coding -- a field invented by a woman and in which as late as the tale of Hidden Figures was still a female-led, lower-class-accessible skill -- into a bro-culture filled with entitled white males.

(3) By doing so, generate a much larger pool of future coders, STEM pursuers, etc. (regardless of background, though it will also perforce be a more diverse crowd) that will bring advantages to all US fields of endeavor, even those that supposedly have nothing to do with computers.

For computers are everywhere, these days.

(4) And finally -- DEMYSTIFY this now-universal experience of the Interface with ubiquitous computing. Though I have to wonder if this last goal will reach more than a fraction of its potential. We force science and history down kids' throats, too, and how often do people still believe that scientists are priests of an atheistic religion and the Founders approved of theocracy?

But it at least gives our future citizens more of a fighting chance. And that's not nothing, not by a long shot.

David Brin said...

LH your criticism of my grouchy and immature way of expressing disappointment is entirely on target... and entirely misses the REASON why I deliberatey did it! Which was to get a rise out of folks and more responses. And it had exactly that effect.

Always look at effects/

Catfish did an excellent job of paraphrasing the GOAL of my recommended project. It is the mechanics necessary for it to work;;; four discrete steps that start with the Big Six companies spending a BACTERIUM sized portion of their wealth... a microsencond of income... to create useful beginner programming environments useful for pedagogy.

LH is right that one cannot get through to those Big Six that such a minuscule effort that would have huge benefits would be worth any manager's personal time and attention and risk at company politics. Which I why I aimed at guys I knew in Obama's OSTP. One small act of jawboning would have got those Big Six to hold the meeting and get it done in a few days. But OSTP was pushing what our zeitgeist preaches... which is...


And that approach might work... to double the number of kids lured into programming from say 100,000 to 200,000 huzzah! While China is getting tens of millions every year, through methods like the one I recommend. But Americans reflexively think coerced homewhork... even teensy 12-line programs that would illustrate existing curricula... is somehow evil.

Larry Hart said...


so they don’t become crazy BINARY THINKERS who write in ALL CAPS...

Who does that here other than yourself?

Larry Hart said...

Dr Brin:

Which I why I aimed at guys I knew in Obama's OSTP. One small act of jawboning would have got those Big Six to hold the meeting and get it done in a few days. But OSTP was pushing what our zeitgeist preaches... which is...


And that approach might work... to double the number of kids lured into programming from say 100,000 to 200,000 huzzah! While China is getting tens of millions every year, through methods like the one I recommend.

You suggest a solution right there. If you're talking to US politicians, push the idea that we're losing ground to China if we don't do something.

Tony Fisk said...

For the record, I think Treebeard was stirring the possum. As OGH says, look for the effects.

Tony Fisk said...

... blogger ate my indentation!

Smurphs said...

Doc, it's a smart and laudable goal, I have nothing to add that hasn't already been said by better writers than I.

But I appreciate the walk down memory lane.

"I was in a small group that had access to a time-share system the city's HS system 'owned'. The machine was really at the nearby university

It was a few years earlier (74), but when I was in HS, we used a teletype and acoustic coupler to dial into the local University mainframe. And saved our BASIC programs to paper tape. Good times!

"We finally had to order an old Commodore 64 (original box $75)"

Close to 40 years later, I'm still the only person I know who bought a C64 for full list price ($595) on the day it was released. As I was making $4.25 an hour, it was a major purchase, I had saved for months.

OH, and TREEBEARD made ME laugh. But probably not the way he intended.

duncan cairncross said...

I am probably the least computer savvy of this group so maybe this is not a problem

To me the issue is linking the "writing a magic spell" of programming in any upper level language to the actual "what is happening" when you do so

Just following the instructions and writing a few lines in BASIC does not do that

The main thing that I learned when doing that back in the 80's was that a tiny spelling mistake took me a day to find and fix

I see what Dr Brin is trying to do - but I just don't think that the homework exercise he is proposing would actually do what he wants

Robert said...

95% of students won't do a damn thing they aren't assigned. In order to ASSIGN simple, 12 line programs, they should be in the textbooks and curricula, or teachers won't do it

Honestly, you're optimistic that students will do it even it if it is assigned. A quick google and copy the results. Language teachers here are finding that students just copy-and-paste results from google translate. Math teachers find that they copy-and-paste results from an app that shows you a solution when you send in a pic of a problem. The idea that you have to practice to get good at something seems to be going by the wayside.

And being in the curriculum doesn't guarantee that teachers will do it.

Not only is the curriculum jammed with more than you could possibly cover even without interruptions, so you have to cut material anyway, but there are many interruptions that pull kids away from class. At my last school I calculated that out of the 110 hours of class time that a course is supposed to have (as mandated by the Ministry of Education), we only get about 90-95 hours — and that's before counting periods missed by individual students for various reasons* (like sports, music rehearsals, field trips, etc.).

So, what do you propose to eliminate from the curriculum in order to make space for programming? And can you fight to eliminate it (against the interests that want it included) in order to make time for programming?

(Not arguing that programming isn't a useful skill, but I don't think you realize that this is a political problem more than a pedagogical one.)

*I measured school-sanctioned absences as totalling about 3% of all class time, although some students don't miss a period and some miss a great many.

David Brin said...

Robert you are doing this deliberately, right? You clearly saw that the old TRY IT IN BASIIC exercises in older textbooks were PART of the curriculum in biology texts (e.g. illustration statistics or the population equation... or physics etcs. Their purpose... and effect... in those textbooks was to HELP those curricula and student understanding. And they did.

What's with the zero sum thinking, man?

Robert said...

Robert you are doing this deliberately, right?


I've spent three decades teaching. I've seen how strapped for time core subjects have become, as more and more extra mandates get added to the system. Classroom time is a limited resource — it really is zero-sum.

Consider simple algebra. Two equations, two unknowns. Easy to solve, right? A major part of grade 10 math. Half my grade 11 physics students — who have all passed grade 10 math — need to be taught how to do that, even though they supposedly already know. Easy to do, but that little lesson on algebra uses class time that I already don't have enough of. Class time that is already shorter than what is mandated for the course.

As a science teacher, I love to do as much extra extra stuff as I can, but I'm also aware that learning to code takes significant time. (I spent a decade teaching programming before I switched to science.) For the kids to do more than copy code from the textbook and run it will take a huge amount of time — which will have to come from my science class. I have used spreadsheets to have kids try different scenarios — tools that the kids supposedly already knew from previous classes — and found that getting across the idea of a variable (cell) took more than a period to grade 11 students. (Yes, some already knew the concept — those that had taken programming — but those that didn't took a long time to understand it even with their group-mates explaining it to them individually.) I already don't have time to finish the curriculum, so adding programming as a skill means dropping something.

Now, you could argue that the curriculum needs to be pared down and focused more on skills and less on knowledge, and I'd agree with you, but actually doing that is a political decision rather than a pedagogical one. Every expectation in the curriculum has an interest group that supports it and will fight for it, so adding things is easier than removing things. And so over the years so much has been added that there isn't enough time to cover what is there, let alone teach a new skill.

If I was Dictator of Education I would refocus the science curriculum on skills and process rather than content, with a heavy emphasis on projects. I would include simple programming as a subject, as well as first aid and auto mechanics/appliance repair and gardening, partly because I think those subjects help give kids agency in a world that seems to deny them that.

TLDR: I'm not opposed to your idea. I don't think it will have a large effect.

Alfred Differ said...

1. Tools on the Devices

2. Textbook changes backed by Curriculum requirements to use these tools.

[Yah. Makes sense, but I'm going to break with the proposed plan a bit. I think there is a better approach compared to the 80's retro-method.]


As a student, I HAD access to tools on devices and they made an enormous difference. I never lived in a place where the curriculum required they teach what I learned, but some of the teachers did it anyway. Mostly they didn't stop me. That's not enough, though.The point is to drive the exposure, right? It seems reasonable that we can't drive it unless the tools are there, right?

Well… they are. Through the internet, the kids have access to language emulators on websites. For example, if I want to learn to develop an Ethereum app, I don't need a locally installed environment. I can drop by their site and try my code there on their sandbox. If I want to concoct a small Julia tool, I can drop by their site and use their interactive Julia shell. The list goes on as there are many tools like this on the internet, thus on EVERYONE'S devices. Already. Not just the kids.

So, is the curriculum change enough? I think it's close. The first problem is that there are a LOT of these tools. The second is these tools don't remain the same. Typical school curriculum isn't written to leave a lot of choices open for teachers, let alone for version changes in the tools. Consider the changes added to Java between v7 and v8 and then modularization in v9. The core language didn't lose much… except for the deprecations. An old teacher's solution manual containing java snippets wouldn't compile without warnings anymore. Teachers would have to to keep up… or have access to version updates for solutions.

We could use the tools currently available, but curriculum additions aren't going to be as simple as requiring tool usage through homework sets. Someone will have to think through version updating, tool choices, security risks, and a few other things. Some of it's easy, but some of it won't be. It won't take long before the bad guys try to mess with these sites specifically to reach our kids, right? Parents will worry about it anyway. Solvable problems I'm sure, but probably not with one FTE per tool or company or even state.

The harder problem is probably curriculum change. That will have to be done one state at a time unless we want a fight bigger than the Common Core war.

Good idea, but it will take an army of advocates prepared for several battles. The warriors will have to come from multiple disciplines. They will have to get technical AND political which won't be easy. Especially nowadays. Would be fun, though. 8)

David Brin said...

Robert you explain your position well... except for the bewildering sense of scale.

A 25 line program that a student COPIES into a device... then some data to feed into the Population Equation... takes HOW long? And detracts from the unit on the Population Equation... um... how? Other than turning it from an abstraction she'll forget about tomorrow into something that actually DOES something and that makes her go Coool?

Entering maybe 30 lines and then shooting cannon balls at various angles till you shatter the enemy castle using the galilean equations of motion... would take HOW long? versus actually used the darn things. And in a game you created yourself?

Twelve lines that show how changing one number changes a circle to an ellipse to a parabola to a hyperbola... and this zero sum DETRACTS from a chapter on conic sections?


Alfred Differ said...


Classroom time is a limited resource — it really is zero-sum.

I've taught kids too and this isn't true. We've MADE it zero-sum, but there are ways out of that game. Unfortunately, it requires that some of us break the rules as they are written today. That's won't happen often, but it DOES happen enough to provide the evidence.

I agree with you regarding the politics and interest groups. It would be a helluva fight. Multi-state and probably cultural. Nothing riles us quite like when we tell each other how to educate our children. 8)

Catfish 'n Cod said...

I've taught, but it's been a long time since I taught K-12 -- and even then, I was a tutor with official sanction, rather than a certified "teacher". I was there specifically because I was not subject to the constraints of neatly defined classroom-time boxes, many-to-one teaching, and setup requirements.

I think both OGH and Robert miss a key point: those computer problems came out of textbooks in part due to complaints about the digital divide. Until electronics access became accessible not only to the middle class but the working class, this wasn't a feasible scenario to bring about the effects Dr. Brin wants it to produce. It wouldn't be something all kids would be able to do; it would be a burden to the kids who had to stay after school to use the computer lab, or go to the public library just for the access to computation. Don't get me wrong: this problem still exists. But we're past the big hump of distribution now, which we'd been struggling with in the first two decades of this century.

Robert and Alfred both have relevant points. Robert notes the present boneheaded ruleset that makes teaching time zero-sum, and Alfred notes that it's an artificial creation. With the earthquake of 2020-21's remote learning hitting the whole nation's teaching practices, the iron is hot to strike for making conceptual changes to the forms and substrates of K-12 education. If we are requiring videophonic service for class, we are obviously in a realm that permits sandbox toy programming platforms. Heck, there's a Minecraft Education Edition...

What is needed is to make this initiative a force multiplier that enhances the experience, not trying to shoehorn computer science into non-related classes. Doing this right will take both the textbook-writers and the curriculum writers to cooperate on using the resources. Which means neither one should be the instigator.

The Big Tech powers won't cooperate on this without a sweetener, and one more tangible than "you'll get a better hiring pool in ten or twenty years". It's not the effort, but the cooperation, that's the bummer.

My thought is that large states and a Federal agency -- maybe the US Digital Service backed up by some part of the Department of Education -- should be the instigators, with the states with tech industries calling on the local Big Tech hubs to contribute. The sweetener for Big Tech will be the positive press of the effort -- cheap at the price. The government(s) release the apps for free; Big Tech pushes it onto all their download stores (Google/Android, Microsoft, Apple, Amazon, et cetera) and gets to tout their civic participation.

Then, and only then, do you poke the textbook writers, and let the states talk among themselves about how they can use this new -- FREE! -- resource to enhance their curriculum requirements. They're not going to make the effort as long as the theorized platform is vaporware, since they don't want to develop such a thing themselves.

David Brin said...

Catfish n' Cod, that's pretty much (more detailed) what I had in mind. Though almost any government pressure, especially federal, should be enough to get the Big Six to overcome dumb inertia and devote such a tiny effort to achieve a positive public relations coup.

Robert said...

David, I'm still not convinced.

All your examples have apps that do the same thing — Desmos, for example. You can see the equation and the graphs it produces. Vary the parameters and see where the shot lands. We've used such things for years.

Adding the step of typing in 25 lines EXACTLY as in the textbook to do the same thing is additional complication and time. And it will take time, because students will make mistakes and get stuck/frustrated. First day of programming class all over again. And honestly, I don't think an experience that will interest many children in programming because it's so unthinking.

I have students use PocketLab sensors, the phyphox app (which provides a framework to program new experiments), and do as much hands-on stuff as I can manage with my limited budget*.

Alfred, where I teach classroom time is limited. I get 90-95 hours (depending on period) for a course, which I don't have full control over as the school will take over periods for special events and students will miss class for other events, usually with same-day notice**. I cannot increase this. I cannot give compulsory extra lessons. I am limited to an hour of homework a week, total. That is what I mean by zero-sum: there are no free periods or movie days in science classes, so choosing to spend half a period introducing and trying coding means I have to cancel or shorten other activities to find that half-period.

So in my case time is a limited resource. I do my best not to waste it. I do my best to combine multiple expectations in deep learning tasks. I eliminate or downplay expectations that don't seem as important (which I'm not supposed to do***). I try to be as efficient as possible, because I'm painfully aware that even under ideal circumstances I can't do the job I want to do.

*Another bitch — I spend more on equipping my classroom than the school does, although the principal managed to find $100,000 to renovate the main office and the moderns office (which were 'looking dated').

**Not exaggerating. I kept stats for years, which is how I know that our students are excused from class (for school-sanctioned events) for an average of 3% of their scheduled periods, and that over half of these excusals are given with less than 24 hours notice, and half the remain with less than 48 hours notice (ie. by the time the classroom teacher is informed, 3/4 of the time they will not see the students again before the missed period, which makes planning things like labs and tests difficult). This is true even for events planned for months. Some of my colleagues are inconsiderate rectal orifices.

***Most teachers do that. Some do it excessively — when I started the science head spent 3/4 of the grade ten course on chemistry so the kids had a good foundation (he taught senior chemistry), spent most of the rest of the time on biology, skipped environmental science entirely, and only did 1/4 of the physics unit.

Robert said...

Catfish: If we are requiring videophonic service for class

We are, but…

Here, students can opt for in-person, synchronous remote, or asynchronous remote — and they are all in the same class with the same teacher, who must now come up with three different ways of teaching the same content. If a student says they have anxiety or feel stressed, teachers are instructed to ease up on them and don't make them do so much work. No medical diagnosis or official IEP process required, just an assertion by a minor.

Most students are refusing to turn on their video cameras and microphones, doing everything with text. Many are logging in and buggering off (eg. class sent to breakout rooms and it takes them 90 minutes to click the "OK, join" button). No attendance is enforced*.

Sorry, had to rant. Stress levels are through the roof.

*Leaving an interesting legal hole, because in a synchronous session they are technically under the supervision of the teacher, who is prohibited from admin for actually doing anything to verify they are actually present. I got a call last week from a colleague dealing with a kid who was logging in for five minutes (of a two hour class) every three days, and because he wasn't absent for three days in a row admin was refusing to get involved.

Robert said...

Regarding textbooks…

Don't know about where you are, but up here textbooks are renewed every time the curriculum is updated, which is 15-20 years. It took ten years to get new physics textbooks after the last curriculum change, because textbooks are bought by schools out of general funding and we were given no extra money to implement the new curriculum. (And 'new textbooks' aren't something you can invite the superintendent to see when the local TV station is there…)

So that app David wants developed needs to be stable for a longer time than most programmers are used to thinking about. You can't mess with the interface or update the commands, because then those old textbooks won't be valid anymore. It needs to work with every new version of the operating system, on every new piece of hardware…

Can the tech companies resist the urge to feature bloat? Fiddle with the interface? Drop it entirely? I run an old computer precisely because newer machines won't run some software that I find useful. The tech industry as a whole suffers from Second Fool Syndrome*.

A better approach might be what Perimeter Institute does with its resources.

I've used many of these in whole or part, and they are honestly better than most textbook resources I've seen. (One would hope so, given PI's reputation.) With resources like this, you can update them when (for example) the URL of your code emulator changes, or the cool app interface changes to psychedelic mode from the horribly dated 'dark mode'…

And about textbooks, I heard a few years ago from a publisher that a new textbook basically had to be acceptable in Texas, because that was a big market and was essential to make a book profitable. Not certain how that works when individual Canadian provinces can manage with no government subsidies and smaller markets, but that was received wisdom in the ed-pub field. Don't know how true that still is.

*There are two kinds of fool. The first says "This is old, therefore good." The second says "This is new, therefore better."

duncan cairncross said...


That adding in the line EXACTLY - brings back memories - after school - after University - I got an early computer and tried to learn some programming

A simple "bubble sort" - didn't work

It took me hours and hours to find my spelling mistake

len said...

The problem isn't lack of access to programming tools, since they are trivially easy to acquire. Standardizing on one teaching language is impossible, because everyone with an axe to grind will promote an alternative. (I'm still pissed that Pascal is no longer taught.)

The problem is that there is nothing a child can do on a computer that impresses them, because they compare it to the software they use every day. The competency feedback cycle is too long, the technology is too abstract and too sophisticated.

When I was a kid, using BASIC to play music or draw simple graphics was amazing to me. It didn't look or sound as good as the games I was playing, but it wasn't far removed from them, either, and I wanted to learn more so I could make cool things. When I made a 3d cube rotate I thought I was a god.

Now we have photorealistic graphics and actual friggin' VR, and nobody cares. And for the kids who might care, there is a thousand hours of study required to get to the point where they might be able to make something that impresses themselves or someone else, and they can't even do that without building upon a massive library of existing tools.

I think this ship has sailed, and I'm not entirely sure it is a bad thing. What it means is that programming is becoming much more like the engineering discipline it aspires to be.

David Brin said...

Robert thanks for your service at the front lines of civilization.

Len, sorry I disagree with you top to bottom. I have seen, long after the era of 3D graphics, the light in kids' eyes when then made a pixel move in paterns they command (and alter). No screen is ever the same, because they know that every dot happened for reasons that are just more complicated versions of what they just did.

In any event, my aim would be to EXPOSE most students... 10 to 20 million a year(!) to just a little taste of such power - in POSITIVE-SUM PARALLEL to exemplifying some topic in biology or statistics or physics - so that even 5% might murmur aloud... "You know that's another thing I could do."

5% at that point would be one freaking million. Criminy! How do you think they are doing it in China?

Daniel Duffy said...

The last time I had to program it was with carboard punch cards and the student advisor kept telling me that my 300 card program should work and he could not figure out what was wrong with it.

You kids today have it so easy...

Der Oger said...

"How do you think they are doing it in China?"
They erase those who show any sign of nonconformity and publicly shame those who do not keep up with the high pressure.

I'd rather recommend the Scandinavians. Small classes, individual support.

Tim H. said...

What if every school district that issued iPads to students had "Swift Playgrounds" on them and encouraged students to experiment with it in their free time? I don't know about equivalents at Microsoft or Google, but suspect they exist. I don't think early exposure to a programming platform that turns out to be a dead end is going to be much of a problem, considering the programmers who began with 8-bit BASICs and now work with more powerful things*, students with early exposure should find the transition to a new language somewhat less difficult.

*Jeff Minter comes to mind, wrote games for Commodore 8-bits, moved on to Atari 16-bit & IBM compatibles, and more interesting machines, early exposure to the Microsoft BASIC on the Commodore ROMs doesn't seem to have been a hindrance.

David Brin said...

I am not prescribing we educate like in China! I do say that most kids do most schoolwork because it is required of them. Even when I taught at a Summerhill-type self-motivation school, we still went: "Oh, that interests you? Then how about you do this?" And most don't mind, because duh? we know more than they do!

Trying to "lure" kids into a topic with FUN! Does work and I am proud to be a member of such a civilization, with such values. But goiving the vast majority compulsory tastes of things that them might lure them has to be part of the mix.

Robert said...

giving the vast majority compulsory tastes of things that them might lure them has to be part of the mix

I've got a lot of results with a drop of water in a cell phone camera lens :-)

Seriously, makes a decent low-power microscope, shows the kids stuff they haven't seen before, serves as a gateway to the Foldscope microscope which is cheap enough to practically give kids their own microscope. (Not literally, because school priorities are focused on other things (no pun intended).

But if I was running a school, I'd put acquiring foldscopes for each kid ahead of a lot of other stuff that money gets wasted on. At $1.50 per microscope, they are at the level of stationary, FFS! Opening up a world of unseen wonders so cheaply.

I've got deluxe kits for my grandnieces. Gonna have so much fun when they're old enough!

Jon S. said...

"The last time I had to program it was with carboard punch cards and the student advisor kept telling me that my 300 card program should work and he could not figure out what was wrong with it.

You kids today have it so easy..."

Oh, and then you're headed for the card reader and you trip and drop the box...

Man, I do not miss the "good old days".

Tony Fisk said...

I remember postgrad physics students, and their *carefully* guarded card stacks, with which they'd regularly trot over to the computing department. My Honors year arrived just as the first VT100 terminals were installed. Looxoory!!*

*and Adventure, too.

Tony Fisk said...

giving the vast majority compulsory tastes of things that them might lure them has to be part of the mix.

This line of David's reminds me of Madness' typically loopy 'House of Fun'.

David Brin said...