Master BASIC programming with Free Books


BASIC (Beginner’s All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use. In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn.

The advent of the personal computer was crucial to the success of BASIC. The language was designed for hobbyists, and as personal computers became more accessible to this audience, books of BASIC programs and BASIC games surged in popularity.

BASIC is generally not regarded as the easiest way to take the first steps in learning the art of programming. But it does not hinder beginners from learning how to program, or teach them bad habits. And it’s the highest low-level language. Even today, there remains value in learning BASIC.

A Beginner's Guide to FreeBasic

A Beginner’s Guide to FreeBasic

By Richard D. Clark and Ebben Feagan (255 pages)

FreeBASIC is a 32-bit BASIC compiler that outputs native code for Microsoft Windows, Linux and DOS via DJGPP.

Chapters include:

  • Numeric Data Types – coverage of the numeric data types that FreeBasic supports.
  • Converting Numeric Data Types – implicit and explicit data conversion.
  • Introduction to the C Runtime Library – covers the #include directive, the declaration statement, runtime conversion functions, and more.
  • Arithmetic Operators – brief coverage of the arithmetic operators in FreeBasic.
  • Bitwise Operators – NOT, AND, OR, XOR, EQV and IMP operators, as well as information on the shortcut bitwise operators, the SHL and SHR operators, and ending with bitwise macros.
  • Mathematical functions- coverage of the supported mathematical functions including trigonometric functions, logarithms, and the C runtime library math constants and functions.
  • Pointer Data Type covers pointers and memory, typed and untyped pointers, pointer operators, memory functions, and more.
  • String Data Types – examines dynamic strings, fixed length strings, zstrings, wstrings, string functions, and more.
  • Composite Data Types – types, type initialization,and unions are given coverage.
  • Symbolic Constants – covers #define as a constant, the const keyword, const verses #define.
  • Arrays – the chapter starts by covering one, two, and multi-dimensional arrays before going on to cover dynamic arrays, array functions, arrays of types, arrays in types, array initialization and more.
  • Date and Time Functions – both intrinsic and extended data and time functions are covered.
  • The Format Function – looks at string format characters, numeric format characters, date format characters, and time format characters.
  • Console Programming – the console screen, the console functions, console colors, positioning text, printing text and more.
  • Control Structures – includes the IF statement block, the IIF function, and the Select Case Statement Block.

The book is published under the GNU Free Documentation License, Version 1.2 or later.

A Beginner's Guide to GAMBAS

A Beginner’s Guide to GAMBAS

By John W. Rittinghouse, Jon Nicholson (364 pages)

A Beginner’s Guide to Gambas introduces the Linux-based programming language to developers of any skill level. Intended for the Gambas novice, this book quickly introduces all of the major features of Gambas in a step-by-step manner with easy to follow sample programs and clearly written code.

Chapters include:

  • Introducing Gambas.
  • Gambas Language Concepts.
  • Keywords and Program Flow Control.
  • Introducing the Gambas ToolBox.
  • Controls for Gathering Input.
  • Menus, Modules, Dialogs, and Message Boxes.
  • Handling Strings and Converting Data-types.
  • Using Advanced Controls.
  • Working with Files.
  • Math Operations.
  • Object-Oriented Concepts.
  • Learning to Draw.
  • Error Management.
  • Mouse, Keyboard and Bit Operations.
  • Gambas and Databases.
  • Global Gambas.

The book is published under the terms and conditions of the OpenContent License (OPL), Version 1.0.

Learning to Program with Visual Basic and .NET Gadgeteer

Learning to Program with Visual Basic and .NET Gadgeteer

By Ulf Nilsson and Jan Maluszynski (125 pages)

This book is intended for school students and others learning to program in Visual Basic. It assumes no prior knowledge of programming, electronics, Visual Basic or the Visual Studio environment. Programming concepts are introduced and explained throughout the book. Each chapter is structured in a similar way: firstly a new concept to be learned is introduced, secondly there is a step-by-step tutorial on how to develop a simple example in Gadgeteer which uses that concept, and finally a set of exercises is given which enable the reader to practice the main points.

The book is licensed under the Creative Commons Attribution – ShareAlike 3.0 Unported License.

So You Want to Learn to Program? – Programming With BASIC-256

So You Want to Learn to Program? – Programming With BASIC-256

By James M. Reneau (380 pages)

BASIC-256 is an easy to use version of BASIC designed to teach anybody (especially middle and high-school students) the basics of computer programming. It uses traditional control structures like gosub, for/next, and goto, which helps kids easily see how program flow-control works. It has a built-in graphics mode which lets them draw pictures on screen in minutes, and a set of detailed, easy-to-follow tutorials that introduce programming concepts through fun exercises.

Chapters include:

  • Meeting BASIC-256 – Say Hello.
  • Drawing Basic Shapes.
  • Sound and Music.
  • Thinking Like a Programmer.
  • Your Program Asks for Advice.
  • Decisions, Decisions, Decisions.
  • Looping and Counting – Do it Again and Again.
  • Custom Graphics – Creating Your Own Shapes.
  • Subroutines – Reusing Code.
  • Mouse Control – Moving Things Around.
  • Keyboard Control – Using the Keyboard to Do Things.
  • Images, WAVs, and Sprites.
  • Arrays – Collections of Information.
  • Mathematics – More Fun With Numbers.
  • Working with Strings.
  • Files – Storing Information For Later.
  • Stacks, Queues, Lists, and Sorting.
  • Runtime Error Trapping.
  • Database Programming.
  • Connecting with a Network.

This book is released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.


Q10 PRINT CHR$(205.5+RND(1)); : GOTO 10

By Nick Montfort, Patsy Baudoin, John Bell, Ian BogostJeremy Douglass, Mark C. Marino, Michael MateasCasey Reas, Mark Sample, and Noah Vawter (324 pages)

This book takes a single line of code — the extremely concise BASIC program for the Commodore 64 inscribed in the title — and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture. The authors of this collaboratively written book treat code not as merely functional but as a text — in the case of 10 PRINT, a text that appeared in many different printed sources — that yields a story about its making, its purpose, its assumptions, and more.

They consider randomness and regularity in computing and art, the maze in culture, the popular BASIC programming language, and the highly influential Commodore 64 home computer.

This book is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike license.

Pick/BASIC: A Programmer's Guide

Pick/BASIC: A Programmer’s Guide

By Jonathan E. Sisk (462 pages)

This book provides an overview of the PICK editor, explains commands used in the PICK/BASIC programming language, and includes useful sample programs.

Chapters cover:

  • Pick Terminology and Concepts.
  • The Related TCL Processes.
  • Fundamental Pick/BASIC Statements and Functions.
  • The Concept of Loops.
  • Calculations and the Principle of Precedence.
  • String-Handling Intrinsic Functions.
  • Data Conversion and Print Masking.
  • Numeric Data Conversion and Output Routing.
  • The CASE Statement and Controlling Switches.
  • Looping with the FOR-NEXT Statement.
  • Extending the FOR-NEXT Construct.
  • An Introduction to FILE I/O.
  • Manipulating Dynamic Arrays.
  • A Generalized Data Entry Program.
  • Formatting Reports and Passing PROC Arguments.
  • Using the EXECUTE Statement.
  • External Subroutines.
  • Additional PICK/BASIC Concepts.

This book is published under a Creative Commons Attribution 3.0 Unported License.

Other reading:


Ada, Assembly, Awk, Bash, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Fortran, Go, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scheme, Scratch, SQL, Swift, TeX, VimL

Click to rate this software
[Total: 0 Average: 0]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.