First published on MSDN on May 19, 2017

Authored by Ed Price

Several years ago Philip Conrod and Lou Tylee teamed up together to write and publish The Developer’s Reference Guide to Microsoft Small Basic.  Kidware Software has actually published seven Small Basic programming tutorial textbooks.   I will be posting a book review for each of them over the next several months during our “Learn Small Basic Now!” series of Small Basic Blog posts.  I should mention that Kidware Software and ComputerScienceForKids.com were the official launch partner for Microsoft Small Basic 1.0 when we launched Small Basic 1.0 way back in 2011.  Philip and Lou have also been guest bloggers on the Microsoft Small Basic blog several times over the past 6 years.  The Developer’s Reference Guide was the first comprehensive guide published for Microsoft Small Basic.

The Developer’s Reference Guide To Microsoft Small Basic (Amazon)

Paperback: 518 pages

Publisher: Kidware Software, LLC (September 1, 2010)

Language: English

ISBN-10: 1937161242

ISBN-13: 978-1937161248

Product Dimensions: 8.5 x 1 x 11 inches

THE DEVELOPER’S REFERENCE GUIDE TO MICROSOFT SMALL BASIC  provides an extensive overview of the Small Basic programming environment. The guide consists of 25 chapters explaining (in simple, easy to follow terms) how to use Small Basic to build programs.  A complete review of the Small Basic language is provided. You learn about each Small Basic object. You learn about button and text box controls, using the mouse, graphics, shapes, images, timers, sounds and sequential file access. Both text and graphics window applications are discussed. Over 100 programming examples are included.   We discuss working with data files, input validation, date arithmetic, integer shuffling, simple animation, line, bar and pie charts, programming check box and radio button controls, turtle graphics, and ways to share your programs.   THE DEVELOPER’S REFERENCE GUIDE TO MICROSOFT SMALL BASIC is presented using over 500 pages of notes and includes the Small Basic source code for all the examples are included in a .zip file after textbook registration.

About The Authors:

Philip Conrod started programming computers in 1977 after he borrowed a personal computer from his middle school math teacher over a long summer break.   He enjoyed programming so much that during high school he attended a two year Computer Programming For Business certificate program at WarrenTech where he graduated with honors in 1982.  Since then, Philip has authored, co-authored and edited numerous computer programming books for beginners.   Philip holds a Bachelor's degree in Computer Information Systems and a Master's certificate in the Essentials of Business Development from Regis University.  He has also held various Information Technology leadership roles in companies like Sundstrand Aerospace, Safeco Insurance, FamilyLife, Kenworth Truck Company, and PACCAR Inc.  Today, Philip serves as the Chief Information Officer for a $2B manufacturing company based in Seattle, Washington.  In his spare time, Philip still enjoys  publishing computer programming books and serves as the President & CEO of Kidware Software, LLC.    Philip makes his home with his lovely family in Maple Valley, Washington.

Lou Tylee has been programming computers since 1969 when he took his first Fortran course in college. Lou Tylee holds BS and MS degrees in Mechanical Engineering and a PhD in Electrical Engineering.  He has written software to control suspensions for high speed ground vehicles, monitor nuclear power plants, lower noise levels in commercial jetliners, compute takeoff speeds for jetliners, locate and identify air and ground traffic and to let kids count bunnies, learn how to spell and do math problems. He has written several on-line texts teaching Visual Basic, Visual C# and Java to thousands of people. He taught a beginning Visual Basic course for over 15 years at a major university. Currently, Lou works as an engineer at a major Seattle aerospace firm. He is the proud father of five children and proud husband of his special wife. Lou and his family live in Seattle, Washington.

Table of Contents


1. Introducing Small Basic

2. Overview of Small Basic Programming

Preview 2-1

A Brief History of BASIC 2-2

Variables 2-3

Small Basic Data Types 2-4

Arrays 2-5

Intellisense Feature 2-6

Small Basic Statements and Expressions 2-7

Small Basic Arithmetic Operators 2-8

Comparison and Logical Operators 2-9

Concatenation Operator 2-10

Math Functions 2-11

Random Numbers 2-13

Small Basic Decisions – If Statements 2-14

