Everyone is talking about Bitcoin or Blockchain but what is it? The best analogy I’ve read is from Sally Davies, FT Technology Reporter who said “[Blockchain] is to Bitcoin, what the internet is to email. A big electronic system, on top of which you can build applications. Currency is just one.”

The idea of Blockchain revolves around “decentralization” instead of one entity owning everything or a single point of failure,. At the very least, it will change the way we handle transactions but the potential is much greater than that. More and more people are taking the time to learn about blockchain and how to develop on the platform. Just recently, a software development platform called “ethereum” was recently that utilizes a cryptocurrency called “ether” to incentivize development.

While cryptocurrency is the most popular thing we associate with blockchain, there is a wide range of interesting uses coming up. Below, I’ve listed some but you can read a nice beginner’s guide to blockchain on blockgeeks.com.

  • Smart Contracts
  • Governance
  • File Storage
  • Protecting Intellectual property
  • Internet of Things (IoT)
  • Identity management

So, as a programmer or coder why should you even care? Blockchain is said to have the potential to change the world in a better way like the internet did when it first came out. This aligns perfectly with our mantra “learn to code. Change the world.”

You can lay the foundation for becoming a blockchain developer by learning languages like Python. “Serpent” is a language on the Ethereum platform that is made to be similar to Python.

For more detailed info mixed in with some tech, here’s an amazing article that explains the technology behind blockchain and bitcoin (and a bit of history to boot!).

Sometimes what the students do at our school amazes me, but one app has always stuck out in my mind.  We have a 13yo student who I’ll call LN, who’s been with us since we opened.  When he was 11, he created this incredible app he calls Gravity Crash.  LN is a big fan of physics, and it happened that his Code Coach was too – and so some pretty amazing coding ensued.

LN’s game looks and plays like a standard billiards game (which in itself is already quite hard to code in Python).  But instead of hitting the cue ball, you create what he called “gravitational anomalies” (I guess he was a Start Trek TNG fan too!) that sucks the cue ball towards it (and orbits it, if placed correctly), using newtonian physics formulas.  What?!

Take a look here, and be sure to widen the game screen so you can see the entire billiard table.  You can also open Gravity Crash in a new window.

 Newton's Law of Universal Gravitation

Newton’s Law of Universal Gravitation

 

So I want to point out that, even as a coder of 20 years, some of this would be mind-boggling for myself to write.  If you’re not a coder, just scroll through the code and you’ll be blown away.  If you’re a coder, check out how he handles collisions starting on line 171 (yep, granted, he needed some help on the vector and collision math!).  And if you’re a physicist, check out line 234, my favorite.  Break down the component parts, and [gasp!!], you have Newton’s Law of Universal Gravitation.  Let me sum that up for you, an 11 yo coded a pretty complex game in Python, and then decided to use Newtonian formulas to simulate gravity.   Niiiiiiice.

Now mind you, in our model, we have a Code Coach, directly mentoring our students – so building the app wasn’t completely unaided.  Moving the balls, collisions, even just setting up the triangle, requires some really good math knowledge.   But LN, again, an 11yo, understands how most of the code works, and coded a large part of it.  Think about how much coding AND math experience he gained coding this app.  Mind.  Blown.

via GIPHY

 Learning to code, the fun way

Learning to code, the fun way

This article from Ben Tarnoff at the Guardian is one of the sillier articles I’ve read in a while, so I felt compelled to blog about it.  Tarnoff argues that code.org, an amazing organization whose mission is to get more kids coding, is actually an instrument of the tech industry to create a larger supply of future coders – thus reducing the average coders’ salaries, thus making the tech companies richer.  Um…  WHAT?!

The implication that there’s some conspiracy theory underneath teaching kids to code is laughable.  While yes, more kids coding is bound to mean more adults coding in the future, it feels irresponsible to state that corporate greed is behind this.  The real benefits of kids and coding have nothing to do with company profits, and everything to do with a more effective and smarter future generation.

