5 Ways to Teach Programming Like The Hobbit

teach programming like the hobbit

Wait a second; I know what you are thinking.  What on earth does instituting a programming curriculum in your class or school have to do with The Hobbit? Well, as it turns out, quite a lot actually.

Venture Outside of Your Comfort Zone

Don't be afraid to embark on an adventureRecently, after reading the story of Aimee Morgan, a Stanford University Libraries archivist who first learned to computer program at the age of 35, I began thinking about how it is never too late to:

Begin something new, push aside all apprehensions, let down the sails, raise the flag, and set course on an epic adventure towards uncharted lands.

With that in mind, I am by no means encouraging you to walk out of your front door, commandeer the nearest vehicle, and embark on a quest to slay dragons (unless this has always been your goal).  I am, however, urging you to develop in areas outside of your comfort zone.  For many, this means teaching programming.

Bilbo would have jumped right into a programming curriculum if given the chance

In The Hobbit, Bilbo Baggins is a small, eclectic, and reserved character that is reluctant to change his ways.  When initially presented with the opportunity to join in on a fantastical journey to regain the Lonely Mountain, Bilbo refuses, as this would force him into a world that he was neither prepared for nor felt comfortable in.  However, after spending some time soul searching, Bilbo ultimately opts into the quest, and becomes an integral part of an adventure that will forever be a part of hobbit lore.

Leap Into Programming
Take the first leap into programming

For many, integrating coding into your classroom lesson plan or school curriculum requires this type of “Bilbo moment.”  Like our favorite protagonist, many educators often harbor feelings that computer science and technology is part of a world in which they are simply unprepared for, or to which they do not belong.  However, based on the teachings of The Hobbit, and from personal experience talking to teachers using Kodable, the hardest part of integrating technology and programming into the classroom is, like anything else, just taking that first step.  When speaking with educators who are considering making the leap towards a programming curriculum, but are still hesitant, I often cite the following quote:

“Never be afraid to try something new.  Remember, amateurs built the ark, professionals built the Titanic.”

Programmers can read, write, and understand code, but teachers know best how to translate this material to their students in a language that they can grasp, and most importantly, engage with.  Certainly, some programming knowledge is always helpful, but introducing the fundamentals of coding, and showing students the amazing things that they can do with code is something that every teacher can understand.

Utilize your strengths when teaching codeFlex Your Muscles

As hard as it is to believe, not having a background in computer science or programming can often be your greatest asset.  In The Hobbit, Bilbo’s lack of survival training and inexperience in battle became his most useful tools, and led him to find the ring, save the dwarves, aid in defeating Smaug, and recover the Arkenstone.  On the other hand, the dwarves stubborn reliance on their combat training often get them in trouble, allowing Bilbo to introduce creative solutions.

The beauty of learning to code is that you can use the skill in any industry you find interesting.We need diverse programmers  More than anything, computer science needs artists, fashion designers, or those with a passion for social justice.  Showing students that you can use code in every subject from English to environmental science will help prepare a generation of young students for the challenges of the 21st century.  Coding to solve problems shows students how they can use computer science to help make our world a better place to live.

Don't be afraid to let go of your fearsDon’t Be Afraid to Let Go

In The Hobbit, Bilbo was forced to let go of his fears and reservations.  He let his natural instincts and talents lead him to greatness.  Don’t be afraid to let go of your students, and allow them to become immersed in programming.  Great programmers like Mark Zuckerberg and Bill Gates taught themselves to code.  You can facilitate your student’s coding education by encouraging them, but you don’t need to have all the answers.  A programming curriculum like Kodable engages students so they can get started with programming education on their own.  So, what do students need most?

They need you teach them innovation, and help them understand how they can creatively apply, utilize, and further their programming talents.

Make Lifelong FriendsBilbo made lasting friends, and you can to when you begin teaching programming

Bilbo did not make his journey alone, but had great friends help him along the way.  You do not need to be alone in your journey either.  When we started Kodable, there were very few people teaching kids to code.  We started a biweekly Twitter Chat called #KidsCanCode to be a community for people to talk about programming education.  There are dozens of teachers who join regularly to talk about struggles and triumphs of creating their own programming curriculum.
Join a community of programmersOnce Bilbo established that he was fully committed to his journey, he never once regretted his decision to leave his comfortable home in the Shire.  Instead, he relished the friends that he made, the experiences they shared, and the positive impact that his actions had on his surrounding community.  Similarly, I promise you that your decision to introduce a programming curriculum in your classroom or school is one that you will never regret.

How to Participate in a #KidsCanCode Twitter Chat

Kodable Twitter Chat

For the past month, I have been hosting a weekly programming education Twitter chat on Tuesdays at 8pm EST called #KidsCanCode. Every week, there are new participants who are unsure about what a Twitter chat is or how to participate in one. So here is a quick guide to Twitter chats!

What is a Twitter chat?

