At theCoderSchool most of the students are your typical kids between the ages of 7-18. The typical CoderSchool students have a passion for learning and are excited about what they’re learning. This article however is not about them. It’s about a couple of very unique CoderSchool students that have a passion and determination to learn that goes far beyond any normal expectations.

Whether you’re a coder or not, I’m sure you have some level of appreciation for the effort it takes to learn to code. It’s just like learning anything worthwhile; it will take time and much effort. I’m also sure that everyone reading this has probably at least used a computer, unless perhaps you’re Amish. And even then, I understand, you probably have still used a computer but may not have owned one. So regardless, pretty much everyone can envision themselves using a computer. Now try picturing using a computer without any sight. That’s right; it’s suddenly not so easy to even imagine how you would accomplish the simplest of navigation on the screen. Now take it one step further and try to imagine what it might be like to learn to code without being able to see. There’s one exceptional student at theCoderSchool who’s blind and learning to code in Python. I don’t think words can describe his amount of desire and determination to be able to do this along with his Code Coach®. It actually takes a tremendous amount of effort as a team for both student and Code Coach®. There are unimaginable hurdles that most simply take for granted as they don’t have to deal with them.

Hurdles of being a Blind Student Learning to Code

When our Code Coach®, Jason Mortensen, first started teaching this student it was all new to him. He quickly realized the most simple techniques and strategies wouldn’t work. Using the internet is an obvious source of information for everyone nowadays. Jason quickly found that it’s not that useful when having to use a text to audio translation as it takes quite long to render and read and when there’s an image it doesn’t work so well since images can’t be translated. Didn’t think of that one right? No one probably would unless forced to deal with it.  Even trying to use the language cheat sheets isn’t that straightforward as the descriptions and code are usually delineated by using color. What he ended up doing is creating custom cheat sheets with clear labels saying things like “This is a description” or “This is code”.    Picking his language was also very important as you don’t want to pick one that’s too syntax regulated as your starting point. Suddenly the phrase nested curly brackets is pretty overwhelming. And again, these are generally delineated using underlines in text editors which is another visual indicator. Even dealing with spaces can present a problem as most text translators will treat a group of spaces as just one and if you know Python, the number of spaces preceding a line of code is critical. I mention the hurdles above and these are just a small sample to give you a clue as to what they are overcoming together to teach and learn to code. They’re going down the path of working on logical, mathematical, and text based games mainly and making great strides.  I had the privilege to shadow one of their sessions and was awestruck by both the student’s and Code Coach’s® passion, desire, patience, and care towards achieving their goal.

82 Year Old Student Learning to Code

The second unique CoderSchool student is an 82 year old gentleman who has now decided he wants to learn to code. Can you believe that? I couldn’t at first either, but it’s true. He’s 82 years young and wants to learn about web development so he can build his own website and blog. It just goes to show you with emphasis that it’s truly never too late to learn to code. Coincidentally our same Code Coach®, Jason, is also teaching him. He is a very unique student as is the student mentioned above. But they’re quite similar in a lot of ways too. They both have an amazing passion and determination to learn to code. Neither will let anything get in their way. And I do mean anything. If being blind or 82 years old doesn’t stop you, I don’t think anything will. Jason faces a different set of challenges with this student, but applying the same custom Code Coaching® methodology he is able to create engaging lessons that are allowing his 82 year old student to learn and make progress. If he were using a one size fits all curriculum it certainly would never work for both of these students.

Our Code Coaches® Learn too by Teaching

 Code Coach® Jason Mortensen Code Coach® Jason Mortensen

These two students have had as much if not more of an effect on their Code Coach®, Jason, as he has had on them. All of our Code Coaches® learn from teaching their students in the natural way as there’s no better way to hone your skills than by teaching them to someone else. In the case of these two students though, Jason has been able to gain an appreciation and respect he probably would not be able to unless given the opportunity to teach these two. Jason now has such an appreciation for things he always took for granted before like just being able to see the computer screen. He said this appreciation will hopefully last the rest of his life and gives him a better perspective on how he goes about dealing with other challenges in his own life.

 Worldwide Coding Schools of IAYCE Worldwide Coding Schools of IAYCE

One of the coolest things I’ve been able to do since starting the Coder School is meet folks around the world who are doing the same thing we are.  As it turns out, there’s a lot of coding schools around the world that are also teaching kids to code.  That’s why I co-founded IAYCE, an international alliance of coding educators.  This blog is a collection of schools I’ve come across (both in and not in IAYCE), but more than that, it’s an inspiration to us all that the entire world is teaching kids to code!

Believe me when I say it’s a really cool feeling to know that we’re part of this ever-important worldwide movement to teach kids to code – so high-five to each and every one of the schools on this blog!  While I’ve met most of the founders, I certainly can’t purport to know everything about how they’re running their company.  Each has their own methods and coding curriculums or code-learning platforms, but we’re all after the same awesome goal – get more kids coding!

Apologies in advance if I messed up any descriptions (email me at hansel@thecoderschool.com if I’m totally off on anything below!).

Before I go on, note that I’m only talking about coding schools, schools that predominantly teach kids under 18 how to code, that predominantly take kids into their location to teach, that seem to be expanding to new locations.  There’s tons more schools that only teach offsite, or maybe teach STEM and not just coding, or maybe only teach coding camps (ahem, IDTech!), or maybe is just sticking to one mom-and-pop location… so just a heads up I’m not ignoring them – just trying to make this blog a little shorter than a book!

First, the United States