So what is “coding”?  Coding is not about memorizing a language.  Coding isn’t even about knowing any kind of technology.  It’s about a way of thinking.  For kids, it’s not about “knowing Java” – after all, Java or whatever other language may well become extinct in 10 years, knowing how fast tech moves. Coding’s about teaching a mindset of procedural, logical deduction and problem solving. Coding provides a tangible (and dare I say fun!) way to learn logical problem solving skills.  Now let me ask you – in what careers might you need problem solving skills?  Every. Single. One.

Tarnoff also notes that the median salary for a CS/IT job is more than twice the national average.  I’m no economics expert, but doesn’t that mean there’s a much greater demand for that skill set than the average job?  That you’re more likely to get a job, a higher income job, as a coder?  I know there are folks out there who are coders, who may be having a tough time finding a job.  But like any other skill, there are good coders and bad coders.  Remember that just because you can code doesn’t guarantee you a job, you have to still be GOOD at it.  And as emerging tech like AI, autonomous cars, and cyber-security gain prominence, make no mistake, these require advanced coding skills.  These guys aren’t just coding a couple of loops with arrays, they are programming some insane algorithmic logic that furthers the advancement of our world.  And I can guarantee you that anyone who can code these technologies will always have a job.  A pretty high paying one, at that.  I doubt even Dr. Evil could spawn a conspiracy to mass-produce brilliant advanced coders – those guys will always be highly paid, highly sought after talent.

So is coding for kids a grand scheme by the tech elite to save money?  Not a chance.  Should every kid learn to code, so they understand tech better, and have essential skills for any career (including CS)?  Absolutely.  To his credit, the author notes that every kid should have the opportunity to learn to code, and understanding how code works is essential for digital literacy.  That, I can agree with.  The rest of the article?  Somewhere between silly and irresponsible.

I recently ran across this super interesting blog from David Patterson over at UC Berkeley, written almost four years ago.  Take a look at the graph he and Ed Lazowska from U-Dub put together:

 Credit to David Patterson

Credit to David Patterson

To add more color to that graph, Patterson notes that “At Stanford, where more than 90% of undergrads take computer science [note this was from 2013], English majors now take the same rigorous introductory CS course as Computer Science majors.”  I don’t remember my Intro to CS course as being all that easy, so kudos to those English and Philosophy and other majors that dove in!

The fact that the movement to learn computer science, no matter your major or your future, started so long ago shows this trend has legs.  What’s happened since the end of this graph?  Plenty.  An incredibly amazing amount, in fact.  Enough for anyone to feel a little FOMO on a hockey stick:

  • codecademy and codeschool, both founded in 2011,  start the wave of online coding programs for adults (and kids!) to learn how to code.  Kahn Academy and others jump in the fray to get scalable and teach folks everywhere to code!
  • Dev BootCamp is founded in 2012, pioneering a wave of adult “Coding Bootcamps”, crash courses for adults wanting to learn to code and find a job as a developer.  Others like Hack Reactor and Hackbright Academy soon follow, leading to a new industry for training and re-training adults.  (Sadly, Dev Bootcamp is soon closing its doors).
  • Wide reaching organizations like Girls Who Code and code.org are founded in 2012 and 2013, respectively.  These organizations along with newcomers like CSforAll in 2016 have awesome reach around the country and the world in promoting the movement for kids to learn to code.
  • Between 2013-2014, physical location coding schools like U-Code, MVCodeClub, Hackingtons, and our own theCoderSchool start the party with a focus on starting kids coding at a younger age, typically as early as 7 years old.  These physical-location businesses begin sprouting multiple locations, kicking off a wave of many other smaller but growing mom-and-pop coding schools around the country and the world.
  • Kodable (2012), Hopscotch (2013), and a later comer in Scratch Jr. (2016) lead the way in iPad and iPhone apps that gamify and fun-ify learning to code for the even younger set (approx ages 4-9).
  • In 2016, coding schools like us in Silicon Valley, the Ninjas in Houston, and iCode in Dallas begin franchising their concepts to speed expansion using proven systems of teaching.

Did I miss anything?  I’m sure I did, lots more platforms and companies have sprung up in the last 4 years to teach more people to code.  Where are we going?  The only direction is up, and more (is that a direction??).

