Log in

No account? Create an account

Previous Entry | Next Entry

Why Johnny Can't Code

(saved here for my later perusal, and to share with friends who might have comments or suggestions...)

BASIC used to be on every computer a child touched &emdash; but today there's no easy way for kids to get hooked on programming. Quietly and without fanfare, or even any comment or notice by software pundits, we have drifted into a situation where almost none of the millions of personal computers in America offers a line-programming language simple enough for kids to pick up fast.

at Salon.com...


( 20 comments — Leave a comment )
Jan. 5th, 2007 02:51 pm (UTC)

It's a little weird that he gets all the way to the end of the article before truly conceding that BASIC itself might not be the right thing, but I agreee with the idea that there should always be *some* programming tool to play with, and an interactive one is better. His casual dismissal of Logo in particular seems weird.

Similar complaints can be heard in electronics circles, though those tend to be less about building things yourself (you can still do it, even if you have to go a bit farther out of your way) and more about the way that integration makes most devices un-disassemblable.
Jan. 6th, 2007 05:39 am (UTC)
Make Magazine is a good place to find stuff about the more physical manifestation of this general modern problem... They go philosophical about it pretty often.
Jan. 6th, 2007 05:41 pm (UTC)
subscriber since issue #1, baby!

of course, I don't feel like I've done anything Make-like in years, so it just sort of accumulates a lot of neat ideas without actually doing anything.....
Jan. 5th, 2007 03:09 pm (UTC)
Jan. 5th, 2007 08:05 pm (UTC)
GAAAAAH! Scheme! Back! *grabs garlic* Back, I say!!! *waves cross* DEMON!

Jan. 5th, 2007 03:16 pm (UTC)
I will offer, that if you have MS Office which many people do, you get VBA, the red headed stepchild of Basic.

Now, it's not nearly as fun as BASIC would be but it is fairly accessible.
(Deleted comment)
(Deleted comment)
Jan. 6th, 2007 06:38 am (UTC)
The question remains, what can we put in front of our kids so they can have the joy of typing

10 print "WalMart sucks!"
20 goto 10

...and getting out of the computer department
...and then going home and making it better, little by little?
(Deleted comment)
Jan. 6th, 2007 05:44 pm (UTC)
I sort of agree. Only sort-of, though.

I did a stint with Lynn Stein and her reinvented introductory curriculum, and the model definitely wasn't linear computation - "compute f(x)" isn't a great model for general-purpose computing - but was closer to "while (true) { do something }", and we spun it explicitly as being good for respond-to-the-environment situations like games and robotics. Modern "event driven" programming has a lot of layers of magic in the capturing and dispatch of events that really obfuscates the learning process, I think.
(Deleted comment)
Jan. 6th, 2007 11:58 pm (UTC)
I don't think we're talking about writing commercial software; we're talking about dabbling and playing in software. As a learning exercise, it may lead one to explore more of the world of programming, which will eventually hit things like event-driven systems and OOP, but I don't think it should start there.
(Deleted comment)
Jan. 6th, 2007 06:11 pm (UTC)
xcube:~/tmp xela$ python
Python 2.3.5 (#1, Mar 20 2005, 20:38:20) 
[GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> while 1 > 0:
...   print "Walmart Sucks!"

I'll spare you quoting the output.
Jan. 5th, 2007 03:23 pm (UTC)
Yeah, that's exactly how I learned to program. The other problem is that programming is no longer "fun". Computer games were so simple and crude then, that sometimes you would resort to programming them yourself. However, things like SW Flash and Java Applets have somewhat picked up this slack.

But while every computer operating system now comes with a web browser built in, programming applications had disappeared from operating systems about five years before the web browser became a standard tool.
Jan. 5th, 2007 04:39 pm (UTC)
Remember Logo? I wonder if there are still math classes out there letting kids figure out how to program a turtle to draw a spiral. I miss that little turtle.

(also nice esteban icon! though now I'm going to have the song in my head all day)
Jan. 5th, 2007 07:47 pm (UTC)
What kids really need is a programming language, albeit for kids, that brings them up through the ranks of simple procedural up to maybe a real simple OOP or AP type programming style. Kind of a game, but with programming languages and as you beat each "level" you get to go on to the next one.

It's kind of like trying to find the analogue of the old chemistry kits that were supposed to get you interested in chemistry. There's no way a modern chemist would learn what he needs from those kits, but they were a way of getting folks interested.

Logo was cool but gets old quickly. Basic is too simple for what most folks see day to day in Flash animations or such. I'd suggest Java but that's got its own problems and doesn't have a good editor that kids could use.

I sense a business in here somewhere, but not one with a lot of money in its future.
Jan. 6th, 2007 06:40 am (UTC)
This is a good line of thought...

I'd almost say Perl can be taught that way, except that the punctuation would likely scare kids away. I know that even the limited punctuation that was there in Logo kinda made me veer off from the really complex stuff.
Jan. 6th, 2007 12:21 am (UTC)
But you've got one ... Right there in your web browser!

How about using Javascript as a programming language?
Jan. 6th, 2007 06:41 am (UTC)
Isn't there a bit of... um... barrier to entry, there? I for one wouldn't know the first step in making a Javascript program run in my browser.

Maybe that's my deficiency, but I don't see parents finding the right book to make this happen, and I certainly don't see it being put in kids' faces as one of the fun wacky things to do with this new device of theirs.
( 20 comments — Leave a comment )