Best programming language for beginners?

The problem with BASIC is that it has little standardization. A modern BASIC (say, Microsoft Visual Basic, or RealBasic) has most of the features that a modern programmer should like, has a compiler that produces fast code, and has a good IDE with powerful debugging features.) But those tend to lack "embedded" features. Other BASIC compilers are specifically aimed at microcontrollers, but you're likely to think that you've been handed a completely different language than those "Desktop BASICs" (you have.) Parallax Stamp PBASIC is horribly primitive and slow, for instance (but they make up for it by including "embedded programming functions" as language keywords (like "shiftout")

Pascal was indeed designed as a teaching language. But that was back in the mid-1970s, and it's been a bit neglected since the 1980s. To be useful, it needs "extensions" beyond the basic language, which are somewhat poorly standardized. I became disenchanted with Pascal when I realized how much it cheats - the language has features and syntax that a user can't duplicate (at least, not without more 'extensions.') And the extent to which it seemed to deliberately limit itself to be ONLY a "teaching language" (not that that lasted. For a long time, a lot of the Apple system and application software was written in a Pascal-like language.)

When considering a "learning language", you need to consider the teaching and learning resources available. And your "goal" - a lot of "learn XXX in 5 weeks" sort of programming instruction (including Arduino) is about learning to do some useful things as quickly as possible. That's great, but you miss out on principles. A lot of "University introductory Computer Science" classes are big on principles and theory, but essentially only prepare you to take the next class, where you'll learn more details (and eventually, how to do something more useful than a class assignment.) (and the truth is, that even after getting through a 4-year CS degree, your actual programming skill may be "meh" by industry standards, especially if you haven't forced yourself to do some major "projects" outside the scope of the usual assignments.) And University teach different languages depending on whether you're going into theory (CS) or into actual problem solving (EE, ME, Most of the sciences, etc.) (At one of the colleges my daughter looked at, they were still teaching Fortran! To Physics or ME majors, IIRC.

So... universities today seem to be teaching Java, Python, and C++ as their "intro" languages. I've take a bunch of online classes (MOOCs.) There have been some very good classes using Java and Python. The only C++ class I took was ... pretty awful. There was also the UTexas "Embedded Systems" class that used C (and taught some "embedded C constructs, but expected you to already know the basics.)

There's also the fact that "beginning" classes are NOT going to teach you everything there is to know about a language. One of the complaints about all three of those languages is that they're HUGE, with MANY FEATURES and EVEN MORE LIBRARIES. (as opposed to, say, C, which is really tiny (but still has lots of libraries.)) Some of the features seem to be obscure nods to some tiny corner of some unknown discipline, rarely used unless YOUR PROFESSOR happened to like them (or someone where you work.) The way you learn about these generally involves coming across them in published code, and going "WTF?" and then figuring them out...) Then you can either decided that they're useful, or the product of a deranged mind who shouldn't have been allowed near a compute. (There was a post recently where someone had used C++ operator overloading such that "a = b + c;" changed b and c. Shudder.)

Finally, it doesn't really matter all that much. If you learn C++, but the next class you take is "Data Structures and Algorithms using Java", you'll have a few things to catch up on, but you're not going to be completely lost. There are a lot of similarities between languages; you find pieces that you like better, pieces that you like worse, in one or another, and it may influence what you choose to use for your personal programming. But professionally, you're more likely to have that dictated by your employer, and it won't be THAT uncommon for an prospective employer to expect their language choice to be irrelevant. If you've done GPS data logging in C# for Windows Phone, the "GPS data logging for a phone" is likely to be a more important piece of the hiring decision than the "C#" part; you'd be expected to be able to do something similar in Java for Android phones without too much additional effort.