In 5-10 years, I envision coding schools around the country and the world, one down the block from wherever you live.  Not unlike kung fu studios and tutoring centers, coding schools will find their way into the fabric of all our communities sooner than you think!  And just in time, because it’s high time we all learn a little more coding to support the tsunami of tech that’s coming.  In the final words of David Patterson’s blog from 2013, “Students from all fields want to learn computer science so they can change the world.”  A quote that stands the test of time, indeed.

Code on, friends!

Coding for kids is all the rage these days, but sometimes there’s an expectation that learning to code is scientific, rigorous, and static, but that’s far from the truth.  Coding isn’t about memorizing commands, or repetitive muscle memory, it’s about a way of thinking, a way to build something creatively using elements in your tool belt.  In that way, learning to code is more like learning music than learning math or science.

Coding is Creative

 Coders and Rockers

Coders and Rockers

If you listen to rock songs closely these days, you might be surprised to learn that a large number of them are made up of the same basic 4 chords.  Yet to the untrained ear, those songs sound vastly different, because of the how the chords are played, the lyrics, the rhythm, and all the other creative elements that make up a song.  Coding is no different.  While you’ll have similar foundational elements like variables, loops, and even design patterns, how the rest of the app is pieced together requires plenty of creativity to bring out its identity.  Just like Journey’s Don’t Stop Believin is based on the same chords as the Beatle’s Let It Be, apps like Candy Crush use the same basic coding elements as a completely different application like Facebook.  But just like their musical counterparts, applications rely on the creativity of the developer and how the pieces are put together, more than the formulaic elements that form the core.

Coding Has No Pre-Determined Path

Quick, who’s a better musician, Yo Yo Ma or Jimi Hendrix?  Miles Davis or Jay Z?  There’s no right answer (just awesome debates!), because they all play different kinds of music.  Coding is the same way – there’s basics for everyone to learn, but after that, should a student learn Websites?  Mobile apps?  Data Analytics?  Like musicians, coders often are exposed to a number of different styles (i.e., technologies) as they advance, in no particular order.  And when they’re advanced enough, they may dig deeper into one or another “style”.  At theCoderSchool we often use a tree as analogy to learning to code – every tree grows differently, but they’re all rooted in the same foundation.

“Practice” Is Different – but Just as Important

When students practice music (or sports, or some forms of math and science), it’s really about repetition.  HOW to do something (“put your fingers here”, or “keep your elbow in when you shoot”, or “9 x 9 = 81”) is usually the easy part.  How to do it quickly and smoothly (“play A then G”, “keep your shooting form in the game”) is often what takes practice.  It’s the repetition that makes up the practice, which turns into muscle memory.

Coding is vastly different – it’s not muscle memory, it’s a way of thinking.  Unlike music or sports, figuring out HOW to do something (what code to write) is actually the hard part.  Once the code is written, repeating it for “practice” doesn’t make sense because it already works!  Typing it in again won’t make it work any better.  And the next app may be completely different. Instead, practice is about identifying and reusing patterns of logic, ways of solving a problem (sometimes known as “Design Patterns” in software-speak).  Each app built by a student is a new and different problem to solve, with potentially multiple solutions, so the more apps a student builds, the more practice they get thinking in a certain way.

For many students, this can be harder than you might think.  With music, tell a student where to put their fingers and they can go home and repeatedly play that chord until they know it by heart.  With coding, once a student solves one problem, they’re faced with the next, and often have trouble solving it without help until they’ve practiced solving the problems enough to be able to solve the next problem on their own.

Coding’s like Music

While there’s a few differences, by and large I would argue that learning to code is much more like learning music or sports than it is like learning science or math.  The other big difference is that there’s a much bigger shortage of coders than there are of musicians or athletes.  So whatcha waiting for?  Let’s get coding.

A Teen’s First Coding Language

Parents who want their teens to learn to code are often curious what coding language their kids should start with.  Python?  Java?  Scratch, Lisp, or something else?  There are a lot of options out there, but our experience tells us there are generally a few answers better than others.

