Belt System

About Belts

We award different colored USB flash drive wristbands based on your achievements. We call them "belts", based on the martial arts tradition of colored belts to denote rank. Belts provide a visual cue about where participants are, and a sense of identity for participants.

The goal of the Dojo is not to get belts, though! We want you to feel proud of the skills you worked hard to obtain: the belt is just a representation of that. If you lose your orange belt, you'll still remember how to hack a Raspberry Pi into an alarm clock using the i2c bus and an ATMega 7-segment backpack, which is way cooler than the belt.

Getting belts in our Dojo is hard. You are going to have to really work to get to the next level. There are no global standards for belt levels, it's up to each Dojo. It's okay to have feelings and opinions about how other Dojos award colors, but we also expect you to be courteous about it toward other Dojos, and keep the whining within our Dojo to a minimum.

Belt Principles

We have guiding principles about the belts, inspired by the main CoderDojo site:

  • No one has a right to a belt: it must be earned
  • We (the whole Dojo: mentors, parents, and all club members) will help you get there
  • We will be clear about what is required to get to the next belt level
  • We will give you feedback for next time if you did not make it
  • An element of Social Good is a must (for example: mentoring others in the Dojo, making a website for a charity, teaching elderly people to use the Internet)

Belt Colors

Our primary belt sequence consists of eight colors: white, yellow, blue, green, orange, red, purple, and black.

We may introduce other colors of belt outside of this sequence. Any time a new color is introduced, it will be available to all coders forever for an equivalent achievement, and the requirements will be added to this document.

Belts must be obtained in order. As an example, you cannot get a blue belt without first obtaining the yellow one.

White

  • Attend 3 Dojo sessions.
  • Learn the names of 5 members and 2 mentors.
  • Finish the white belt project you planned with a mentor.
  • Use two of: loop, conditional, function you defined.
  • Understand the coding concepts used in your project.
  • Share your project with others.

Yellow

  • Finish the yellow belt project you planned with a mentor.
  • Use a loop, conditional, function you defined, and an object or structure.
  • Handle user input.
  • Understand the coding concepts used in your project.
  • Share your project with others.
  • Help mentor in the Dojo.

Blue

  • Finish the blue belt project you planned with a mentor.
  • Meet the requirements of the yellow belt, plus: handle error conditions, and nontrivial input either from the user (something more complicated than "enter your name") or from an external source not under your control (e.g. realtime sensors or website scraping).
  • Understand the coding concepts used in your project.
  • Share your project with the group.
  • Regularly mentor at the Dojo.

[We're still working on requirements for Green and beyond]

Green

  • Finish the green belt project you planned with a mentor.
  • Meet the requirements of the blue belt, plus: [TBD]
  • Understand the coding concepts used in your project.
  • Share your project with the group.
  • Regularly mentor at the Dojo.

Orange

  • Finish the orange belt project you planned with a mentor.
  • Meet the requirements of the green belt, plus: [TBD]
  • Understand the coding concepts you have used in your project.
  • Share your project with the group.
  • Regularly mentor at the Dojo.
  • Mentor someone through getting their yellow belt.

Red

  • Regularly mentor at the Dojo.
  • Help someone get their blue belt.
  • On your own, invent, design, develop, debug, document, and publish a project at the orange belt level or higher.
  • Have code contributions accepted into an free software project that isn't your own.

Purple

  • Regularly mentor at the Dojo.
  • On your own, invent, design, develop, debug, document, and publish a more challenging project, then maintain and promote it until it has at least 5 verified users from outside our community.
  • Demonstrate expertise in a global context like YouTube, Stack Exchange, or a project's email list.

Black

  • Regularly mentor at the Dojo.
  • One of the following:
    • Demonstrate that some of your code is being distributed as part of a major Linux distribution.
    • Own and distribute a software package in use by over 15 people worldwide. "Own" means a package you wrote, or one someone else wrote and you have maintained through at least 2 significant releases.

Belt Reviews

Belt reviews happen on the first Saturday of every month. They are a meeting of mentors to determine if coders have met the requirements to move on to the next color belt.

You must apply to be considered for a review. To apply, just tell a mentor that you would like to be considered at the next meeting. Mentors will provide guidance about how to prepare your project for review. You can apply to as many meetings as you like, but you can only submit one project per meeting unless you have special approval from the mentors.

Belt review meetings should serve as milestones for your projects. Your project needs to be fully completed, committed to a repository (if appropriate), with build instructions and usage documentation, before the belt review meeting starts. We will publish belt review dates far enough ahead that you can plan out your project work with belt review dates.