It may come as no surprise that I’ve generally found more coding schools in the US than other countries.  Perhaps it’s the economy here, perhaps it’s that we’re behind the curve here, or perhaps it’s just because I live here!  I certainly haven’t found the full list of all coding schools (so email me if you feel like you belong on this list!), but here’s a subset of some of the more prevalent ones we know of (besides the Coder School, of course!):

  • Hackingtons – Founded and run by a guy named Matt, these guys are super cool.  They predominantly teach web related technologies like HTML and Javascript, and have popped up many locations around northern California.  Matt once said he’s going to be the Starbucks of coding schools – right on, Matt!
  • U-Code – These guys are taking over the Southern California market with plenty of power and bucks in their bank (they’ve raised some significant capital to get more kids coding!!).  Scott founded this bad boy way back in the day, and was one of the original coding schools.  Way to head up the trend, Scott!
  • Codeverse – Can’t say I know much about these guys other than that they’re based in Chicago area, and have an amazing looking space!  Founded by some apparently pretty awesome serial entrepreneurs, I think they’re targeting something like teaching a billion kids to code?!?  (wow, are there even that many kids in the world?!)  Congrats Katy, for pushing the envelope!  Can’t wait to see these guys grow (they’re fairly young, having started in late 2017).
  • MVCodeClub – Founded by Doug up north of San Francisco (MV stands for Mill Valley), these guys were the FIRST ones I ever read about in an article.  They’ve since spread their wings to locations across the bay, congrats Doug!  MVCodeClub is another original gangsta, having started in the 2013 timeframe.
  • iCode – Based in Dallas, these guys were one of the first to start franchising, at about the same time we did.  Founder Abid has created this insane looking super-awesome class A facility in Frisco where kids can code, make robots, all kinds of cool stuff!  Don’t miss them if you’re in Frisco (and don’t miss our own Frisco site either!).
  • Code Ninjas – Ah, the ninjas!  They’re the other big franchisors in the market, and have created some cool cool stuff.  They’ve created an awesome platform that teaches kids to code in a really fun and engaging way.  Founded by Dave with help from Marty, these guys have lots of franchise experience and will be competing hard against, and with, us for franchisees! =)  Love these guys though, not a bad thing at all to say about them, make sure to check em out if you’re looking into franchising!
  • Coding With Kids – Started in the Seattle area back in 2012, these guys have since grown to a bunch of locations around the country!  With classes often in shared spaces with other like-minded businesses, these guys are showing us that there’s demand around the country for coding!

Now, the World!

Ok now let’s get interesting, and see why it’s so cool to see and hear about kids from around the world learning to code.  The schools named below are part of IAYCE, an alliance that I co-founded with a friend down in Brazil who helped found Madcode.  I have to say, one of our prouder moments was being on a video call with 8 different coding schools from around the world, all talking about our best practices. Incredible!!

  • MadCode (Brazil) – Our original IAYCE partners, Alex, Danny and Ralf have done some amazing things in Brazil with MadCode.  With their own Portugese platform for teaching kids to code, their model revolves a bit more around teach at schools (though they do have their own branded locations).  They’ve even taught coding to thousands of kids in favelas (Brazilian “slums”) through partnerships with Accenture and SAP.  They were recently bought by Cel.lep, a network of schools in the Brazil area, ready to add coding to all their schools!  Congrats MadCode, and good luck on your upcoming expansion!
  • Computhink (Singapore) – David’s been at it in Singapore since way before we contacted him.  With such a math and science oriented country, you can believe he’s kicking butt!  Computhink offers classes from Scratch to Python and beyond.
  • Code4fun (Australia) – Grigory hails from Russia actually, but started Code4fun with his wife in Australia.  Getting their start by teaching in art galleries, Code4fun’s since expanded their curriculum to include more advanced stuff like Unity.  G’day, mates!!
  • Hatch (Canada) – Peter’s definitely the fun guy of the bunch, hailing from UPenn down in the states.  Hatch has created their own awesome platform based on Javascript, and is taking Canada by storm, eh?!
  • Koding Kingdom (Hong Kong) – John’s a serial business guy who decided there’s an awesome opportunity for coding in Hong Kong, and boy, is there!  John is also the first to partner with IDTech to provide their camps in Hong Kong – congrats!!
  • Arukay (Columbia) – I haven’t had a chance to talk to Vicki too much, but I know she’s busy!  Arukay has an array of other subjects they teach as well, and is one of the few in our group that’s not coding-specific.  They’re about to expand into Python, and we’re exchanging best practice info on how to do so – cool, right?!  Alliance powers, activate!
  • Maker Cocuk (Turkey) – Zeynep and friends at Maker Cocuk have a great curriculum style similar to ours where they go from technology to technology somewhat quickly, introducing kids to a wide array of tech from straight coding to robotics and even maker stuff!  Kudos to all the cool stuff Zeynep has been doing – can’t be easy with all the unrest in Turkey.  Great job Zeynep!
  • Ghana Code Club (Ghana) – Tina impresses me most out of them all!  Not a coder by trade, Tina has seen the need in the small country of Ghana in West Africa for the future generation to learn these basic technology skills, went and taught herself to code – and voila!  Ghana Code Club!  Coding classes to many kids who can barely afford a computer – can you believe that?  Kudos to Tina!

Now not everyone has joined IAYCE – we’re not THAT cool yet!  Here’s a list of some of the other schools we found around the world – kudos to all of you guys!

Who Else is There?

I don’t know!  But look at the list above again, isn’t it incredible??  Think of how many tens of thousands of kids are learning to code in a coding school somewhere around the world.  This is what it’s all about folks, this is the feeling of being part of something bigger.

How bout you, are you ready to join the movement and start your own coding school?  If you’re in United States, check out our franchising program!  (sorry, despite the many, many requests I’ve had for franchising internationally, it’s simply not something I’m yet ready for.)

Code on, friends!

