History Of Qbasic
Introduction for Parents and Teachers
Kids love computers. They also like to create, and to have some control over the world around them. The computer will do whatever it is told. It may not seem that way at times, but it is true.
When I was a kid, all we had was the "old BASIC". It had line numbers and didn't teach good structured programming habits. QBASIC is a much better learning tool. With the information acquired from this book, one can move on to a more advanced QBASIC book (if you can find one). After becoming proficient in QBASIC, one can move on to more powerful languages like Visual Basic, Java, C, and eventually C++. I would suggest a course of study like this:
* Logo - Teach FORWARD, LEFT, RIGHT, TO, REPEAT. This shows the basics of programming. You can walk kids through all this step by step. You'll be surprised how much they'll learn. Very young kids can have a lot of fun with Logo. Just don't get too deep. Make sure it is a lot of fun.
* QBASIC - QBASIC is more like conventional programming languages than Logo, so before getting too deep into Logo, it's a good idea to switch to QBASIC. Kids will be resistant for two reasons: no more turtle (DRAW is similar, see the Graphics chapter), and the fact that it's a new language. They'll get over it. You can teach the basics of QBASIC interactively, but at some point, you need to turn them loose with this book, and let them type in the examples and ask you questions.
* Visual BASIC - All of the skills learned in QBASIC transfer nicely to Visual BASIC. Here kids can finally learn to make real windows programs. Visual BASIC also includes object oriented programming features that can be introduced to help manage larger programs. Visual BASIC versions 4 through 6 have varying levels of Object Oriented support, while Visual BASIC 7.0 (.net) is a complete Object Oriented language.
* Java - Introduce "C" and its cousins gently with Java. Object Oriented programming concepts can be introduced here or in Visual BASIC. Microsoft's C# is another alternative to Java. The big draw here is being able to develop cool applets to run on the web.
* C - Since "C" is probably the most marketable language of all, it has to be learned if you are serious about a programming career. The big plus for "C" is raw speed. Even compiled BASIC programs can't compete. When your kid starts really pushing the limits of BASIC, keep mentioning "C" as being even better. That will make them very curious.
* C++ - A better C, and object oriented programming concepts make C++ a must-learn. Not to mention the fact that C++ programmers are hard to find and are very well paid. The raw speed of C and the object oriented power of Java all wrapped up into one.
* Assembler - At some point, the truth about what's really going on under the covers must be told. Assembler can be introduced at any time throughout the learning process to explain how the computer really works. Keep bringing it up as being even faster than C.
Obviously, you'll have to determine when your child is ready to move from one language to another. My rule is that QBASIC should be introduced at a point where children can learn on their own from this book (10 or 11 years old). Then let them go and master it by themselves. This gives them a huge feeling of accomplishment. As you see them reaching the limits of what can be done, introduce them to other languages. The jump from QBASIC to Visual BASIC should be made when it is obvious that your child's programs could benefit from a Graphical User Interface (GUI). It's up to you to determine when they are ready.
If you are an elementary school teacher interested in teaching programming or software development (aka software engineering) to kids, I'd suggest starting with Logo at the third or fourth grade level. Then move to QBASIC for fourth, fifth, sixth, etc.... Having to teach a large number of students always presents a challenge as they will each have different abilities. Computer programming fits in perfectly with a math curriculum since it helps the students become more aware of numbers and how they "work". Because of learning to program in BASIC, I understood trigonometry by seventh grade. I had to, because the kinds of programs I was writing required that I understand trig, and apply it. What could be a better motivation for learning? Beyond sixth grade, I suspect one could introduce Visual BASIC, and continue on up through Java/C# and into C/C++ at the High School level. If anyone has any experience teaching programming at the elementary or middle school level, let me know what works for you, and I'll add it here.
At age 11, I learned from a book very similar in style to this one. It was the TRS-80 User's Manual and it came with my first Personal Computer, the Radio Shack TRS-80. I haven't stopped programming since then. I hope this book has the same effect on your kids (or maybe even you). Please email me with any comments or suggestions to improve this book. My email address:
1985-1987: QuickBASIC was originally released in 1985. According to microsoft.com, it was sold on a 5.25" floppy disk and wasn't available on 3.5" disks. Version 2.0 was released in 1986 on both 5.25" and 3.5" disks, having added the built-in user interface usually associated with QBASIC and QuickBASIC. Some relatively minor improvements were added to versions 2.01 and 3.0.
1988: QuickBASIC 4.5, the last version of QuickBASIC, became available. Microsoft's web site indicates that a few problems from version 4.0b were corrected and the Help system was greatly improved. From personal experience, 4.5 will work on any computer from an 8088 with DOS 2.11 to a Pentium IV with Windows XP, but works best on pre-XP operating systems.
1990: A repackaged QuickBASIC 4.5 was released, with a few changes. According to support.microsoft.com, the new packaging was smaller and less expensive to ship, and there were some minor changes to the product as well; three instruction manuals were combined into one, the files were compressed on to fewer disks, and a utility program for uncompressing them was added. Although they would become part of history in years to come, 5.25" floppy disks were still included, alongside 3.5" disks which have become the standard.
RECENT HISTORY
1991-1998: QBASIC, similar to QuickBASIC but without a compiler for creating executables, starts being included with DOS and Windows by Microsoft. According to wikipedia.org, QBASIC was included with MS-DOS 5.0 and later, as well as Windows 95, some versions of Windows NT, IBM PC-DOS, some OS/2 versions, and Windows 98.