Google's Grasshopper app is a fantastic way for beginners to start coding
Google's workshop for experimental projects, Area 120, released a really interesting new app for Android and iOS.
Grasshopper: Learn to Code for Free is an app that offers basic lessons in coding with Javascript in a gamified format along with coding puzzles built around a realistic code editor. Marc Lagace and Russell Holly spend some time chatting about their experiences using Grasshopper and what makes it so great.
Marc Lagace: Today, we're talking about Grasshopper, an app that Google released this year that aims to teach coding concepts to beginners who maybe have never looked at coding languages before. I've spent some time playing around with it as have you, Russell, so why don't you walk us through it a bit?
Russell Holly: Sure. The first thing we need to do is take a look at what specifically this app does because the idea of a piece of software that teaches you how to code is not new. The thing that we have here is not something that's web-based. It's entirely app-based — there is no web format for using Grasshopper.
It's just the app that you have on your phone that's a Javascript tutorial system. The objective is creating things, which is different from a lot of the other "how to code" programs which are often like solving problems in a system that's almost like a game where you're building "if this… then that" kind of structures to solve problems, and the idea is to teach you how to think about coding, not necessarily how to create things with code. From the very first module, Grasshopper is walking you through creating simple constructs using Javascript.
M.L.: Yea, and the way it does it, too, is very intuitive. I'm an adult, but I've never done much coding beyond HTML, and certainly nothing with Javascript. I came into this at the ground level as a beginner who's interested in that side of things, but I don't understand the core concepts of it yet. After those first couple modules, you get that breakthrough moment where your is like "Oh, this is new and I understand it."
Be an expert in 5 minutes
Get the latest news from Android Central, your trusted companion in the world of Android
It's different than other web-based programs where you're following along with the projects because the way Grasshopper has been put together is really interesting. They show you what the code needs to do and then gives you an incomplete section of code and has you complete the code to make it work. It kind of feels like an "edutainment" puzzle game, but making edutainment the way it should be where you see the process unfold and learn as you go as opposed to trying to make it more of a game than it needs to be.
R.H.: There are a couple of important elements here that tie it all together. The first that even though you're using this on your phone, from the very beginning all of the code is structured and placed in something that looks like an editor — like an editor that a programmer would use. And that's an important thing because you don't get that with a lot of the "how to code" things.
There are these blocks that you drag around for "if" statements and variables that you click and drag, and when you get sat down in front of an actual editor or a developer studio, it's very easy for someone who doesn't have a lot of developer or programming experience to then feel overwhelmed because this is no longer the environment you're used to.
Whereas, Grasshopper starts you off right from the very beginning in a proper code editor with the appropriate color breakdowns for different variables so that you are looking at an actual editing suite from beginning to end. It becomes more complex as you move along but from the very beginning, as you said, you're looking at actual snippets of functional code that are doing things, and it's explaining to you how those different things work. I think the first couple challenges are building flags — like actual country flags — where you're just assembling the different color pieces in javascript, and all you're really seeing at the end is a web element for that flag. It's a simple thing, but it's a very easy way to feel a sense of accomplishment, and the cool thing is how it's all broken up into little pieces where it's the little risk/reward things that make you want to just dive right into the next module.
M.L.: The other thing that's novel about this app is because it's an app that's on your phone, and because everything is broken up into such bite-sized chunks, you can do a lesson or two anytime. I've been standing in line at the grocery store and notice the little notification pop up asking me "Hey, do you have some time to do some Grasshopper?" And I'm like "Hey, I actually do. I do have the time."
R.H.: Yeah, the notifications are cool. It caught me off guard at first, that I got a notification telling me "hey, come back and do this thing" because you have a minute. That surprised me because you don't get that with a lot of things — and it worked well.
Like you said, it's a good thing to have that little reminder where instead of playing MiniGuns or Pokemon Go or something like that, there's that little reminder that you can go and do this thing instead.
M.L.: Yea, totally! You can be as proactive or passive if you want. You could burn through the whole app in a day if you just don't want to put it down. Or, you can kind of have it remind you to revisit the app over time so you don't burn yourself out. I found using the app in random sessions helped me retain more information because I come back and jump right into a new lesson and have to rediscover these new concepts, but once you start some puzzles, everything starts to come back. It's such a good feeling when you realize these concepts are sinking in over time — especially if you've come into it completely new to coding, those first moments when you find yourself thinking "oh, I remember how to change that variable here or there". It's rewarding.
R.H.: It is, and at the same time that it's rewarding it's not overly negative in its reinforcement when you get something wrong. It's not just a flat out "you messed this thing up" — it didn't work, which is common. The puzzle failed so you just go back to the start and take a look. Because you're looking at a proper editor, it can break out the segments of code that failed and be very specific about it. And that's very important because you can set up a programming environment to work exactly like that. It's very close to how small sections of things could fail in the real world, while also being that kind of entertaining, almost game-like experience.
M.L.: Yea, it's sort of like an edutainment game, like those games you remember from elementary school. Except instead of teaching how to multiply numbers, it could be teaching a kid in elementary school how to code their first website or dip their toes into Javascript at a younger age than ever before. Nothing like this was around for my generation growing up but now the content is super accessible and right in your hands. Like you said, it gets you used to the code editing platforms and concepts that can be really overwhelming when you don't know what anything does.
R.H.: And it's also important that there's no real age guideline for Grasshopper. My kids are not strangers to code tutorial programs and actually building things in Scratch and other applications. So one of the first things I did was to see what my kids thought, and when I tossed at them and it was really the same kind of experience for them. It's not catered towards any particular age group or knowledge level, I don't think. It's really is something where anybody who doesn't have a background can easily pick this stuff up and go quite a ways with very little background knowledge.
M.L.: And the way the app is designed, it could unlock something new for you. Maybe it turns into a new hobby or a new career path depending on your situation and what you want to do with it. In my experience, it opened a door in my mind where I realized that even though I'm turning 30, I can still learn new things. It gets me excited about the stuff I use every day — technology and apps — I can still learn how those things work rather than just being a consumer. Sure, there's still a long way to go if I want to make my own app or whatever, but it's such an encouraging and rare thing to find these days — an app that actually makes you feel good about yourself at the end of the day.
R.H.: It's good and it really can be a stepping stone to some of the basic programs that are actually adult-oriented tutorials like Udacity, which are education suites for different forms of programming. This could be a legitimate stepping stone for that, for the beginning of maybe programming for Android or something like that. Any of those programs that don't usually have a very strict beginning component, but it can still be kind of overwhelming to feel like taking a tutorial course for introduction to programming, Grasshopper I feel does that job for getting that sort of beginner experience set up.
M.L.: Best of all, it's free so you don't have to put any money down and you're not feeling like you've wasted your money or time. It's free. Just try it out — don't like it, that's fine.
R.H.: Yeah, it's free and it's not platform-dependant. You don't need an Android phone to pick this up. It works just as well on an iPhone, too.
Download Grasshopper and learn to code at your own pace
You can download Grasshopper for Android or iOS for free and start solving puzzles and making your way through the available courses. Have you tried Grasshopper? Let us know your thoughts on the app in the comments below!