The tortoise always beats the hare in the long run and in coding! This is a classic but oh so true tale of trying to go too fast and failing versus taking your time, steady and slowly, but achieving your goal. This classic tale epitomizes theCoderSchool’s philosophy of allowing its students to go at their own pace and making sure that they’re always engaged and having fun too. The other route of pushing too hard can help achieve short term goals, but in the end, the student will too often end up quitting and not returning. In comparison, when the student is allowed to go at their own pace working on projects that interest them, they tend to have a lifelong connection with coding and technology and will continue their journey with coding and technology rather than quit and be afraid. And even worse, for the rest of their lives have an animosity towards technology.

Can you teach my 7 year old java?

At theCoderSchool, we have parents quite often wanting us to teach their very young kids java. They want their child to excel so what better way to get ahead than by learning java right? This should be the obvious choice right because it’s a very popular language and quite complex so by learning java you’ll clearly get a jump on the rest of the world. There’s just one, well actually quite a few, problems with this approach. In general, unless your kid is the next Marc Zuckerberg, they simply aren’t going to be ready to learn and absorb a language like java at this young age. They may be able to get some exposure through Minecraft mods, but note that Minecraft mods do not require a full understanding of the logic and rigor involved in truly creating a java program from scratch. It’s more about following steps and then making adjustments to existing code to make changes. This is still great in many ways as it’s engaging and keeps the kids interested, but it is not learning java at its core.

General Progression of Cognitive Development

The better route is to remind ourselves of the general progression of cognitive development and make sure what you’re trying to teach is within the realms of what your student is physically and developmentally ready for. If you don’t get this right, you will be striking out pretty fast!  At theCoderSchool, we want to focus on teaching kids logic and how to think like a coder. Based on our experience, we found that 7 seems to be the right age at which our students are able to start and progress with logic – so that’s a great time to start with languages like Scratch or Snap!. Though there’s a vast market for the younger kids, we passed on this as we would then be spreading ourselves towards just exposure rather than always being able to focus on teaching kids logic and  how to think like a coder. We also, then found that a second milestone was around age 10-12 where we could easily start getting them into the typed languages and introducing them to more abstract logic – so we typically go with Python or Javascript at this point. And eventually move into a full object-oriented language like java around age 15. There are always exceptions, but this is the most common path that we are experiencing and works well. Interestingly, when we compared our progression with a famous developmental psychologist, Jean Piaget, it lined up almost to a tee. In short, his studies showed that up until age 7, kids are mostly still developing sensorimotor and pre-operational skills. Only as they approach 7 are they really starting to hit some operational and fundamental logic skills which is the perfect time to start honing those skills through learning to code a block language like Scratch. His studies also showed that it’s not until age 11 or 12 that kids start to really develop concrete operational skills which are required for more abstract logic. And what do you know, it just so happens to also be a good age to dive into typed languages like Python and Javascript, along with some of the abstract logic coding concepts. Piaget was born in 1896, so we certainly aren’t the ones discovering this, we’re just finding out that he was pretty spot on as it relates to coding! Kudos to Jean Piaget!

Conclusion

In summary, don’t be in a rush to have your kids conquer any one language, but rather make sure they’re engaged and enjoying what they’re working on. Focus on the fundamentals and building blocks in any language or platform. Go too fast, and you risk your student losing interest, and tipping over your Coder Tree!  When you can mix the fundamentals with engagement and fun guided by a Code Coach®, the sky is the limit!

Many of you out there have probably heard of the Hour of Code, and the folks behind it, code.org.  Started in early 2013 by Hadi and Ali Partovi, these guys have done an incredible job of impacting the world of computer science education for kids.  Since their founding, code.org has helped millions of kids in the U.S. and around the world learn to code, and hundreds of thousands of teachers get set up to teach coding to kids.  These guys have been instrumental to the still-nascent industry of teaching kids to code, so we really wanted to give them a shout-out by blogging about them!

Check out some of the awesome stuff on their site:

Coding Statistics

We all know kids need to learn to code, but ah, can you quantify it?  Now you can! Check out some of these amazing stats from their stats page:
* There are currently about 500,000 open computing jobs nationwide.  But last year, only about 40,000 computer science students graduated into the workforce.
* A computer science major can earn 40% more than the college average
* Women who try AP Computer Science in high school are 10x more likely to major in it in college.  Blacks and Hispanics are 7x more likely.
* 90% of parents want their children to learn computer science, but only 40% of schools teach computer programming

Whoa, those are some serious stats!  Coding for kids is no joke!

Coding Platforms for Students

If you’re a student wanting to code, check out their Learn tab and you’ll see a few options, including some fairly self-guided options.  They’ve created two cool coding platforms, one targeted at younger kids (Code Studio) and one aimed more for older kids (App Lab).  This is also where you’d go if you want to do an Hour of Code at your school.  You’ll also find lots of links to other tutorial sites to get your kids up and running asap, not a lot of prep needed!

Coding Curriculums for Teachers

If you’re a teacher with kids chomping at the bit (haha, is that a pun?) to code, check out this section by clicking on Teach.  You’ll find curriculums you can use to teach kids, broken up into elementary, middle, and high school.  It looks like they’re still working on rolling out their high school curriculum at the time of this blog.  The best part of all these curriculums is they’re free!  But sorry, they don’t come with a robot teacher – you’ll need to fill that position yourself!

Hour of Code

If you’ve never heard of Hour of Code, then you’ve definitely been living under the proverbial rock, at least as it relates to coding for kids.  code.org has done an amazing job of making this an almost ubiquitous term, known by teachers around the country.  Hour of Code originally started as an hour during Computer Science Education Week in December where kids around the country spend an hour learning to code, and has since spawned a life of its own where almost half a BILLION kids have tried it and been exposed to coding.  That’s a lot of kids!

What’s Next?

There’s much more to code.org, so if you have a sec, make sure to check out their site.  You’ll also find great quotes from big names like Sheryl Sandberg, Bill Gates, Mark Zuckerberg, and even a cool video with celebrity athletes like Draymond Green and Serena Williams that want your kid to learn to code!  If that doesn’t make you wanna grab your kid right now and throw them into learning to code, I don’t know what will!  Kudos to Hadi and all his great work, we look forward to plenty more awesomeness to come!