Small Basic Looping 2-17

Small Basic Counting 2-21

Small Basic Subroutines 2-23

Small Basic Objects 2-25

Chapter Review 2-27

Small Basic Objects

3. Program Object

4. TextWindow Object

5. GraphicsWindow Object

6. Controls Object

7. Clock Object

8. Text Object

9. ImageList Object

10. Shapes Object

11. Mouse Object

12. Timer Object

13. Sound Object

14. File Object

15. Debugging a Small Basic Program

16. Input Validation

17. Date Arithmetic

18. Shuffling Integers

19. Line, Bar and Pie Charts

20. Animation

21. Check Box and Radio Button Controls

22. Turtle Graphics

23. Flickr Photos

24. Dictionary

25. Sharing a Small Basic Program

Appendix I. Small Basic Colors

Click here to go to the the Developer’s Reference Guide to Microsoft Small Basic page on Amazon....

Book Reviews:
“Phil Conrod has a passion for writing tutorials and books aimed at beginner programmers and he’s done an excellent job of covering all the fundamentals of Small Basic programming.” Vijaye Raji , Creator of Microsoft Small Basic

A must-have for teachers of an advanced course in Small Basic. Along with a companion volume (Beginning Microsoft Small Basic), The Developer’s Reference Guide To Microsoft Small Basic provides the necessary documentation for a teacher to develop a curriculum for teaching Small Basic to beginners, and it provides the detailed description of the language’s instructions and features that Microsoft forgot to write. It makes sense to consider two courses for learning and using Small Basic: introduction and advanced. The companion volume ( Beginning Microsoft Small Basic ) is a good resource for a beginning course, and this book is an excellent resource for an advanced course. I believe that this book is a necessary resource to anyone who wishes to write Small Basic programs. “ - Donald M. Shepherd, Teacher

“The Developer’s Reference Guide to Small Basic is a must have for learning Small Basic programming”  - Anna Matteo, Italy

"I have had plenty of fun reading your books about programming for hours. They were clearly written and very understandable. I think your books are worth distributing in classes at schools to inspire kids, teachers and other people in their leisure, too. Your Small Basic and Visual Basic books are easily able to enthuse our kids during their lessons at school. Programming lessons can be so interesting, including those important aha moments, too.” - Gregor Burghardt, Teacher, Germany

“I Love it! The Developer’s Reference Guide to Microsoft Small Basic is big and heavy enough to hold itself open on my desk without flipping shut. It will also look good on my bookshelf. Your Small Basic books are great!” - Neil Kendall, Teacher, United Kingdom

"The Developer’s Reference Guide to Microsoft Small Basic was extremely helpful!   Well done, great examples.” - Stephen Crosley, Teacher

“My son loved the books ever since he started reading the first chapter. He was very inquisitive, learning and understanding more about computer programming. He is 11 years and I am really excited he loves it so much…..thanks for making this books so easy to understand for the Kids. Its a MUST BUY!!!!!”  - Ahmed Alam, Parent, Washington

“This book was very good and it kept me up at night using Microsoft's version of the BASIC language. To this date, they still have community rooms online and constant challenges to push the programmer to build programs. In case you're wondering, Math is necessary (yes I said it)” - Cash (Amazon Review)

“Looking for a nice language for "quickie programs" or learning to program? Microsoft's Small Basic is a free download, and this is just the book to tell you how to do more than write a "hello" program. It goes well beyond the basics and includes writing to and reading from files - very handy for advanced programs. The book's writing level is easy-to-read, and the examples are well thought out. A great addition for anyone using Small Basic.” JayArr (Amazon Review)

“As a computer-programmer-turned-teacher, I wanted to teach my middle school students how to program computers using a simple programming language. I considered several programming languages, eventually settling on Microsoft Small Basic because

* Basic is the programming language originally designed for beginners
* Basic is the programming language I first learned and used way back in the 1970's
* Small Basic is designed to put the "fun" back into programming
* Small Basic is free