First, let’s qualify the kind of students we’re talking about.  We’re not necessarily talking about kids 10 and under – for the most part, those kids should be using Scratch, Snap!, App Inventor, or other drag’n drop language.  We’re talking about slightly older kids, about 10 or 11 and up, that aren’t necessarily going to become a Computer Science major.  In other words, it’s most teens and pre-teens!  With that in mind, let’s get started.

Part 1 – What Does it Mean to Learn to Code?

There’s a bit of a myth that learning to code is like learning a new language.  Yes, there are different coding languages, and yes, it’s all greek to a lot of folks who aren’t coders.  But unlike learning French or Mandarin, the most important aspect of coding is not the syntax.  It’s not about whether the word “computer” translates to “ordinateur” (French), or “dian nao” (Mandarin) – it’s about how you put those words into a sentence.  In coding, it’s about *how* you string “words” together, and not the words themselves.  In other words, it’s about the logic.

In that sense, it doesn’t matter so much whether your child is learning Python or Scratch, Javascript or Java, the logic is the same.  Computers in the end, work the same way – you must provide logical steps for them to understand.  Languages are simply different ways to give the same instructions to the computer.  By understanding the logic of coding a language – any language – the student is understanding the fundamental way to code, which can be fairly easily translated into ANY language in the future.

###### THIS IS PYTHON
for x in range(1, 11):
    print “Count is: “,x
////// THIS IS JAVA
public static void main(String[] args){
    for(int i=1; i<11; i++){
        System.out.println
           ("Count is: " + i);
    }
}

Python and Java Examples

Here’s an example of two languages that count from 1 to 10 – Python and Java.  The words are different, but the logic is the same – the “for” loops is a coding concept used in all languages.  This example shows how to count from 1 to 10 – and if you look closely, you’ll see that logically, they are both doing the same thing.  The logic thought process is the same – it’s just the words that are different.  Learn one, and it’s much easier to pick up the other.

Part 2 -What About the Language?

Part 1 was admittedly a little over-simplified.  While it’s true it’s all about the logic, our experience shows there are some languages better suited as a beginner language.  Those languages – you might have guessed – really allow the students to focus on the *logic* of the code, and not on the nit-picky syntax of the language.

Before we go on, it’s interesting to note that there isn’t a “right answer” here, in fact you may find this is a bit of a philosophical two-sided coin.  Some folks (typically academia or hard-core comp sci) believe a more “hardcore language” like Lisp (for data structures or recursion concepts) or Java (for object oriented concepts) are better to learn early, as it helps cement fundamental computer science concepts.  Fundamental as in real core Comp Sci degree stuff, low level how-a-computer-works kind of stuff.  While there’s a good argument to that, we don’t think everyone needs to be a Comp Sci major, so we believe a step back to a common denominator makes the most sense.  A common denominator that’s useful for any career – plain old logic.

Try it Yourself
How would you write a “program” to print the Fibonacci number sequence, using plain English?  Congrats, you’re “coding”!

Speaking of plain old logic, there’s nothing wrong with a 15 year old starting to learn code with Scratch, Snap!, or any other drag and drop language.  In fact, one very powerful and even more basic way to learn is pure pseudo-code – basically logic written in plain English. While both are powerful ways to push the logic learning, in practice, we use these techniques more sparingly as kids get older because languages like Javascript and Python afford a closer experience to pure coding without hindering their learning at that age.  That said, even a 25 year coding veteran like myself still has a ton of fun, and lots to learn, when coding logic games and programs in Scratch!

So let’s go back to our example of the two languages from Part 1, above.  Notice how Python is alllllmost readable as english text.  For x (the variable) in a range of numbers, print “Count is 1”, “Count is 2” and so forth.  Pretty logical right?  Now what’s up with Java?  You’ve got a public function with an array of args, a System.out.println, a static void main…  Not the easiest to read is it?  A lot of typing to do the same thing, right?  While each of these are important concepts in understanding computer science, we feel instead these concepts become a distraction when learning to code (c’mon, admit it, it was distracting to you too, right?!)

We’re in the camp that feels that kids tend to learn better when they’re able to get things done quickly, build their confidence, and not be frustrated by distracting concepts early in their coding journey.  If they have the desire to dig deeper, it’ll always be there – but to start with a language like Java or Lisp, we’ve found, is typically more a hindrance than a help.  It’s something we’ve seen time and again at theCoderSchool, and has really become a part of our teaching philosophy.

