LEARN TO PROGRAM WITH SMALL BASIC: An Introduction to Programming with Games, Art, Science, and Math (2016)


Computer programming is magical. Programmers make computers come to life, and with the right tools, the possibilities are limitless. But even today’s skilled programmers started with something very small and simple.

I have often wondered what exactly makes programming exciting. The answer, I think, is how even tiny programs can make things happen instantly. When I was twelve, I was introduced to BASIC for the first time. The sheer simplicity of it struck me. It was inviting, not intimidating. And at the time, BASIC was everywhere—it had taken the new world of microcomputers by storm.

My first program worked flawlessly and gave me the instant gratification that kept me wanting to do more. This is what it looked like:

10 PRINT "Hello"
20 GOTO 10

These two lines of code just printed Hello again and again and again—but that’s all it took to get me hooked.

Fifteen years later, while working at Microsoft, I signed up to teach programming to a group of fifth graders. It was then I realized that as programming as a discipline had gotten more and more sophisticated, the simplicity of BASIC had been lost. There was no easy way for children to experience the same instant gratification that I experienced using BASIC.

When researching tools that could make learning computer science fun and welcoming, I stumbled across the article “Why Johnny Can’t Code”1). The article, published by Salon in 2006, argues that today’s children are missing out on computer science because there aren’t easy-to-use languages like BASIC readily available.

This inspired me to create Small Basic, a simple and easy way for children to learn programming.

But it’s been far from an individual effort. Since launching Small Basic in 2011, the outpouring of support from the community has been incredible. The programming environment has extended in ways I couldn’t have imagined—sensing hands and faces with Kinect, talking to robots, and even integrating with enterprise databases. Small Basic has been translated into more than twenty languages, and at the time of this writing, more than 280,000 programs have been uploaded to http://www.smallbasic.com/ by children around the world.

The original vision of Small Basic is now being carried on by Ed Price and Michael Scherotter, along with the support of active community members like Nonki, LitDev, and many more.

Majed Marji is no stranger to teaching programming. Following his success with Learn to Program with Scratch, I was really excited to hear he was going to author this book along with Ed Price. I’m happy to see Learn to Program with Small Basic come alive and be available for everyone who wants to take their first step into programming. The book does a great job of introducing beginners to programming concepts while keeping the content fun and engaging.

Welcome to the magical world of programming. What do you want to create today?

Vijaye Raji

Creator of Small Basic

Director of Engineering, Facebook

Former Principal Software Architect, Microsoft