01 Introduction to Software Design using QBASIC

There are six sections to this tutorial:

  1. Introduction
  2. Basics ‘Basic’
  3. Decisions and Loops
  4. Procedures
  5. The SIPOS Way

Introduction to Software Design using QBASIC

QBasic is a programming language designed for DOS (disk operating system) and is a very good language to learn and then  migrate  to modern day languages like VBA, VBSCRIPT, ASP, Visual Basic, C++, javascript and Java. You will learn to deal with more code, commands, and complex routines. Once you have learnt these basics, it easier to learn other more modern languages. You will find (QBasic.exe and QBasic.hlp)  on DOS disks and Windows 98-95 CDs.


QBasic allows to you define the ‘type’  of variable as number or characters like C++. It also allows loose typing, i.e where context tells you the type of data stored. Below is show how variables can be ‘typed,’ for loose typing all you need to do is give a variable a value:

name$ =” fred


pay = 3.45

This means spelling errors in variable names can cause problems. JavaScript is prone to this. QBasic provides good practice in dealing with this problem.


The tutorial can be used in standalone mode, but is designed to complement classroom teaching. Do not switch off and think you can do this course all by yourself at the last minute.


You can navigate the tutorial using the menu shown below. You can see it in the banner above.

Learning Objectives

At the end of this tutorial  you will know about:

  • The basic nature and features of a procedural programming language
  • Variables –  naming conventions and data types: text; integer; floating point; byte; date; Boolean. The benefits of appropriate choice of data type eg additional validation and efficiency of storage
  • How and when to use assignment statements; input statements; output statements
  • How to use Loops eg conditional (pre-check, post-check), fixed to repeat actions
  • How to use conditional statements and logical operators to make decisions
  • How and when to use assignment statements; input statements; output statements
  • How to use functions and procedures
  • Understand how to design software and use design tools
  • Understand the software development life cycle
  • Be able to design and create a program
  • Technical documentation: requirements specification; other as appropriate to
    structure charts, data dictionary
  • Be able to document, test, debug and review a programmed solution
  • Testing and debugging: test strategy; test plan structure eg test, date, expected
    result, actual resultUser documentation: eg details of hardware platform required, loading instructions, user guide; getting help