Shameless plug moment, while code.org has amazing resources, it doesn’t come with a personal Code Coach® (at least not until they’ve figured out how to 3D print a person to your house!).  We at the Coder School believe that learning to code is best done with the guidance of an experienced coder and in a social and cool environment with other students.  So go out and find a teacher, a mentor, or a Code Coach®, and let’s get our next generation ready.  Learn to Code.  Change the World.®

Next time you’re out and about, check out all the trees you see.  You might find tall trees, wide trees, red trees, green trees. Big trunks, deep roots, or super leafy branchy trees (anyone else just flash Dr. Seuss?).  Trees all grow differently, but there’s one thing in common – they all follow the laws of physics!  The bigger the tree branches, the bigger the trunk and the bigger the roots – otherwise it’d fall over in the slightest breeze!

At the Coder School, we think each kid learns to code in their own unique way, just like each tree grows with a different shape and size (and sometimes color!).  So our curriculums are flexible, and are customized around individual students, coaching kids with the style and content that we feel works best for each situation.  Think about how static coding curriculums work – they assume a one-size-fits-all way of learning.  A three month coding class takes a group of kids through the same topics in those three months.  Inevitably with a class curriculum, some kids are too fast, some kids are too slow, some want to work on this app, others want to work on that app!  That’s why there’s an educational trend today to customize how kids learn – both in content and speed.  And that’s why we at the Coder School teach in a customized way, in a super-small coach-to-student ratio (typically 2 to 1).  In our Code Coaching program, kids might learn Scratch or Python, games or websites, focus on data or graphics, robotics or mini-computers.  In our mind, there’s no wrong way to learn to code!

Our Coder Tree™ was born out of a need for a cool visual representation of how kids are unique in the way they learn, and evolved into a great reminder that there’s no shortcuts!  With a tree, you can’t grow a branch without a trunk, and a trunk doesn’t exist without a root.  Similarly in coding, you can’t learn advanced concepts without a solid, knowledgable, and wide base.

Imagine that the branches and leaves are advanced technologies like 3-D gaming or SQL databases.  The trunk then is core typed coding like Python or Javascript mini-applications.  The roots then represent the basic foundation of coding – critical thinking, variables and data, loops, and other logical concepts.  The more students want to grow their knowledge of advanced technologies, the larger the trunk and the larger the root system must be!  For example, it’s not uncommon that a somewhat inexperienced student wants to jump right up to 3D-Gaming right away.  In our customized curriculum model, we may even allow that (briefly!).  But what happens to a tree when you try to grow too many branches before you have strong roots?  In the same way, kids aren’t able to grasp the advanced technologies very well because they don’t yet have the foundational thinking.  They might learn basic modes, or memorize where to click or what to type, but can they really understand the underlying logic, are they really able to learn advanced1 technology without a foundational computational understanding?  The answer is no.

Keep in mind too that tree roots aren’t checkboxes!  Just because a student can code an app or two in Scratch doesn’t mean they’re “done” with Scratch!  Growing foundational roots takes repetition and practice, and learning to code is no different.  Just like memorizing all the chords doesn’t make you a master guitarist, understanding a code concept doesn’t mean you’re ready for the next level.  Like my guitar teacher used to always say, practice, practice, practice!

We use our Coder Tree™  to emphasize that coding isn’t a race, that it’s _not_ about learning the most advanced technologies as quickly as possible.  It’s about building the base, and understanding the core of coding and logical thinking.  And don’t forget, core coding concepts and logical thinking will never change – but advanced technologies will come and go by the time your kid is an adult!  So focus on the roots, and focus on the trunk.  You’ll find that when your kids grow older, their super-strong foundation will allow them to learn and grow in ways that we can’t yet imagine.

Wanna understand more about our Coder Tree™ or take a shot a coding like a tree?  Drop by one of our locations today and check in with a Code Coach®.  Let’s grow!

This article will discuss the top seven from heaven coding platforms which theCoderSchool uses to help teach its high school kids to code. You may be asking yourself, why is it the top 7 and not the top 8 or the top 6 or 5…. It’s probably the same reason that the top selling abs workout video is ‘8 minute abs’ vs. 7 minute or 6 minute abs. It actually could be any number, but seven seemed like a good lucky number – The Lucky 7. In all honesty, in my role, I meet with the general managers and Code Coaches® regularly and am always hearing about all the great and new platforms being used to teach theCoderSchool students how to code. However, there always seem to be a few platforms that are more popular and where the Code Coaches® tend to gravitate towards. When I reviewed those commonly being used with our High School students, the list just narrowed itself to these seven.

Before getting into the list, let’s discuss teaching a High School student vs. the younger students. In both cases, theCoderSchool’s philosophy is always to find something that interests them and will make it engaging for them. In the case of doing this with a younger student, it goes something like this: “So you’re interested in Disney’s Elsa, well let’s make the main character in your application Elsa then…and go from there”. But in the case of a high school student, you have to find something they’re interested in but then build something more content-oriented that’s associated or helpful towards that interest. For example, it might go something like this: “So you’re interested in majoring in Bio-engineering in college to learn about gene science. Hey did you know that you can model genetic algorithms using javascript?”

Both of the cases mentioned above are real scenarios that happened and both worked out really well where the students had a blast, were engaged, and learned a lot. How does all this relate to this article? It doesn’t directly, but I wanted to give you some background on how the high school students minds work versus the younger kids so that you can get a sense as to where the platforms/tools being used to teach them are coming from. For high school kids to learn to code, the platform does not need to be super graphical. Although it can be, it doesn’t HAVE to be because they’re plenty old enough and able to focus. As long as the subject matter is of interest, they will be there with you each step of the way. But try and force a boring topic down their throats and they will leave you in a heartbeat. Remember, high school kids can generally already drive and are becoming adults now. They can and will make their own decisions.