So what camp do you fit in?  Either way, pick a language and let’s get our next generation ready!  Learn to Code.  Chang the World. ®

As we talk to more folks interested in opening coding schools, it’s amazing to see the amount of interest in getting more girls interested in tech.  So we thought this article titled “A Brief History of Women in Computing” by Faruk Ates was a fitting blog topic.

Believe it or not, women were the first software engineers.  The first language I used at my first job was Ada, named after Ada Lovelace.  In 1843, she wrote the first algorithm for the Babbage Engine, one of the first computing machines.  Lovelace, in fact, is widely regarded as the first computer programmer – ever.

Many women since have been crucial to the development of computer science.  Hedy Lamarr, originally an actress, helped co-develop a frequency hopping algorithm in World War II, which formed the basis of technologies used today from wifi to cell phone technology (CDMA) and bluetooth.  Jean Bartik and 5 other women were the first team of programmers (or “Computers” as their job was called back then) for ENIAC, one of the first multi-purpose electronic computers.  In 1952, Rear Admiral Grace Hopper created one of the world’s first compilers (a compiler is a program that translated human-readable code into computer-readable language).  And don’t forget the true story of the movie Hidden Figures, of the women who were crucial to the complex computing and math for our space program.

 Pioneers in Computer Science - Lovelace, Bartik, Hopper, and Lamarr

Pioneers in Computer Science – Lovelace, Bartik, Hopper, and Lamarr

Faruk goes on to argue that it isn’t biology that caters to it being a male dominated field but that women were “forced out” and that different cultures are more welcoming to women. For example, in India coding is looked upon as a field for both men and women. While “women in the U.S. made up only 18% of undergrads in Computer Science and Engineering” in India “that number was 42%.”

What do you think? We’d love to hear your opinion on this as it plays out.

Learning to code is much bigger than just getting a good paying job. It’s challenging, empowering and will help you change the world for the better.  Coding doesn’t discriminate, and neither does someone’s innate ability to learn to code.  No matter your race, religion – or sex – coding helps you think critically, and sharpens problem solving skills essential for any career.

Some unfortunately, don’t agree.  James Damore, a recently fired Google employee, wrote a 10-page memo about how Google’s efforts to improve diversity were misguided. One of his big arguments revolved around evolutionary psychology and how men and women are fundamentally different, implying that women aren’t as well suited to be coders. We wholeheartedly disagree and believe anyone and everyone can – and should! – code. Apparently, so does Google and most other companies in tech right now.  Take a look at the full Recode article.

There’s no denying that we’re a bit skewed today on the male/female ratio in computer science majors and jobs, but theCoderSchool is joining others in hopes of helping change that soon.

 Girl Coding Power, in our San Francisco location Girl Coding Power, in our San Francisco location

How Your Kids Can Learn to Code

Coding for Kids has become a hot and ever hotter movement, with STEAM or coding-specific schools popping up around the country.  Awesome organizations like code.org and Girls Who Code are helping to push the message to code, and the public school system is even getting into it, with some like San Francisco starting to require computer science in their curriculum.  As a parent, you’ve got lots of options these days, some better than others, but all better than nothing!  Let’s take a look at some of them, and along the way maybe help you decide what’s best for you.

1. Online Coding Courses

A quick and easy way to get set up is free online courses.  Sites like khanacademy or codecademy, or a host of others provide free online courses your kids can follow to learn the basics of coding.  Some of them allow some creativity in between as well, but they all provide some form of structure, some goal to get to the next chapter or level (e.g., “draw a circle”).

  • Pros – Easy to get on, often free
  • Cons – Not all kids understand the material, some just click to get to the end; many kids don’t have the discipline to self-learn much online; need a real person to generate passion, answer questions

2. In-Home or Online Tutors

