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.

 Student in deep coding mode

Student in deep coding mode

When it comes to raising kids, our increasingly technology-heavy lives have hit a fork in the road. Parents are starting to wonder whether too much technology is good or bad for our kids’ growth, whether it’s time to limit exposure to tech – or to open up the possibilities. As a parent myself, I see how tech has become an accepted part of all our lives, but also how tech can overwhelm my own kids. But now isn’t the time to hold back – now is a time to guide, encourage, and expose our next generation to this tech so they form a good relationship with it, and so they are ready for their own future.

Sometimes, technology is designed so seamlessly that kids get lost in it while they use it. Ironically, that’s the goal of the tech companies – create something so seamless that users don’t need to think about it. But I say we fight against that. We turn our kids into Critical Thinkers of technology, not just users of it. By thinking through how technology might work, or why its designed in certain ways, we are setting a foundation for our kids to think critically about the things they use, things that they themselves may soon be a part of creating.

Almost any tech or application can be viewed with a critical thinking eye. Playing Pokemon Go? Ask how small businesses benefit, or talk about GPS position tracking. Spending $27 to buy Minecraft? Talk supply and demand pricing, or a license vs subscription model. Watch a lot of YouTube? Find out how youtube the company makes money, or how youtubers themselves become successful (it’s not easy!).

The best part is, it’s not the answer that’s important, it’s the thinking process. In fact, if you don’t know an answer, take it a step further and find out the answer together on the Internet. Not only is learning how to learn an important skill for kids – but now you’ve learned something too!

At theCoderSchool, we use this method every day. We encourage inquisitive, critical thinking not only through the code we build (“why did the tank disappear?”), but through the broad tech talks we hold (“how does Uber work?”). We even Google the answers to our own questions sometimes. By setting up a habit of critical thinking of everyday technology or applications, we set a foundation for next generation to think, learn, grow, and create.

Too often we parents get busy and let the computers and kids get lost in reality on their own. But just as there’s no substitute for a passionate Code Coach® that brings out the technical curiosity in our Coder School students, there’s no substitute for the engaged parent who teaches and learns along with their kids’ technology-heavy lives. So let’s find these teachable moments. What are you going to ask your kids today?