Here’s our top 7 list (drumroll please….!):

1. Coding Ground

Coding Ground is a really nice option to teach our high schoolers almost any language. Coding Ground is an online IDE for pretty much all the major languages (java, c++, python, etc.). It even has cobol so how’s that for everything! It’s nice because it’s available online and is free. However, it is also limited for those same reasons and as your high schooler gets more advanced we do recommend for them to start using their own laptop and for example if learning java to install eclipse as they become more advanced.

2. JSFiddle (Javascript)

JSFiddle is one of the best choices when teaching high schoolers javascript along with webdev. This platform brilliantly blends the fundamentals of webdev (HTML, CSS, javascript) into one easy to navigate platform which is online and free. Your high schoolers will quickly make progress building their pages and can render with the click of a button.

3. PLAYCANVAS (Javascript)

Playcanvas is another great teaching platform option for teaching high schoolers to code. The language that they would be learning is javascript. It’s available online but adds in the extra engagement factor of being able to create something in 3D. Who doesn’t enjoy 3D whether it’s in the movies or in coding. 3D just kicks it up a notch as far as being engaging and captivating so is another great teaching tool.

4. Pygame (Python)

Pygame is a set of python modules designed to help with creating video games. It includes computer graphics and sound libraries which are to be used with the Python language and really enhances a high schooler’s experience when choosing to learn Python. For any student interested in game development this should be at the top of your list, especially if they are also wanting to learn some Python. It cannot run on just a browser though and does require installation onto a local machine. Or you can use it on a raspberry pi which has it installed. Speaking of pi, that’s definitely another great platform and guess what? It’s #5! How’s that for a great transition? So let us dive into number 5….

5. Raspberry Pi

The raspberry pi is the hottest new credit card sized computer. Kids of all ages are attracted to the raspberry pi! For this article we’ll focus on its aspects that are attractive to the high schoolers. It’s a great intersection of hardware and software. It’s a kit that allows you to pseudo build your own computer. It’s pretty straightforward, but since it has you doing things like sticking the heatsink on, it feels low level and really gives the kids a sense of pride and ownership from building it. Once built, the options are endless with it’s ability to connect and control so many peripherals. It fits in well with the IofT popularity and buzz! High schoolers are having so much fun utilizing the pi to do cool things they don’t even realize they’re learning coding too! It offers exercises ranging from linux commands to python coding.

6. Unity

Unity is an amazing cross-platform game engine developed in 2005. Unity is notable for its ability to target games to multiple platforms and focuses on helping developers build 3D games. Any high schooler interested in game development will enjoy Unity. Unity can even at times be used to teach younger kids some basic coding concepts while having fun working on a 3D game. But in general Unity is meant for the more advanced which fits your high schoolers really well.

7. XCODE (Swift)

Xcode is an integrated development environment for macOS containing a suite of software development tools developed by Apple for developing software for macOS, iOS, watchOS and tvOS. First released in 2003, the latest stable release is version 8 and is available via the Mac App Store free of charge for macOS Sierra users. Xcode is great for any high schoolers interested in creating iphone apps. It’s exciting for your high schoolers due to its direct relation to Apple and mobile.

Conclusion

When teaching a high school student how to code, pick your content and subject matter first and let that drive your platform choice. You’ll also notice from our earlier blogs that there tends to be more platforms to choose from as your students get older because their interests and their abilities broaden quite a bit.  And as always, don’t forget to add the secret ingredient, a Code Coach® that drives the passion and ignites the learning!  Happy Coding!

My last post on Elementary School kids coding platforms was so fun, I figured I better do another one!  There’s lots of great tools that are being created out there, it seems by the hour, and plenty to choose from.  This definitely isn’t a complete list, but it’s some of the tools that we’ve found effective for teaching kids around age 11-14.  And bonus, these are all FREE platforms for teaching kids!

The Middle School years are an interesting lot.  Kids are starting to come into their own, hitting that hormone-growth stage.  It’s also the time we’ve found that kids’ logical brain are really starting to grow, and their understanding of coding beyond basic sequential stuff really accelerates!  At the Coder School, our average age is probably around the 11-12 range, so it’s definitely the sweet spot, and the fun spot too!  At this age, kids are typically starting to move towards typed languages like Python or Javascript, though often still with some easier built-in graphical components.

Before we start – our standard disclaimer!  While there’s lots of tools/platforms you can use to teach kids how to program a computer, many of them require a mentor or Code Coach® to really drive the passion and knowledge home.  Since Middle Schoolers often have a bit better attention span, sometimes it seems they can be left to their own devices when learning.  But think about music or sports.  Can your (actually WILL your) Middle Schooler really become an awesome guitar player just watching Youtube?  Would Peyton Manning be Peyton Manning without a coach his entire career?  (hint, the answer is no to both!).  So be careful – balance self-driven time with coaching time and you’ll get the best results!  And with that out of the way, let’s get to our platforms!

 “Gravity Crash” by L. Newhouse (age 11)

Trinket.io (Python)

One of our original favorites, Trinket is a great graphical tool to get kids transitioned from the drag ‘n drop world of Scratch or the game-oriented world of Code Combat, to a more “pure” Python world. Python, for those un-initiated coders, is one of the world’s most popular languages today – powerful enough to be used by professional coders word-wide, but easy to read and use enough for kids to pick up quickly.  Because of that, it’s one of two languages that we typically use as the “first real-world language” that we teach our students (the other language is Javascript).