Twitter chats are like an online party where groups of people with similar interests come together at a designated time to talk about a specified topic. Some chats occur weekly, some are bi-weekly such as #KidsCanCode, and others are monthly. It all depends on the moderators and the amount of participation.

The chats take place using a common hashtag. Using a hashtag allows anyone on twitter to follow the conversation. It is like a key word that links tweets together.

#KidsCanCode Twitter Chat

Here’s an example of what you might see when you click on the #KidsCanCode hashtag. All of these people used “#kidscancode” in their tweet, therefore Twitter lumps them together so you can read everything in one place.

 

How to participate in a Twitter chat

To participate in a Twitter chat you can use Twitter or some other Twitter software. I prefer to use TweetDeck or Hootsuite, because they allow you to open multiple columns.

Set up a column for #KidsCanCode in your TweetDeck

I usually keep one column open for the chat I am currently in, and one next to it with all of my interactions. I like this layout because I can see the chat while also seeing the separate conversations I have going on. You’ll find your own preferences as you get used to chatting on Twitter.

Once you install or create a free account on Hootsuite or TweetDeck, you need to create a column for the chat. In TweetDeck, you can do this from the side panel.

  1. Click the magnifying glass, and type in the hashtag for the chat you want to follow.  For example, type in #KidsCanCode. Search for #KidsCanCode
  2. When the chat comes up, click “Add Column” button at the bottom of the window and a #KidsCanCode column will appear.                                        Input the hashtag #KidsCanCode

How Twitter chats work

Now that you’re set up and ready to begin your first chat, it is important to know how they work. Twitter chats come in many different formats. Some chats are question and answer, others are focused on a guest, some are broken into conversation segments, and others are a free flowing conversation.

Most education related chats such as #KidsCanCode follow the Q and A format. I’ll go over participating in this format, since these are the ones I prefer and have the most experience doing.

The moderator will have 5 or 6 questions prepared for the chat ahead of time. Every few minutes they will announce a question using one of the following formats.

  • Q1: What is your favorite color? #colorchat
  • QUESTION1: What is your favorite color? #colorchat
  • ——> Q1: What is your favorite color? #colorchat

When you see the question, you can respond using “A” and the question number.

A1: My favorite color is purple! #colorchat

It is important to include the hashtag at the end of each of your tweets so everyone can see it.

Some final tips

Twitter chats are a lot of fun, especially when you find a group of people you really enjoy. Hang in there and try a few different chats to find a group you click with.

Here is a list of all the education related chats that are available.

Larger chats like #edchat and #edtechchat move very quickly, so don’t worry if you fall behind at first. Eventually you will get the hang of it.

Join us for #KidsCanCode!

Now that you know all about Twitter chats, get out there, start tweeting, and join our #KidsCanCode chat!

How You Can Change Programming Education

Empower students and start programming

Why teach programming? Odds are you already know how important it is to learn to code. But just incase you don’t remember the importance of programming education, I’ll recap.

Programming is the language of the future. By 2020 there will be twice as many programming jobs as there will be programmers. Programmers are needed in every industry in every part of the world, and the demand is only going to increase.

Programming job opportunities for the future

Learning to code teaches you how to think. When you program you use deductive reasoning, logic and problem solving skills that are necessary for everyone to learn.

It is incredibly empowering. You can literally build anything you can imagine. Just ask Zora Ball. She made an iPad game when she was in the 1st grade and now it is in the app store where millions can download it.

If that isn’t enough to convince you, take a look at this video from Code.org and get back to me.

Despite all of this, only 10% of schools in the United States offer programming classes.

What is stopping people from teaching kids programming?

Since we started working on Kodable, I’ve consistently heard from teachers who want to teach programming, but don’t have time. They can’t fit it into their already packed schedule because it’s not required. Programming is only required in a handful of countries, and until it is required in the US, good teachers have to find ways to incorporate it in the limited amount of time they get.

blog2img2

A lack of resources often prevents schools from teaching programming. Unfortunately, many still view programming as something unknown or scary. This means there are a limited number of people with the knowledge of when and how to teach it. Many schools lack the technology to teach programming, and are’t receiving enough funding to get it.

How can we change this?

One of the greatest changes for education in the past five years is the increase in connected educators. Teachers, administrators, parents, and others have developed relationships with other educators all around the world by connecting online. A community has developed for nearly every sector in education. When you connect with other educators online and develop relationships, you can begin to collaborate, share ideas, and support one another.

We propose creating a community for programming education. I want a place online for great educators like you to connect with others, chat about victories, hurdles, and solutions, and feel empowered to teach kids programming. At 8 pm EST we will host a twitter chat using the hashtag #KidsCanCode. The object of this chat is to build a community of programming educators to increase awareness and collaboration. Each week we will discuss new programming education topics that effect the community.

Join me every other Tuesday at 8PM EST for #KidsCanCode twitter chat.