How can you help the next generation discover the power of code?

In this post I’ll introduce a great tool called touchdevelop and some content you can use to introduce coding to a new generation!

TouchDevelop by Microsoft ResearchBy 2020, it is estimated that one million computer science jobs in the US alone will go unfilled because there are not enough students graduating with the right technical skills. All of us can play a part in introducing computer science to students of all ages.  I have great news, there are some fabulous resources out there to help you do it! Today I’ll show you a tool called touchdevelop.

in this post I will cover

  • Who should try touchdevelop?
  • What do I need to run touchdevelop?
  • What can I build with touchdevelop?
  • What’s cool about touchdevelop?
  • Any quirks I need to know?
  • Okay I’m curious, how do I get started?
  • I know some kids who would like this, how do they get started?

touchdevelop is a tool developed by Microsoft Research.

touchdeveloprobotWho should try touchdevelop?

Touchdevelop is designed for students or anyone who likes making stuff but has never written any code, or for students with a very rudimentary understanding of code.  I would use this type of content for kids anywhere from grade 2-8, but that’s just a starting point, you can actually do some fairly advanced coding with the tool

What do I need to run touchdevelop?

All you need is a browser

What can I build with touchdevelop?

You can build games and mobile apps

What’s cool about touchdevelop?

  • Kids love the fact they can make their own graphics! Just open up Paint and start drawing! Make your own backgrounds, obstacles, heros and heroines! This makes it a great candidate for workshops where you pair older kids and younger kids together, the younger kids come up with ideas and do the artwork, the older kids help them bring their ideas to life.
  • You can actually publish the completed game or app to Windows, Windows Phone, Android, iPhone, iPad, or Azure websites!  You won’t do that with a group of grade 2 kids in one afternoon, but the fact you can do it is pretty cool! Imagine how excited a student would be to go get their friends to download their game!
  • The tool has some great tutorials which tell you where to click and what to change to build or fix games and apps. It’s pretty slick.

Any quirks I need to know?

If you are an experienced programmer who loves using the keyboard and shuns the mouse, you need to know the following: This tool was designed to work in a browser, even on devices with no keyboard. Most experienced coders tend to shun the mouse and primarily use the keyboard. Since this interface is designed for the developer to use the mouse and shun the keyboard it may take a little while to get used to the interface.

This tool was designed to let beginners get going quickly. There are always going to be trade offs. The number of methods and properties may be limited, but  you can build a pretty complex game without writing any physics engines! Here’s a specific example I encountered. You can write code that says “If Obstacle overlaps with Robot”, awesome, I don’t have to write complicated code for collision detection! But, that if statement will be true for the entire time the robot is overlapping the obstacle. As a result, if you write code that says remove a life when they overlap, you may be surprised to lose all your lives after hitting only one obstacle. Your robot didn’t stop overlapping the obstacle after the first life was removed, so lives continue to be removed as long as the two objects overlap. Can you write code to fix that? Hey, it’s code there’s always a way, the only question is, how hard will it be. I wouldn’t want to explain how to do modify the collision detection code to a 9 year old building their first game. But the kids will still be excited by how much they can control and create!

Okay I’m curious how do I get started?

Check out the tutorials! Most of them only take 20-30 minutes.

Doing the tutorials will start getting you comfortable with the interface, and when you are completed the tutorial they give you a code base you can explore and modify to learn more. I find most kids love learning how to build games, so the Jetpack Jumper and jumping bird tutorials are a great place to start. Then when you are ready, try building your own game from scratch!

touchdeveloptutorials

I know some kids who would like this, how do they get started?

Awesome question, glad you asked!  You have a few options

1. Take part in the Hour of Code!

Watch the hour of code webcast on demand or live on Channel 9, December 8th, 2014 at 9 AM Pacific Daylight time hosted by Canada’s own Susan Ibach and Sage Franch. In this webcast we’ll be showing the audience how to fix a broken game. We will introduce concepts such as variables, if statements and loops along the way

Sage Franch @theTrendyTechie Susan Ibach @hockeyGeekGirl
trendy_techie_sage_1 microsoft035Medium

2. Organize your own hour of code!

If you know how to code, you could do a workshop at a local school or youth club! Just pick one of the tutorials and have the students try to complete the tutorial. Then maybe plan a follow up workshop and encourage them to play and explore! Make the robot go faster, slower, more obstacles, make your own artwork, the whole idea is to help them understand they can modify the code and change the game. Have fun with it!

3. Go try a tutorial!

Visit https://aka.ms/startcoding and you will find a great tutorial to get you started. This tutorial is used for the hour of code webcast, so it’s a good alternative if you cannot attend the live webcast. There will be more touchdevelop content coming, I’ll be sure to share it on this blog as it arrives!

After you try it

If you do introduce touchdevelop to a student or a class, tell us about it! We’d love to see what they build! We’ve discovered the awesomeness that is coding, it’s time to share that love with the next generation! Let us know here or by tweeting to @cdndevs or commenting on the Microsoft Developer Facebook wall. You can find more resources to help beginners learn to code at aka.ms/learn2code