Trinket is great because it allow kids to code Python purely on the web (browser), and create an account, log in and save their code.   Like Scratch, it even lets you “Remix” code – take someone else’s project, create your own copy, and edit the code from there!  Trinket isn’t quite as strong when it comes to pre-existing code or follow-along tutorials, but because they use a graphical library called “turtle”, it’s fairly easy to start using Python to draw stuff up on the screen.  One of the first few lessons we typically teach is all about drawing squares and polygons using Python.  As things progress and the Python programming gets more complex, you’ll want to move off Trinket to a pure Python coding environment, as Trinket has its limitations once things get a little dicey in complexity.  That said, you can still get craaaazy complex with Trinket in terms of logic – check out the Gravity Crush created by one of our student that uses real Physics gravitational formulas to play “billiards”!  To REALLY get a sense of the awesomeness of this kids, check out lines 233 and 234 from the code, excerpt below.  Newtonian gravity and vector scaling by an 11 year old?!?  What the WHAT?!

 # newtonian gravity. Product of masses is set to 100
collider.vel.shift(distVector.scaled((100)/((distSquared))).scaled(width*height/560000))

Codepen (Javascript)

While Python is one of the hottest languages today, Javascript’s one of the most popular.  What’s the difference?  Well… that answer might take a book or two!  High level, Python is a general-purpose language that can do lots of cool stuff, including scripts and data stuff or making games.  Javascript can do a lot of things too – but the biggest advantage is that it’s the language that runs on all web browsers.  So that means anytime a website actually “does” something with logic (like check if a field is blank), it’s pretty much running Javascript.  Websites, as many of you know, run on a set of languages called HTML and CSS, which provide a lot of the graphical and color elements on webpages you see today.  Because Javascript forms the core of all logic in the web, it connects really well to HTML and CSS, and so presto – it’s automatically already a pretty “graphical language”!

 CodePen CodePen

Phew, and I still haven’t even talked about CodePen yet!  CodePen is a great online tool that allows kids to learn Javascript “in real time”.  That means with a split screen, kids are able to see their code run right away.  Pop quiz – where does Javascript run?  That’s right, in a browser!  Our students who work on CodePen are typically combining the logic and coding language of Javascript with HTML (and maybe CSS), and seeing their output right there.  Sometimes we’ll use CodePen to teach our kids HTML and CSS too – both fairly straightforward languages, though neither can run logic.

CodePen isn’t exactly made for kids (professionals often use it), so that’s a possible disadvantage (or advantage!).  There are a number of projects you can reuse and discover – but they do tend to be a little higher in difficulty.  But for starting from scratch to learn HTML, CSS, or Javascript, CodePen is a great choice.

Pixelpad.io (Python)

 PixelPad Screen PixelPad Screen

PixelPad is another great Python option, a lot like Trinket.  Seems like the rage these days is to end your domain in “.io”, doesn’t it?  Anyway, PixelPad comes from our friends up north, and was built by Jamie Chang over at UndertheGUI, a coding school in Canada.  Like Trinket, kids can create a login and save your Python code up in the cloud, all the Python runs in your browser, and you can share your games and creations easily.  PixelPad’s a little more game oriented, with the main differentiator being their step-by-step curriculums.  Some are free, and some aren’t, but PixelPad gives a great option for kids to jump on and follow a curriculum faaaaaairly independently.  At one point, they even let kids create their own version of Plants vs Zombies in Python!  PixelPad is a pretty new platform, so you can expect lots of great content to come!  Our Code Coaches typically bounce between PixelPad or Trinket as similar options.

Coding Bat

 Coding Bat Screenshot Coding Bat Screenshot

The last platform here’s a little different, not really game oriented or graphical.  Rather, Coding Bat is challenge and logic oriented, so it’s not for every student.  You can see by the screenshot it’s pretty basic looking, but for the puzzle lover students and kids, especially combined with a mentor or coach, it’s pretty awesome.  Coding Bat runs both Python and Java languages, and presents kids with logical problems to solve using code.  Kids can program it in Java or Python and submit it, and the site will check the answer for them.  For example, here’s a simple logic problem kids might start with when first learning coding basics, using if-then conditions:

The parameter weekday is True if it is a weekday, and the parameter vacation is True if we are on vacation. We sleep in if it is not a weekday or we’re on vacation. Return True if we sleep in. Create a function sleep_in(weekday,vacation).

We use Coding Bat to test kid’s logic and programming, see how much they picked up from other platforms they’ve used.  Because the site is fairly basic, kids typically need to already have a somewhat decent knowledge of Python or Java first.  But what a great way to get the logic down (and fun for some of us puzzle-loving adults too)!  Coding Bat is a great tool for kids who eventually want to hit a Computing Olympiad (USACO) competition.

Conclusion

Is that it? No way!  There’s tons more platforms out there for middle schoolers, many/most are free, just get out there and hit Google!

Learning to code for kids has become a hot topic these days.  And anytime there’s a hot topic, you can bet lots of folks out there are swarming to build something for it!  As parents, we’re starting to see lots of great options for how to teach our kids to code, with more popping up it seems on a daily basis!  At the Coder School, our strength is in the experience and smarts of our staff – but we use coding platforms all the time to teach.  Over the years, we’ve ebbed and flowed and have trended back and forth and found lots of cool tools and platforms to teach with, but some of them really stuck out for us.

This series of blogs will dive into some of the platforms we’ve encountered, broken out by age group.  This first blog will target the elementary age school kid who’s itching to code!

Before we start – we have a Coder School disclaimer of sorts!  While there’s lots of tools/platforms you can use to teach kids, it goes without saying that it’s not like those TV commercials where you “set it and forget it”!  Learning to code takes a passionate and knowledgeable teacher, a Code Coach® – someone to guide the student, answer questions, and really customize the experience.  That’s a whole nother topic that I touched on in our first blog, and might just need to jump back on in the future!  Anyway, without further ado…

Top 5 Elementary Kids Coding Platforms

 Fish Food , coded by a Coder School student (click to play!) Fish Food , coded by a Coder School student (click to play!)

