Read other letters about this article
A quick google found a site called QBasic cafe, which has a current quickbasic. I don't know anything about them but they are not alone in the world of emulators.
Assembly is harder although Microsoft I believe still sells MASM. If not, NASM is a selectable install option for the inexpensive commercial linux distributions (Redhat, Suse). You should be able to simply open a command window and text editor, and a browser to download examples :))
The people who wrote about web development as programming made me sad.
Honestly, a book with BASIC examples in it is either an intellectual classic or worthless. Why not start with C, using the very approachable examples in Kernigan and Ritchie's "The C Programming Language?" They will work on any free compiler from microsoft, and they are twenty eight years old! There's something to be said for learning assembler, but the requirements of machine programming are well described in C as well, and there's this great book that starts with printf("Hello World");...the conventions of C have informed everything since.
The other great language to set up, if one is setting up old languages for reasons of edifyication and amusement, might be Smalltalk. Smalltalk gave rise to most of the common languages of today -- .NET and its manifestations, Java, C++. Its been used as an educational language and even getting the SQUEAK project to run was kind of fun, out of date and funky as it was.
When I was young and dumb(er), there were developer boards called KIM-1's which were the cat's pajama's for assembler programming. There was even a small basic. If you want to give your kid that, any Freescale development board with the cheap or free SDK and some kind of A/D -- from a speaker to the truly cool -- is a beautiful introduction to memory types, machine instruction sets, allocation issues, and tiny tiny increments of time. And its more accessible to motivated kids than the engineers at Motorola might think....