I consider BASIC to be an excellent beginner's introduction to "what
is a program?", etc., so long as they are exposed to other languages
immediately after grasping the basic principles.
Well, there is the "small" problem that BASIC syntax, data types, and
control structures relate poorly to modern languages and even less to
powerful abstractions.
I'm not convinced that's a problem.
What's wrong with Scheme? ?Or at worst,
Python?
The same thing that was wrong with the New Math: you don't dump the
full load of theory on a beginner, not unless you want a very confused
beginner, or you have the incredible luck to get a Ramanujan or Knuth
as a student (and if so, honestly, the best thing anyone can do is to
get the hell out of the way).
Scheme has no more theoretical load than BASIC.