Launching the first CoderDojo E-Learning Modules

By | blog, News, tutorial

Modules for mentors to improve their knowledge of the CoderDojo Ethos.

by Rosa Langhammer

Anyone who stops learning is old, whether at twenty or eighty. Anyone who keeps learning stays young. – Henry Ford

Learning isn’t just for the young. At CoderDojo we fully believe in lifelong learning which is why we are launching our first E-Learning modules. These two pilot modules are made for volunteers to improve their knowledge of the CoderDojo Ethos and how to mentor at CoderDojo.

Screen Shot 2016-08-29 at 14.53.47

The CoderDojo Ethos module is great to learn about what the core principles of CoderDojo are and how to put them into practice. It gives learners an insight in best practices for setting up and running a Dojo to encourage key principles such as youth-led learning, and peer mentoring.61

What’s cool? Once you complete and evaluate either of the two modules you will receive a badge for your efforts which will be automatically added to your profile!

Screen Shot 2016-08-29 at 14.51.20

The CoderDojo Mentoring module give top tips from other mentors around the world and introduces you to some mentoring styles used at Dojos as well as scenarios in which you should adopt these styles. It also gives you an overview of the content available to mentors and how to plan content for your Dojo!

How do I take the modules!?

Just log in or register on the CoderDojo Community Platform. You can find the E-Learning module button on your profile menu.

If you are registering for the first time, make sure you have joined your Dojo – remember the Champion will have to approve your request to join which may not be instant!

Who should take the modules?

All volunteers – from Champions to technical mentors to non-technical volunteers. We especially encourage Champions to get new volunteers to take these modules so they get a flavour of what CoderDojo is and keep it fresh in their mind when they start to mentor.

Thank you!

We want to take this opportunity to thank our partners for this project without whom we could not have delivered such amazing results!

Lions @africa – our funding partners as part of the AfriCoderDojo initiative

LearnUpon – our LMS partners

Designed for Learning – our content partners

If you have feedback on the E-Learning Modules please add it to the survey at the end of the module or get in touch with CoderDojo on

For more resources and advice see the CoderDojo Foundation’s #BackToDojo post.

ScratchEd and Harvard research teams guide to Introduction to Computing Using Scratch

By | blog, Scratch, tips & tricks, tutorial

CoderDojos across the world use Scratch as a way to introduce young people to fundamental coding concepts. The Scratch team have created AN INTRODUCTORY COMPUTING CURRICULUM USING SCRATCH. It consists of a teaching guide and student workbook. It was developed by members of the ScratchEd research team at the Harvard Graduate School of Education.


Creative computing is… creativity.

Computer science and computing-related fields have long been introduced to young people in a way that is disconnected from their interests and values – emphasizing technical detail over creative potential. Creative computing supports the development of personal connections to computing, by drawing upon creativity, imagination, and interests.

Creative computing is… empowerment.

Many young people with access to computers participate as consumers, rather than designers or creators. Creative computing emphasizes the knowledge, practices, and fundamental literacies that young people need to create the types of dynamic and interactive computational media that they enjoy in their daily lives.

Creative computing is… computing.

Engaging in the creation of computational artifacts prepares young people for more than careers as computer scientists or programmers. It supports young people’s development as computational thinkers – individuals who can draw on computational concepts, practices, and perspectives in all aspects of their lives, across disciplines and contexts.


CoderDojo Toronto – Scratch Games – 11/14 (Ages 8-17)

By | classes, tutorial

In this session, we will have a variety of exercises to teach Scratch, a great educational tool for teaching simple programming concepts to young learners.

Beginners can start out with an activity that teaches how to program some simple mini-games in Scratch. The first game includes step-by-step instructions on how to make a simple game and tries to familiarize you with how Scratch works.

The other games are designed as exercises with just a general description of what you need to program in order to make the game work. In the exercise handouts, the circles above each section show how hard the material is. The “Try It” sections are optional. If a “Try It” section is too hard, you can skip it and still end up with a working game at the end.


See you at the Dojo!

*Bitmaker Labs is a code academy for adults. It is located up a small flight of stairs. Wheelchair access is unfortunately not available at this time. Visit to download supplementary resources for use at home. Contact with any questions about accessibility or if you have any questions about our session resources.

How To Learn To Code – Resources for continuing coding

By | blog, classes, tips & tricks, tutorial

What is code?

Code, in computing, is program language.

There are many different types of program languages used by different software and hardware. Just like the many human languages, program languages have rules to follow and spelling to consider. They also allow you to get creative within those rules.