1. Scratch – Built by the brilliant folks at MIT, Scratch was developed back in 2003 as one of the original coding-for-kids platforms.  It’s widely considered THE go-to tool for teaching younger kids how to code, and almost every coding school uses it in some form.  In my opinion, if it weren’t for Scratch, I don’t believe coding for kids could even exist – so kudos to the Scratch team!

There’s two big reasons why this is the case.  First, Scratch is what they call a drag n drop language, which means instead of typing long complicated code and worrying about missing semicolons or typos, kids can drag and drop code fragments on the screen.  Can you imagine a kid typing “System.out.println(“Hello, World”);”?  In Scratch, they just drag a button and BLAM, it’s done.  The second reason is that the code is geared towards creating graphical, moving, playable GAMES – quickly!  Back in the day, it used to take thousands of lines of code just to get something cool on the screen.  Now, with a half hour and a good Code Coach®, kids can be sucked into the world of coding games.  Another awesome feature of Scratch is it has a huge library of apps created by other coders, which kids can play and even reuse the code.

 Brian Harvey, inventor of Snap!, visits our Berkeley Grand Opening Brian Harvey, inventor of Snap!, visits our Berkeley Grand Opening

2. Snap! – Snap! is a cousin of Scratch, using similar drag n drop principles, easy for any kid to pick up.  Built by the Berkeley CS folks (in fact, the original developer Brian Harvey stopped by our Berkeley school’s grand opening!), Snap will probably look like the same platform as Scratch to the untrained eye – but there’s a subtle difference.  Without getting into the technical tidbits, suffice to say that Snap! was built with computer science education in mind, while Scratch was built for kids to make games, fast.  In Snap!, it’s actually harder to do some things…  Why’s that better?  Because then you have to figure out how to do it!  In fact, they even use Snap! to teach Berkeley freshman computer science!

The biggest misconception about both Snap! and Scratch is that kids (and some parents!) think “they already know it” after becoming familiar with the 100 or so commands in either language.  If there’s one thing you should get from this blog, it’s that that is NOT THE CASE!  Coding is about the underlying logic, how to think critically and create things using the commands.  For any kid or parent to say they “know a language” because they know the commands is like memorizing a Spanish dictionary and saying you speak Spanish.  Doesn’t work that way, does it?!

3. ComputerCraft – Computer Craft is the brilliant combination of learning how to code, and – you guessed it – Minecraft!  Since exploding into every kid’s brain and electronic gadget back in 2011, Minecraft has been one of the most popular games of all time.  As an adult, I gotta admit – I don’t get it.  But if Microsoft is going to buy it for $2.5 Billion, then something about it works!

ComputerCraft isn’t directly connected to Minecraft or Microsoft, rather it’s what they call a “mod”, something that modifies the original Minecraft to add more features. This mod actually allows kids to code sequential and other logic within Minecraft itself using a language called Lua.  You can imagine the draw is that kids are more than excited to get to work in the Minecraft environment, and parents love that they can learn some coding at the same time.  The disadvantage is that because it’s a “mod”, setting it up can be time consuming to say the least.  Unlike many of the other platforms we use, you can’t just go to a website and start using ComputerCraft, you have to install (and pay for) Minecraft, and install the mod on a specific computer.

4. Code Combat – I had the pleasure of meeting Matt Lott, a co-founder of this amazing company (great guy, btw), and I must say, what these guys have created is really pretty awesome.  Code Combat is basically a game-ified way to teach kids how to code real-world languages like Javascript or Python using a very graphical, really fun and addicting knights-and-combat kind of background.  Students progress in difficulty level by typing in code (typically Javascript or Python) to destroy their enemies.  The games are really fun, even for an adult like me, and really help nail down some of the concepts of coding.

This is one of those platforms that you might be tempted to just drop your kid in front of, let him/her play the levels, and just learn to code that way.  It’s plenty addicting and fun, so keeping kids on usually isn’t a problem.  That said, some of the downside is that it IS a game – and like any game, kids are plowing through to the next level as fast as they can.  As my 10 yo son played it, I recall asking him quite often whether he actually understands the concepts, or if he just got to the next level.  The results were mixed, I’d say.  So it’s a great tool – but just be careful if the student isn’t paired up with a Code Coach® to explain the code, are the kids learning or are they just really good at gaming?  Something to keep an eye on for sure.

Code Combat is something we typically leave for the later stages of our elementary kids, usually towards the 5th grade level or so.  It’s an amazing tool for transitioning between the easy graphical drag n drop world of Scratch or Snap!, and some of the “harder” real-world typed coding of Python or Javascript (all of which typically take significantly more work to get a graphical game).

5. Apple’s Swift Playgrounds – Last but not least, we have an app from Apple.  As you’d expect, the user interface on this thing is crazy-good, and the tutorials and everything else are really well thought out.  Swift Playgrounds is Apple’s answer to teaching programming to kids, and have offered hours of code with code.org to teach in their Apple stores.  The language this app is built around is Swift, Apple’s new (well,  2014) language in which (soon) all their iPhone apps will be built.  So while Swift isn’t really used for much else, there’s nothing wrong with getting a leg up on developing iPhone apps, is there?

This app is only available for an iPad, so it doesn’t (yet?) run on a computer.  Because of that, the interface is a liiiiiiittle deficient (coding complex stuff really requires a good keyboard interface!) – but for those just learning to code, it works just fine.  They say Playgrounds is meant for the 8-12 age range, and that’s about right based on our experience.  While there’s some definite good stuff that kids (and adults!) can learn by just downloading and using the app themselves, as always, having a passionate Code Coach® translate, invigorate, and in-passionate (if that’s a word) is always the best way to go!

Conclusion