Another common model is your good old traditional tutor.  Wyzant is a good online marketplace, and if you’re in the Bay Area, Breakout Mentors provides some great tutors too.  Many of these guys will come to your home, so that’s a big plus for the busy parents out there.  Start your dinner cooking while tutor shows up in the comfort of your home!

  • Pros – Tutors often come to your home or teach over Skype, so are quite convenient; Tutors often work in a small ratio (often private), and can customize what is taught
  • Cons – Kids learn alone, so don’t have a chance to connect with other kids and be inspired by others, or by a cool learning environment;  You’re also dependent on the single tutor – they may be sick or on vacation at times;  It’s up to you to find a new tutor and switch if the fit isn’t right

3. School Curriculum

These days there are plenty of school systems starting to get into the game, and providing a basic curriculum for all kids.  There’s even a consortium that helps support CS Teachers in schools  called CS For All.  Countries around the world like England and Vietnam are requiring their students to learn CS as part of a core curriculum, so we should too!

  • Pros – Super easy, just a part of the normal school day for your kids
  • Cons – Not every district has coding (in fact, most don’t quite yet); Those who do (e.g., San Francisco) are still early and going through some growing pains; Even when settled, the likelihood is the curriculum and learning will be aimed towards a wider audience, and will stick to basics

4. After School Programs at Your School

Schools in many part of the country are outsourcing some of the teaching work to businesses who can provide the coding education.  These programs are often at the school itself, and offered after the normal school day is over.  We at theCoderSchool offer this to some schools, as does other companies like Sparkiverse in the Bay Area and Coding With Kids in the Seattle area.

  • Pros – Super convenient, kids typically just walk over after school;  Can help parents with a form of “childcare” if parents aren’t able to pick up at normal time
  • Cons – Similar to coding programs at school, these typically don’t have the time or teacher ratio to get too far in depth; Typically use a static curriculum for all kids;

5. Coding Camps

Camps are a great way to spend some weeks in the summer.  One of the largest coding camp providers is IDTech, who offers their camps at various universities around the country.  theCoderSchool and many (most?) other STEAM or coding schools also offers summer programs and camps.

  • Pros – Great way to spend the week in the summer and get exposure to coding; Gets kids out of the house while parents are at work
  • Cons – Summer is a tough time to get kids to really dig in and learn;  Camps are often full or half day, with enough breaks so kids aren’t on a computer for six hours straight; Camps are short-term – like everything else, coding takes year-round constant practice

6. Coding Clubs

Lots of schools and kids at schools are starting to form coding clubs at their own schools.  Kids can meet kids with similar interests and really help each other develop skills.  Coder Dojo is a popular “super-club” where professional coders volunteer to teach kids the basics in free classes.

  • Pros – free, meet other kids with similar interests, great inspiration for each other
  • Cons – Some clubs aren’t meant for education so don’t have a teacher nor curriculum; Coder Dojo sessions are free but are fully booked very quickly; Typically don’t have a long term learning strategy – more for learning in spurts

7. Coding (and STEM/STEAM) Schools

Finally, coding schools!   These places specifically teach either just coding, or general engineering topics.  The movement to teach kids to code is really gaining steam (no pun intended!), so while these after-school businesses are popping up fast, they still aren’t quite in every city yet.  We’ve found three general styles of teaching for these schools:

  1. Curriculum Based – This just means your standard traditional school that you might think of, folks who offer classes for X number of weeks where a certain goal is presented.  For example, “take our 10 week Python Course for Beginners, and learn to do X by the end!”.  Many examples of these exist, iCode in Dallas or Zaniac, a national franchise, come to mind.
  2. Software Based – Some schools have spent time to create an online platform, using that platform to help guide kids through to learning new things – but combining that with in-person guides to keep the kids moving along.  Examples might include Hackingtons to an extent, and Codeverse in Chicago or the Ninjas in Houston.
  3. Staff Based – Finally, some schools (including theCoderSchool) feel their strength is the smarts of their staff (along with curriculum resources/tools) when teaching kids.  This often allows students to be taught in a more flexible manner, customized to the student.  Breakout Mentors (above) and Young Wonks in the Bay Area are some examples.

The pros of a coding-specific school is pretty obvious, all we do is this stuff!  So we have great experience and expertise.  The cons?  Well, I suppose we typically cost more than some other options – but if you’re itching to learn to code, you can guess that I’m biased and think a coding school is by far the best way to learn to code!