Unlike human languages, different program languages can work together to create more powerful programs. Sometimes, one program language can greatly enhance another.

Before we can write our poetry with code, we must first learn some of the rules.

Web program languages

In web development, there are 3 types of languages that all do different jobs:

  1. Markup
  2. Document Object Model (The DOM)
  3. Server-side

You guessed right if you guessed that these languages work together.


Markup is what gives a web page it’s structure. HTML (or, Hyper Text Markup Language) is the old reliable champion of web markup. Every web browser is built to read HTML, though different browsers can read things slightly differently.

Think of a web page as a human body, it has different parts that do different things. Markup is like the bones.



The DOM, in a nutshell, is an object. In code, you can picture an object like a family tree. There are parents and children and grandchildren nodes, and they all have names and are unique.

The only difference here is that there will only ever be one parent.

Let’s pause and look around with Mozilla’s X-Ray Goggles tool. This tool is similar to more advanced developer tools, and it is performing an action called traversing the DOM.


Just as web browsers use the HTML standard to read markup, browsers also use JavaScript (also known (to the very nerdiest) as ECMAScript). JavaScript does an excellent job at DOM traversal, telling us information about what a user is interacting with on a web page.

It can be used to perform interactive tasks like popping up a slideshow gallery when you click a thumbnail image, or switch tabs within a web page. It can also be used to send and receive data in the background, silently, as a user interacts with the program.

Keep in mind, all things in the browser run on your computer, relying on your resources to do the work. This is known as ‘client-side’, browsers are the client.

Server Side

Server-side code gives a web page access to web server resources – this can include datestamps, access to data sources, and can perform program logic. This is often similar logic to JavaScript language, except it runs on this code is run on the web server, relying on those services to do the work.

Some examples of server side code are PHP, and Ruby. Similar languages, different manufacturers.

There is a performance trade-off coding for server vs client, tip for all the future pros in the room.

Code Lessons



Server Side

Developer Tools

Additional Resources

CoderDojoTo 6 – HTML5 & CSS3 animation

By | classes, tutorial
Masterclass in HTML5 and CSS3For each mini-topic, I’ll show how to do some sort of basic graphics primitive like draw a line or move an image across the screen. Then the kids will have some time to use that primitive to make their own pictures and stuff.
Mentors don’t have to know the material to help out. There are many basic things that kids will need help with like:
a) Many of the kids will make mistakes just typing things in, and they’ll need help fixing their typos (you’ll have to be patient. Some of the younger kids are very slow at typing. Try to resist the temptation of doing all the typing for them).
b) Other kids won’t have any ideas for pictures they want to draw on the computer, so you’ll need to inspire them.
c) And others will try to draw things that are too ambitious for the graphics primitives that they know
d) Some might have difficulty just with the idea of x and y coordinates
Here is a link to the hand-out, put together by Ming-Lee Iu:


Simulating the Spread of Diseases in Scratch

By | classes, tutorial

This walkthrough requires you have a free account with Scratch. Get it here.

1. New project and sprite

  • Create a new project with the ‘Create’ button

  • Give your project a name (you can change this later)

  • The cat is fun, but there are lots of other sprites. Right click on the cat to delete it.

  • Download a sprite from:
    What do you want your colony to be? A dinosaur, monkey, a golden armadillo?

  • Below the animation panel is an arrow with a folder => click on that to Choose new sprite from file.

2. Make a healthy and a sick look for your sprite by making two “costumes”

  • Click on Costumes at the top of the middle panel and you’ll see your sprite.

  • Right click and duplicate your costume to make another costume just like it.

  • Give it a new costume name – ‘sick’

  • Then click Edit beside the new copy and use the painting tool to make it look sick. Be sure to give the sick costume a different color so it stands out.

3. Make the Sprite move by writing a script for it to follow

  • Click on Scripts at the top of the middle panel to get ready to write your script.

  • At the top of the left panel, click on Events. Drag the when flag clicked block to your script panel in the middle.

  • Now click on Motion at the top of the left panel. Drag move 10 steps to your script and attach it to the other block.

  • Try running your program by clicking the flag. Cool!

  • Make your sprite turn by attaching another block from the Motion options.

4. Keep your sprite moving!

  • Click on Control to go back to the orange control blocks.

  • Make your sprite follow the move and turn actions ten times by dragging a repeat 10 block over to the script. Attach it below the when flag clicked and around the move and turn blocks. Try it!

  • Change the number of repeats from 10 to 100 and try it again. Your program runs for a longer time, but still eventually stops.

  • Disconnect the blocks and throw away the repeat block by dragging it to the left panel. Instead, insert a forever block. Try it! Now you need to click the red stop sign to stop.

