# Code Ninjas

Code Ninjas is a for-profit educational organization specializing in teaching coding to kids, and is the largest kids coding franchise in the world with over 400 locations open and operating in three countries. It is headquartered in Pearland, Texas. It was founded by David Graham in 2016, inspired by watching his son learn Tae Kwon Do. It has locations in the United States, Canada, and United Kingdom.

## Structure

Code Ninjas buildings are separated into classrooms and lobbies. The lobbies are for parents to pick up and drop off their kids and have free Wi-Fi, refreshments, and games or toys for the kids to play with while on break or waiting for their parents. Meanwhile, the classrooms (referred to as dojos) have giant desks and are restricted for only Code Senseis (the educators), and Ninjas (the students), aged 7–14, who are given laptops to do programming. Each of the kids start out at white belt and work their way up the "Path of Enlightenment" to Black Belt. In the "Create" program, different belts have different coding languages. For example, white, yellow, orange, and green belts learn JavaScript. Impact, the latest curriculum launched around May 2023 is structured around Microsoft Make Code Arcade a system that allows for text (JavaScript) or block-based coding, their previous program utilized a Konva based game engine, blue belts would learn LuaU, Roblox's own version of Lua. Purple, brown, red, and black belts learn C# with Unity. In black belt, the ninjas are directed to create their own game through the Unity platform. These games are then approved and uploaded to the code ninjas website. Throughout the curriculum, ninjas learn about computer science concepts such as control flow, object-oriented programming, and many other common programming concepts.

## Belts

Code Ninjas operates on a belt system, similar to karate. Ninjas begin at white belt, then progressing to yellow belt, orange belt, green belt, blue belt, purple belt, brown belt, red belt, and finally, black belt. Each belt has its own curriculum, and each belt usually uses different coding programs and types of coding. Each belt progressively gets harder and difficult, white belt being the easiest and black belt being the hardest. Although belts were originally represented through physicals electronic wristbands which would allow the ninja to "scan into" the dojo, Code Ninjas now does not supply physical bands and instead digitally keeps track of the ninjas' accomplished belts. Some locations still provide wristbands as a form of an accomplishment rather than a key to login for their sessions.

## Curriculum - CREATE Program

Based upon the Code Ninja's Belt System, there are 2 platforms the ninja can use in order for them to start and improve their coding skills:

### GDP, Roblox Studio, Unity (Legacy)
#### GDP - JavaScript

The GDP, which stands for Game Developing Platform, is a type of software developed by Code Ninjas as their learning software for the curriculum since their launch of 2016. The tools and functions can be found here Code Ninjas GDP Documentation for those who are currently working or started working at Code Ninjas to get a grasp on the software but provided under the file in GitHub: ReadMe.md, it is only strictly available for teaching and is not necessarily used for an open-source project but there is no license under the software of itself. The original reason for its documentation (or fork) was made by someone named Jackson Hagood, for Code Ninjas in Woodlands, Texas, to help improve their efficacy of teaching, but due to the franchise nature of Code Ninjas, it is eventually adapted for other locations across the country.
Despite the software is written in HTML, the ninjas will use JavaScript in order for them to learn how to use JavaScript instead of HTML. White to Orange belt focuses on how the player can learn how to interact the game using mouse click, basic movements, basic object interactions/collisions and events. Once they have reached to Green Belt, they will start working on more complex but similar concepts of collisions, working on platforms, movements etc. After they finished Green Belt, they will reach blue belt where Roblox Studio becomes the next goal for the ninjas to learn.
The GDP is covered in White, Yellow, Orange, and Green Belt; Language is JavaScript.
Roblox Studio - Lua
The Blue Belt program shifts their focus from GDP to Roblox Studio. This time, the ninja will learn how to use Lua, but they only learn how to make platforms or obbies (shortened for obstacle courses) in Roblox. There isn't much significance in this belt pertaining to learning overall, but it primarily focuses on the humanoid, which is a property that holds the information of the player's health, walking speed, and jump strength, events, and other simple concepts. It is favorited among younger ninjas because it involves Roblox. The reason for this change is not to just learn how to use a different language, but to start preparing the ninja to learn how to use Game Engines. Once they accomplish on completing Blue belt, that is when the curriculum will start shifting to a much more complex concepts like Object-Oriented Programming. This is when Purple Belt and so forth works on Unity and C#.
Roblox Studio is covered only in Blue Belt; Language is Lua.
Unity - C#
C# and Unity is introduced in Purple belt and is the final software before they reach black belt. This curriculum focuses on the object-oriented nature in C# and how they can apply those principles in making games in Unity. The concepts are similar to past belts, but focuses on abstraction, which is the main premise of object-oriented languages, and learning how to use Unity and the tools it provides to effectively make games in a more professional, industrial level. Purple to Red belt are considerably the longest section to work on, and it requires more time and effort for the ninja to complete. Once the ninja finishes the belts, they go on to Black Belt.
Unity is covered in Purple, Brown, and Red Belt; Language is C#
Capstone Project - Black Belt
(The ninja still uses C# and Unity)
Eventually, once the ninja makes it to black belt, they are given a goal: To create a game for them to publish. Completion time of Black Belt can vary between ninjas. It can take as much as 6 months but go as long as a year or even more. There is no curriculum, but instead a planning sheet for the ninja to use to plan, prepare their black belt game. There is no general direction for the ninja to follow, but he has to follow the plan that he created. If the ninja wants to make an RPG game, he has to follow directions to make an RPG game. Tower Defense, platform games, etc. requires different paths that they need in order for them to complete their game. They will need their collective knowledge for them to create their game. There are no rules regarding of how they make their game as long they put their effort into it.
Once they complete their game, going through series of tests, their game will be published to the Black Belt Website.
Capstone Project can only be done in Black Belt.

### IMPACT

IMPACT is a proprietary learning platform made in collaboration with Microsoft as a use of means to teach kids. Despite it being called IMPACT, it is built on top of another platform called MakeCode Arcade made by Microsoft.

## Summer Camps

During the summer, Code Ninjas offers camps alongside normal classes, where the parents drop their children off for a half-day summer class during the weekdays, either in the morning or in the afternoon. The content of these camps mainly focuses on programming skills, usually coding or other game development aspects in either Minecraft or Roblox; however, other camps such as becoming a YouTuber focus on improving students' computing abilities through other means, such as content creation. Other summer camps offered by Code Ninjas include 3D design and print with Tinkercad, 3D animation with Blender as well as various Python camps.