While we’ve listed our latest 5 tools/platforms that we use, these things change in a heartbeat.  The thing that doesn’t change is that platforms are just computer programs, so be careful with sitting your kids down on a tool and walking away!  After all, even Lebron James wouldn’t be who he is today without his coaches, right?

Greasy fried chicken plus Hansel. Do you see where this is going? Nope, I’m not talking about going to the bathroom. I’ll tell you about Hansel and his relationship with fried chicken later. I’m actually talking about opening up our second coding school, and how I joined the Coder School team. When Hansel asked me to partner with him on this journey to teach kids how to code, the first condition was that I would be opening the second coding school in San Mateo close to where I live. I’d never run a business and knew absolutely nothing about brick n’ mortar businesses so of course I said yes. In all honestly, I do know about coding and I have two kids of my own so figured I would have Hansel there to guide me through all the brick n mortar stuff. The other probably more important reason I decided to partner up was for friendship. Ever since we’d both been married and had kids, we only saw each other about once a year perhaps at someone’s birthday party. It was quite different than being best friends and in a band together. So whether teaching kids to code was going to be a success or fail wouldn’t really matter because no matter what, we would definitely get to hang out on a regular basis again. Booyeah! And hey, it turns out I was right anyway, the plan went off without a hitch and we were able to launch Coding School #2 successfully!

When I reflect back on that period about 2 and half years ago, it’s almost surreal to think about that first step of hooking up with a commercial broker, and driving around to look at prospective spaces. It’s even crazier to think about all the late nights leading up to its Grand Opening. Late night deliveries of computers, chairs, desks, and constantly worried about the build out. Fun things like dealing with building & permit inspections and fire Marshals. And I’ll never forget about putting yard signs up all over the local neighborhoods. By the way, it’s actually illegal I found out. I was putting up some yard signs in public places which I thought was fine until a cop pulls up. Uh-oh! I just froze hoping he would pass me by but he didn’t. Even bigger uh-oh. He gets out and comes over and I was pretty much going number two in my pants (another reference to the title of this blog, see how I was able to work that in). He was nice though and just gave me a warning and let me know that yard signs are okay in public areas, but only if they have a political message. As I thought about it, my political message is that all kids should learn how to code. How’s that? Nonetheless, my yard sign sessions tended to be at 1 am after that.

Everything was new and exciting and I had no idea what I was doing. I continually asked Hansel lots of questions and followed his recommendations to a tee. In an odd sense, I was actually the first franchisee because we documented all of the steps that I took along with all of Hansel’s guidance and that was the foundation of our repeatable model of how to build a successful coding school.

The takeaway is that if you’re going to start a business, do it for reasons other than to make money. Do it for a good cause that you believe in like teaching kids to code. Make sure it’s something that makes you happy and that you enjoy. When I see a kid’s eyes light up because they just truly started to understand a new concept, it’s simply the best feeling!  I was lucky as I also did it for friendship as well. We all know that going into business with a friend is not always the best idea. But it rocks when you’re both compatible so just be careful in business with friends, but don’t rule it out as it can be pretty rockin’!

What?  Another blog so soon?  Yeah, we can’t publish this thing with just a single lame post, can we?  As I’m writing this, my 11-yo son is playing Overwatch online, and there’s some other kid playing that’s squealing like a pig somewhere in the world, with his headset and mic.  The graphics are insane, and I’m feeling like I’m an Overwatcher (whatever that means).  Kinda funny, but really reminds me how far coding has come since I first started coding in middle school.  I seem to remember a little bit of BASIC, an Atari 800, and coding my first pixel-based Paint app.  MAN, I was proud of that app!

Anyway, I digress.  Why are we blogging?  Well, for SEO of course!  You can’t say we’re not all about transparency here.  SEO, for those who haven’t heard, stands for Search Engine Optimization, and is basically the question of “how do I rank higher when someone searches for me?”.  And so while we definitely hope to entertain and inform you, our main purpose is a little more self-serving (some may say nefarious!)!

We recently hooked up with some awesome folks at newmedia, an SEO consultancy, and just had our first meeting where they were going to tell us all the ways we could get our page ranking up in Google.  After paying them a big chunk of money, I was expecting some sweet revelations about what we could edit and click here and there and presto, up goes our Google page rank!  Well, turns out it doesn’t work that way.  We were ranking decently well it turned out, and turns out lots of people are searching for learning to code, coding for kids, or kids coding schools.  (see how I did that?  I put in some sweet key words to this blog so Google can find me better!).  But the biggest output after tossing them a few G’s?  We need to write blogs!

“Wait!  That takes WORK, doesn’t it?”, I asked.  “Wait, don’t people usually just outsource this stuff?”, I continued.  “Wait, engineers like me aren’t good at writing, are we?”, I complained. Rhetorical questions aside, we had a good logical-thinking contest between Wayne and I, and came up with the answer – we needed to suck it up and blog like a mother.

Part of the awesomeness of this business is that Wayne and I meet up once a week at some sunny outdoors place in the Bay Area, and catch up on status of our respective parts.  Wayne talks coding curriculum and operations, and I talk school franchising and learning strategy.  Yeah, there’s a lot of business involved.  But you can bet two best friends who used to be in a punk-pop band together are talking other crazy (i.e., inappropriate!) stories too.  Can you imagine having a fun low-stress weekly meeting with your best friend for work that you love?  It’s the most kick-butt experience ever.

We decided this blog would be the PERFECT opportunity for us to document all the stupid ideas, funny stories, and lessons learned we’ve had while teaching thousands of kids to program a computer in some way.  We can look back fondly when we’re on our death bed and go “Remember that time you farted at the IFA conference right before that VP came up to you and shook your hand?”.  And while we’re at it, hopefully we’ll get some better SEO too!  So you ready to find out more about starting a coding school?  About how we teach kids to love computers and programming?  Of course you are.  Read on.