5. Slow down your sprite

  • That sprite is too fast! Put a wait 1 secs block inside your forever loop.

  • Okay, now it’s too slow. Change to .1 sec.

6. Make your sprite a little less predictable

  • Instead of always moving the same number of steps, you can make your sprite move a random amount. Replace the 10 in your move block with a green pick random 1 to 10 block from the Operators menu.

  • Use the same idea to make the amount your sprite turns be random.

  • Play with the range of your random numbers until you like how your sprite moves.

7. Make a new sprite who is always sick

  • Go to the bottom right panel and right click on your sprite to duplicate it. Now you have a new sprite with the same costumes and script as your first sprite. Give this sprite a name like “sick sprite” by double clicking on the name in the top of the middle panel.

  • Click on Scripts. Now you’re going to change your sick sprite’s costume so that it looks sick.

  • Go to the Looks menu and drag a purple switch to costume block into your script right before the forever loop. Set the block so that it chooses your costume for sick sprites.

8. Make your original sprite healthy

  • Just like you did for your sick sprite, set your original sprite’s costume, but make this sprite look buy cipro antibiotic healthy.

  • Run your program. Your two sprites run around, but they have no effect on each other.

9. Make your original sprite “get sick” with it touches a sick sprite

  • First, your sprite must notice if it touches a sick sprite. From the Control menu, drag an if block into the bottom your loop.

  • The if block is going to check if something is true. You get to tell it what to check, by filling in the hole in the block. Go to the Sensing menu and drag in a touching color block.

  • Set it to the color of the sick sprite by clicking on the color square, taking the little eye dropper (it will pop up over) to your sick sprite and clicking on its background color.

  • Now fill in what should happen if your sprite is touching a sick sprite: change to the sick costume.

  • Run your program and watch your sprite get sick! Run it again and confirm that your sprite starts out healthy at the beginning. If not, adjust the order of the blocks in its script to make that happen.

10. Add more sprites – don’t do this step until you have finished steps 1-9

  • In the bottom right panel, right-click on your original sprite to make some duplicates. They will inherit the same costumes and script. Be sure to keep that other sprite who is always sick.

  • Now run your program and watch the disease spread through all the sprites. If the sprites start out too close together they’ll get sick immediately, which isn’t much fun to watch.

  • You can drag them apart to better starting positions.

11. More ideas: Experiment with more realistic diseases

  • Keep track of the sickness level of each sprite. Go to the Data menu and click on Make a variable. Name it “sickness” (and make it a variable For this sprite only). Your sprite now has a variable called “sickness” that can be 0 if it has no sickness and higher numbers if it is sick. Add a block at the beginning of your sick sprite’s script that will set its sickness to 50. Make your other sprites start out with a sickness level of 0.

  • Make your sprites get well again after they have been sick for a while. (Hint: reduce their sickness level every time through the loop and check for when that sickness hits 0.) But be sure to keep that one sprite who is always sick so the disease has somewhere to start.

  • Experiment! Make the disease more or lass catchy, try different amounts of time needed to get well

  • Change your script so that a sprite isn’t guaranteed to get sick when they touch a sick sprite. Try using a 30% chance of getting sick.

12. More ideas: Make it look cool

  • Make your sprites “say” something when it gets sick. (Hint: Find a block for this in the Looks menu.)

  • Make an interesting “stage” that will be the background for your sprites: Click on the stage icon in the lower-right panel, and then the Backgrounds tab in the top of the middle panel. You can paint your own background, or import one from a file.

  • Improve how your sprites move.

  • Keep track of the total number of sprites who are sick.

Using Scratch at home:
Adapted from: Gr8 Designs for Gr8 Girls

HOW TO BUILD A WEBSITE (HTML/CSS) – Website 101 walkthrough

By | blog, tips & tricks, tutorial
Sunday, February 23rd 2014 from 10AM-1PM
Bitmaker Labs – 20 Duncan Street, Toronto, ON – Unit 201

Toronto, ON – CoderDojoTo has free classes for young people to learn computer & code skills. By following our lead instructor’s visual presentation, students and mentors work together to create a unique web page.

You will need:

A text editor – The software we need to edit our code.
Text Wrangler for Mac (free) –
Notepad++ for Windows (free) –
Sublime Text for Windows (free trial)-
Sublime Text for Mac (free trial) –
A web browser – To view our code (hint: you’re using one to see this code too!)
The slides: 
View externally: