Community Spotlight: Ed Price & Small Basic

KoduTeam posted this 29 March 2013

Greetings, Kodu Community!

In today’s Community Spotlight, we’d like to introduce you to Microsoft employee Ed Price, an enthusiastic advocate of Small Basic. Once we learned about Small Basic, it was easy to see why it should be considered by many as the next logical step after Kodu on the ladder of learning in computer programming. He volunteered to chat with us recently and tell the community all about it.

Can you tell us a little bit about yourself and how you got involved with Small Basic?
Ed PriceHello! I'm Ed Price. My connection to Small Basic is more like a small jigsaw puzzle, so I have to start by explaining the puzzle pieces of my background. I work on Customer Programs in the Data Platform Group. I've been working in Microsoft's Server and Tools division (which includes developer software) since 2009, helping further the progress of Microsoft community tools and environments such as TechNet Wiki and MSDN Forums.

When I was helping build self-sustaining communities in the MSDN Forums, I saw first-hand how passionate and vibrant the Small Basic community was. I saw how it was teaching youth, from age 8-13, how to learn programming and become professional-level software developers before they even graduate high school.

Here's a fun fact no one will tell you: an average job in the software industry could pay 2-3 times more than the game industry, and will likely pay 3-6 times more than many other industries. However, computer science education is not keeping up with the industry demand for qualified applicants. The future of our technologies (and ultimately our economy) is at stake. We need ways to excite, encourage, educate, and onboard the youth of the world into computer science and software engineering. I believe that's where Kodu and Small Basic can help out.

Small Basic Code

What sort of lessons can students learn in Small Basic?
You learn the core concepts quickly and easily because you learn them in the simplest environment. BASIC was started in 1964 and stands for Beginner's All-purpose Symbolic Instruction Code. It was created to teach software development. So we've provided a version that's even more simplified and better suited to get you up and running, writing your own code, and understanding core programming concepts, even faster. These core concepts include Variables, Conditions & Branching, Loops, Graphics, Shapes, Subroutines, Arrays, and Events & Interactivity.

Follow one of our tutorials, and you'll likely pick up these concepts much more quickly on your own (and even faster with a mentor helping you) than you would in a classroom, where you might learn the concepts for the first time, in a more complicated language. You'll learn all the foundational building blocks of languages like Visual Basic, C++, C#, and many more.

In your opinion, what’s the coolest thing about Small Basic?
Small Basic was originally designed by Vijaye Raji, and its success is derived from three pillars of value.

First, it's Simple. Small Basic is imperative and doesn't use or expose beginners to concepts like scopes, types, object orientation, etc. The language consists of just 14 keywords. There isn't a type system. You can create string and numeric constants and assign them to variables. Operations performed on these variables will be interpreted according to the content. All variables are global and are always initialized. They can be used before they're assigned! You can create a sub-routine and assign it to an event. The libraries provide static "Objects" that group operations, properties and events. New libraries can be created using other .Net Languages and added to the Small Basic runtime. If you're new to programming, this doesn't sound very simple. A lot of these details are what helps make Small Basic easier to learn and you can read more in the Small Basic FAQ.

Second, it's Social. Share your programs with your friends; let them import your published programs and run them on their computer. You can even post your games on your blogs and websites for them to play your creations in the browser! Check out the Small Basic Program Gallery, listed by category for examples. After you work together in making your game, you can discuss it with the community in the Small Basic MSDN Forum. And then we might feature it on the Small Basic MSDN Blog.

Third, it's Gradual. Small Basic is based on .NET and what you learn here could be easily applied to other .NET programming languages like Visual Basic. When you do “graduate” to Visual Basic, just click the Graduate button, and you can bring your existing programs with you into Visual Basic via the free Visual Studio Express download. Using this system, you can learn Visual Basic, C++, and C#, without ever spending a dime.

We love success stories! Would you share with us your favorite success story surrounding Small Basic?
In my passion to see more girls educated in software engineering, here is one of my favorite stories... A key community member and Small Basic Forum Moderator, LitDev, has 2 daughters (in Scotland) who he taught Small Basic to, at age 8. He said, "They use [Small Basic] mainly to create little graphical programs, lots of bright colors. The first extension I wrote was for them that speaks text - [and they created their own programs that] mostly insult each other! Here are examples: GQL381 (look for the hidden message) and FVV083 (must run locally; uses LitDev extension) of the kind of thing they wrote."

So there you go. Small Basic is useful for insulting your siblings. Oh, and education! That too.

I love to see the passion that's possible even in 8 year olds. Kodu is a great way to learn the basics of what programming is even before you try out Small Basic. Small Basic In Action

(Feel free to check out the Small Basic Student Testimonials for more great stories.)

What sort of options are available for teachers who may want to give students the additional challenge Small Basic can offer?
Check out Get Started with Small Basic. We have the free Getting Started Guide and the Small Basic Curriculum (which includes written materials and professionally made PowerPoint decks for teaching in a classroom, and low-cost books and camps from our various partners). We hope to update that page with more curriculum strategies and options as we continue to pursue integrating Small Basic into education.

In your opinion, what specific elements of Kodu help prepare students for Small Basic?
Kodu can help you get excited about what's ultimately possible in the world of development. You’ll also build a foundation of key programming concepts like conditions and variables. Small Basic provides the next logical step after you get a taste of what's ultimately possible.

Small Basic is unique because it introduces code as a first class concept, which is how you'll eventually have to approach computer science. Kodu is something you can always come back to in order to easily create fun worlds and 3D environments.

Do you have any general advice for someone who might want to transition from Kodu into Small Basic?
The biggest step is the first step. Try to devote a minute a day to checking out Small Basic. Install it and explore what's possible. Before long, you'll be in the software or game industry creating our next generations of technology.

We’d like to thank Ed for taking time out of his busy day to answer our questions! If you’re looking for some additional challenges in your coding adventures or feel ready to take things to the next level, why not give Small Basic a try? Or, if you’re just curious about the possibilities, why not take a moment to play Tankinator and Alien Barrage, both made in Small Basic?

Be sure to come back next Friday for another Community Spotlight!

Post Edited 05 April 2013