And, since I’m writing this blog, the best part is I can separate my own school and put it through the hype machine!  Yes, theCoderSchool teaches kids using amazingly fun and knowledge staff. We also have super-small ratios of 2:1 so we can really customize what we teach.  To top it off, we have a really cool energetic space to inspire and impassionate (is that a word?) a wide range of students.

So parents – what are you waiting for?  Whatever option you choose, it’s time to get your kids coding.  The future awaits!

The standard assumption is that in order to learn to code you need a computer. To some degree this is true, but not in all cases. In this article, we’ll present ideas and options for teaching coding concepts to kids without the use of a computer. We call this “Offline Coding”.  What better time to learn to code while being offline than during the summer. It’s always good to be balanced so even if you’re 100 percent into coding, theCoderSchool always recommends to not forget to participate in physical activities as well. The summer is a perfect time to try out offline coding. Go outdoors as well if you can and get some sunshine with vitamin D.

Offline coding is not only just something worthwhile because it can give your eyes a break combined with some physical exercise, but it can also be a nice and needed change of pace. Learning to code is not easy and grinding away on the computer for hours requires lots of breaks and at times a change of pace can really make a difference.

If all this sounds like it makes sense to you, and you’re interested in offline coding, here’s a few ideas for you.

Activities & Games

Teach kids about binary numbers which are the basis of all coding languages through a fun physical activity. Great for groups of 3-5 so if you have more, simply break them into a few different groups and perhaps make it a competition. The goal of the game is to line the kids up and have each of them represent one binary number, a zero or a one. But they have to be lined up and each becomes a one by raising their hand or remains a zero by keeping their hands down. There place is what’s key. So if you have 3 kids, the one on the far right can be a 1 or 0 with 1 or 0 being the value. The second one can be a 1 or 0, but their value is either a 2 or 0. The 3rd one can have a value of 4 or 0. You call out a number and they have to represent it as a team. It builds team and collaboration skills. You have to understand how binary works to run this activity, but it can be lots of fun.

Another fun activity is to have one kid be the sprite and the other kids have to take turns giving them specific instructions like turn 90 degrees and go 3 steps. You can build a coordinate playing field using cones for them to use. Be creative with this one as well and do all kinds of variations like having one kid be a sprite that has to get across the playing field as the other kids are trying to capture them. But each kid can only either turn of go 1-2 steps.

Teach the kids about sorting efficiency by having them all stand in a line and try to make the least amount of comparisons in order to get themselves in line sorted by height. You can also do this with bottles of water if that’s easier.

Play Techionary – This is essentially Pictionary but you only select technology items to draw. This can get the kids really in a frenzy of competitive fun!

Play Coding Simon Says – Kids have to do what Simon says, but mostly movements based on the x/y coordinate system. Simon says if you’re wearing a green shirt to move along the X axis 2 spaces.

Board Games

If free form activities and games aren’t your thing, you can always go with something more structured and known such as a purchased board game. There’s quite a few out there, but here’s a few of our favorites.

1. Code Master – This is a great board game which is fun for beginners up to advanced as well. It’s amazing how they’ve put these coding challenges into a fun board game. You have to try it to believe it.

2. Rush Hour – I’m sure you may have already seen this one as it’s quite popular. You’re forced to use your logic skills to get a car out of a a traffic jam.

3. Chocolate Fix – This one is similar to Rush Hour in that it’s super engaging and just about as popular. This tends to be a great one for the kids as its primary pieces are all cupcakes.

Other resources for Ideas

The field of teaching kids to code is growing quite fast and so are the resources. Here’s just a couple of the resources available that you can browse to get tons more great offline coding ideas.

https://code.org/curriculum/unplugged

http://csunplugged.org/

Summary

In order to learn to code, you will always need a computer in the end. We just want everyone to know that along your journey of learning to think like a coder, you can employ quite a few things that don’t require a computer to make it more fun, dynamic, and keep things interesting. Balance is the key. It’s not just with with diet, but pretty much everything is better and healthier in moderation. A Code Coach® from a Coder School can work with you to help maintain your healthy coder balance.