After downloading Small Basic from the Microsoft website, I was impressed with its simple integrated development environment (IDE for short). I knew that my students would have no trouble using this simple interface to learn programming. I downloaded and studied a few game programs using the Small Basic Import feature, and I was impressed with the quality and simplicity of the applications. Being a former programmer, I then went looking for documentation describing the Small Basic commands and functions. I couldn't find any! I discovered that Microsoft had developed a rather nice beginning programming language, but they forgot to develop the documentation. Then I discovered The Developer's Reference Guide To Microsoft Small Basic. That was what I was searching for.

Along with a companion volume (Beginning Microsoft Small Basic), The Developer's Reference Guide To Microsoft Small Basic provides the necessary documentation for a teacher to develop a curriculum for teaching Small Basic to beginners, and it provides the detailed description of the language's instructions and features that Microsoft forgot to write. It is a huge paperback book--479 8 ½ by 11 inch pages. It has many illustrations and sample programs. The first two chapters are very important because they provide an overview and description of all parts of the Small Basic programming environment, including variables, data types, arrays, arithmetic operators, math functions, and many more of the "basic" Basic features. This information is critical and is not easily found in other sources. This information is presented in a form that non-technical teachers will be able to understand and use. The "meat" of the book consists of twelve chapters that completely define the objects, properties, methods, and events that comprise the language. Small Basic is a programming language based on the popular "object-oriented" design, and includes

* Objects - "things" that the language uses, such as text window or graphics window
* Properties - characteristics of objects, such as color or size
* Methods - things that you can do to objects, such as clear or hide the text window
* Events - things that the user of the program can do, such as click the mouse or select a checkbox

Microsoft does provide some general documentation on these object-oriented features of Small Basic, but this book provides practical examples of using these features, and that is critical to developing Small Basic programs. I particularly appreciated the chapter that describes the File object, which deals with how to use Small Basic to read and write simple text files, which is something that many programs have to do but is not properly described in the Microsoft documentation.

The last part of the book includes chapters on several important topics, such as debugging a program, creating various types of statistical charts and graphs, and animation, which is critical to designing the interactive games that kids love.

The book contains almost 500 pages of information that is necessary for developing Small Basic programs. It can be overwhelming for a teacher who does not have a programming background (probably 99% of teachers). But the nice thing about Small Basic is that it can be used by students to develop both simple text window-based programs as well as more complex graphics window-based programs. It makes sense to consider two courses for learning and using Small Basic: introduction and advanced. The companion volume (Beginning Microsoft Small Basic) is a good resource for a beginning course, and this book is an excellent resource for an advanced course.

I believe that this book is a necessary resource to anyone who wishes to write Small Basic programs.” – Donald M. Shepherd (Amazon Review)

More than just a language reference ... it's a Computer Science reference for new programmers”

How to use the “Developer’s Reference Guide to Small Basic”

First, it’s more than just a reference guide.

Kidware’s “Developer’s Reference Guide to Small Basic” is really an organizer – a way of presenting Small Basic as it was meant to be learned – as a cohesive set of tools to be employed by any serious programmer.
Small Basic is serious programming language – allowing professional results in both educational and recreational applications. It is designed to be used by beginners, but anyone visiting Microsoft’s web site can see how professional results are attainable to anyone who invests time learning Computer Science – with Small Basic not as the subject, but as the tool. With the Kidware Developer’s Reference, the authors make Computer Science explicit to the nubile learner.

Microsoft's new Small Basic is a simplified version of the many BASIC (Basic All-Purpose Symbolic Instruction Code) programming languages of the past. But unlike other BASICs of the past, in Small Basic it makes sense to speak in Object-Oriented Programming terminology. Small Basic has only 14 keywords (premised upon pre-existing classes) – each providing their own set of commands (methods) and variants (overloads).

The Small Basic language is simple enough to allow programs to be written with keyboard driven input and text-only output, but powerful enough to create eye-catching graphical user interface (GUI) applications where input may come from a keyboard, a mouse, or a touch-screen.

The Small Basic programming environment is very user-friendly – providing a context-sensitive command reference, so that the user learns the commands while typing. With Itellisense, each command has help on the side-bar providing an explanation of the syntax and the options available in order to complete the command.

Thus, while the Small Basic environment is ideal for the youngest programmer, this reference guide is written to complement Small Basic, to provide the best foundation for learning object-oriented programming concepts which are Computer Science.

