Spring 2017: Workout #3 (3/12)


  • Parents make sure you don’t leave your child’s side until they are successfully logged in and ready to code.
  • If you were unable to bring a laptop, try to find a partner for your child so they can do some pair programming.
  • Also remember you need to stay on the premises.
  • And I hope everyone who has earned a belt wears it with pride!
  • Want to give some feedback? Fill out this form
  • Room assignments are not a hard and fast rule. We just want to divide up somewhat evenly to spread the WiFi use!

Novice Coders: Overview [Room 320]

  • If you don’t have a Scratch login, set one up at scratch.edu.mit
  • Share your 10 Block project in our Spring studio
  • Check out other coder’s 10 Block project
  • Work on the Build a Band project
  • Share your Build a Band project in our Spring studio
  • Check out other coder’s Build a Band project
  • Work on debugging some Scratch code (see the details)

Novice Coders: Details

These are coders who are just getting started. If you are new to coding in general or just new to Scratch (the language we use to get started) this is the group for you. If you’ve started to feel more comfortable and want to see what everyone else is doing, read down below and see if that appeals to you. You can move between groups to find the best match for you.

Last session we worked on the 10 Blocks project. After you finished your project, I wanted you to share it by putting it in our Spring studio. If you haven’t already done so, please share your project by putting it in the studio. Don’t know how? Ask another coder to see how they did it. Now that you’ve shared your project, check out what your fellow coders have done. Have questions how they did something? Search them out and ask! This is an important part of our Dojo experience. Don’t skip it!

Today we are going to continue to work on our Scratch skills. The focus will be on making sounds! The instructions are very simple. Create a Sprite. Add sound blocks. Experiment with ways to make your project interactive! So get to it! Find the Sound block section. Figure out what the blocks do. Remember if you want to know more about a block go to the Tips pull down and then click on the blocks tab in the tips section. How can you make your project more interactive? Can you make it respond based on a key the user presses on the keyboard? How about if the user clicks a sprite with the mouse? These types of control blocks are found in the Events block section. Want an advanced challenge? See if you can figure out how to use your video input to make your project interactive. The video sensing blocks are in the light blue Sensing Blocks section.

After you have played around with your Band, go ahead and share it by clicking the share button on the top right of the screen. Make sure you give it a name and somehow indicate it is a Build a Band project. Next link it to our Spring studio. Ask around if you are having trouble doing this. Once you have your project linked into the Studio, wait for other people to get theirs up. Better yet, go help them! Feel free to check out other band projects in the studio later. Today we are going to do a gallery walk. That means that we set up our project and have other coders walk by and try out your project. Everybody should feel free to ask questions and offer constructive criticism (advice) about each other’s work. Good luck and have fun!

Sometimes when we write code it doesn’t behave like we expect. The process of finding these problems and fixing them is called debugging. Want to know the origin of this expression? Read this! And this! Let’s do some debugging. Another thing coders do is work in pairs. Let’s give that a try. Pair up and try to figure out what’s wrong with any of these buggy projects:

With the time remaining, have fun and code up whatever you like. Make some noise, splashes of color, be silly, be serious. Whatever you want.

Everybody Else

This season the focus will be on earning your next belt. If you don’t have a white belt yet take a look at the White Belt Requirements. If you know how to do all of the challenges in the requirements, you are ready to take the White Belt Test. If you want to practice the test, you can by practicing with the actual testing tool found here.

Already have your White Belt? Your Yellow Belt? Good Work. Now it is time to earn your next one! We are following (for the most part) the belt ranks of the International Taekwon Do Federation. The belt order is White, Yellow, Green, Blue, Red, Black. In addition to your project to earn higher than White belts, you will need to mentor other Dojo coders and you will also need to demonstrate a higher level of skill in the programming language or system that you developed your project in. So if you are working in Scratch, we’ll ask you some tougher Scratch challenges. Working in a different language? We’ll ask you some challenges geared for that language (we might have to learn it first though!).

This session if you are still searching for just the right project let’s explore and see if we can find something that interests you.

Scratch Project Ideas [Room 321]

The Scratch programming language has a lot of features! How much have you explored? Any project that you create in Scratch should have sufficient complexity that it demonstrates your knowledge of many of the features of Scratch. Here are some concepts that will help you start thinking about a big fat Scratch project:

  • Do you like to tell stories? Use Scratch to tell an animated story. Here is an example
  • Do you like games? So do many other Scratchers!
  • Some coders make tutorials like this
  • Some artists make speed drawing demos like this
  • Some scientists make simulations like this
  • Some mathematicians do calculations like this

What can you come up with?

Python Project Resources [Room 319]

There are a number of options of what version and distribution to install. Mac’s come with a version pre-installed. So as a starting point you could roll with that. But I recommend the Anaconda distribution because just about everything you will need is already included.

I recently was shown an Integrated Development Environment (IDE) {the tool you use to write your code} that looks really nice.

The CoderDojo website also has tutorials and resources about Python.

You can also try CodeAcademy‘s tutorial to learn python.

Another good resource is this book designed to teach kids to code in python by writing games.

Web (for lack of a better generic descriptor) Programming Resources [Room 319]

Since this is a newer area for the Dojo, we need to work on curating these resources. You can help! If you have found something useful, like CodeAcademy let me know!

The CoderDojo site has resources for HTML, Node, JavaScript, Ruby, php and many more technologies. Take a look. They also have tutorials on many of this languages/frameworks as well.

Do some research. Ask some questions. Then let’s think of how we can use this new found technology to make something amazing!

Hardware [Room 319]

We currently have 4 mBot Robots. Resources for the mBot can be found at the Makeblock company website. What fun project can you think up to make with one or multiple mBots? Can you make them play soccer?

Again the CoderDojo website has resources for Arduino and Raspberry Pi projects.
We have several Arduino boards and a sensors kit with 37 different types of sensors that you can use. (You’ll have to do some research to figure much of this out. But that is half the fun!). What crazy sensing gadget can you come up with?

Dojo Maintenance [Room 319]

I have a lot of project ideas that are intended to enhance our Dojo experience. Here is the laundry list:

  • Creating a website for logging in coders and keeping track of what belt they are on and what they are working on. Maybe using face recognition as a login aid?
  • Figure out how to use the OpenBadges framework to award badges in addition to our belt system. See how they do badges on the CoderDojo web site.
  • Update/Upgrade/Overhaul the CoderDojoNova web site. Suggested improvements:
    • Registration that adds registrant to email list
    • Easier way to add new workouts
  • Finding a web hosting site that would work well for kids in the Dojo to create web content
  • Setting up git repositories for kids who are coding in text based languages