Topics are ordered as they would be in any Computer Science course – right from the naming and declaration of variables, to data types, arrays, mathematical and logical operators, string functions, math functions, looping, decision making, and sub-routines. The specifics of Small Basic Objects; Programs, Text Window, Graphics Window, and Controls (buttons and textboxes), Clock, Text, ImageLists, Shapes, Mouse, Timers, Sound, and Files, are presented with proper emphasis on declaring (instantiating) objects of these classes, and accessing attributes and methods of each class. Thus, learners focus upon object-oriented concepts while mastering the classes which make up the Small Basic language.

Then, applications are drawn out for Input Validation, Date Arithmetic, Randomizing numbers (in card games), Charting (graphing techniques), Animation, check-boxes and radio buttons, Turtle graphics (allowing turtle-language “Logo”-like commands), and a Dictionary class.

While full solutions are provided, practical projects are presented in an easy-to-follow set of lessons explaining the rational for the solution – the layout of the GUI, coding design and conventions, and specific code related to the problem. The learner may follow the tutorials at their own pace while focusing upon context relevant information.

The finished product is the reward, but the student is fully engaged and enriched by the process. This kind of learning is often the focus of teacher training at the highest level. Every Computer Science teacher and self-taught learner knows what a great deal of work is required for projects to work in this manner, and with these tutorials, the work is done by an author who understands the experience of the classroom.

Graduated Lessons for Every Project. Graduated Learning. Increasing and appropriate difficulty. Great results.
By following the logical sequence of chapters provided in the Kidware Developer’s Reference, students are fully engaged and appropriately challenged to become independent thinkers who can come up with their own project ideas and design their GUI and do their own coding. Once the problem-solving process is learned, then student engagement is unlimited! Students literally cannot get enough of what is being presented.

These projects encourage accelerated learning - in the sense that they provide an enriched environment to learn Computer Science, but they also encourage accelerating learning because students cannot put the lessons away once they start! Computer Science provides this unique opportunity to challenge students, and it is a great testament to the authors that they are successful in achieving such levels of engagement with consistency.

My history with the Kidware Software products.
As a learner who just wants to get down to business, these lessons match my learning style. I do not waste valuable time ensconced in language reference libraries for programming environments and help screens which can never be fully remembered! With every Small Basic project, the pathway to learning is clear and immediate, and the topics in Computer Science remain current, relevant and challenging.

Quick learning curve by Contextualized Learning
“The Developer’s Reference Guide to Small Basic” encourages contextualized, self-guided learning.
Students may trust the order of presentation in order to have sufficient background information for every project. But the lessons are also highly indexed, so that students may pick and choose projects if limited by time.
Materials already condense what is available in the Small Basic context-sensitive help, so that students remember what they learn.

Meet Different State and Provincial Curriculum Expectations and More
Different states and provinces have their own curriculum requirements for Computer Science. With the Kidware Software products, you may pick and choose projects to suit your learning needs.
Learners focus upon design stages and sound problem-solving techniques from a Computer Science perspective. In doing so, they become independent problem-solvers, and will exceed the curricular requirements of elementary and secondary schools everywhere.

Lessons encourage your own programming extensions.
Once Computer Science concepts are learned, it is difficult to NOT know how to extend the learning to your own Small Basic projects - and beyond!

Having my own projects in one language, such as Small Basic, I know that I could easily adapt them to other languages once I have studied the Kidware Software tutorials. I do not believe there is any other reference material out there which would cause me to make the same claim! In fact, I know there is not as I have spent over a decade looking!

I thank Kidware Software and its authors for continuing to stand for what is right in the teaching methodologies which not only inspire, but propel the self-guided learner through what can be a highly intelligible landscape of opportunities.

Alan Payne, B.A.H. , B.Ed. (Amazon Review)
Computer Science Teacher
T.A. Blak...

Many Thanks to Philip and Lou for partnering with Microsoft and publishing The Developer’s Reference Guide to Microsoft Small Basic.  It had really helped many beginning programmers learn Microsoft Small Basic!

Small and Basically yours,

– Ninja Ed