For many educators seeking to plan a coding curriculum without having mastered the basics of computer science, it often appears to be a lot like buying a prom ticket before having secured a date. Because of this, we have gone to great lengths at Kodable to not only prepare educators to teach their students to code, but also unsubscribe from the myth that only those familiar with programming can teach computer science. On one occasion, we even went as far as to compare teaching programming to The Hobbit. Through it all, we have proven time and time again that any willing and passionate educator can teach their students to code.
This news comes at a fantastic time because now more than ever, teaching kids to code is not just encouraged, but completely necessary.
By the year 2020 there will be more than 1.4 million computer programming jobs available in the United States, but less than 400,000 computer science students to fill these jobs.
Even as it stands now, 21st century students need a computer science education in order to help them interact and create in our technologically dependent world, and must learn important skills such as problem solving, logic, and critical thinking that are developed through programming. To sum it all up in one sentence: Learning the fundamentals of coding is now SUPER IMPORTANT!
Yes, we need to teach CS, but where do I start?
Thousands of educators across the globe are already teaching students programming and have selflessly shared their experiences on their personal blogs and via twitter, helping countless others improve or plan their own coding curriculum. Fortunately, we have spoken to many of these educators in our very own #KidsCanCode Twitter Chat, and with their contributions, we have come up with several important tips to help you organize the perfect coding curriculum.
Tips for Planning the Perfect Coding Curriculum:
Golden Rule: Don't teach coding alone, first get some help.
When you begin learning and eventually teaching a subject that you do not know well, at first you are only as good as the teaching tools or resources that you use.
Without much programming experience, it would be unrealistic to expect you to plan an entire coding curriculum without the help of a guide and/or professional support.
Before you begin, make sure that you join in on an educational Twitter chat and ask for some friendly advice or support. At Kodable, we moderate a weekly Twitter chat called #KidsCanCode and frequently share suggestions for organizing your own coding curriculum. Depending on your specific questions, you can choose from one of the hundreds of chats available to educators from this updated list of educational chats.
Educational Twitter chats are also a safe place to ask for suggestions and discuss the best teaching tools, programs, Apps, games, and guides available for your coding curriculum. Often, there is a lot of pressure in choosing the right teaching tools for your programming curriculum, so it is important to make a few key considerations before you go any further.
Be a bit selfish: Choose a teaching tool that teaches you too.
When researching teaching tools for your coding curriculum, it is critical that they possess the resources to help cater to your learning needs as well.
When developing your coding curriculum, plan on learning coding concepts a few days before or along with your students.
Most educators have had the greatest success with this method, and have found that learning/teaching programming this way provides them with enough background knowledge to answer most of their student's questions, but also leaves them with an immense amount of flexibility to make changes based on their class' response. With this in mind, search for teaching tools that have corresponding guides, teacher resources, and reference materials that provide you with enough background information so that you can learn quickly, and become comfortable with what you are teaching. At Kodable, we provide our educators with the Kodable Learning Guide. This written resource tells educators exactly what they need to know when teaching their students basic coding concepts such as sequence, conditions, loops, and functions.
Can you see yourself learning the basics of coding and building a coding curriculum from the materials provided? If yes, then consider how a particular programming tool will impact your teaching.
Avoid the headache: Select a teaching tool that compliments your classroom.
We have all had our share of nightmarish experiences when technology has chosen for one reason or another to fail, leaving us embarrassed, confused, and scrambling for a solution. Whether it is a video feed that simply stopped working during the middle of an important interview, or a PowerPoint that failed to load in front of a roomful of expectant peers, we have all been there before. With this in mind, alleviate some of this stress by choosing a programming tool that is going to minimize the headache associated with many technologies. As a beginner, you are going to have your hands full learning the basics of coding and keeping up with your students, so don't have any heartburn selecting a teaching tool that is going to do most of the work for you.
The key is to remember that your expertise is in teaching and not coding, so any teaching tool that is going to maximize the amount of time you can spend focusing on working with your students is preferable.
Before you start planning your coding curriculum, make a list of what you need most to succeed teaching programming, and then go out and find the tool that best suits the needs of your coding curriculum. At Kodable, all of our best improvements began with suggestions from educators. The end result is iPad syncing that enables teachers to hand students any iPad off of their classroom cart, student progress tracking that enables educators to leverage data to teach their students more effectively, and level management tools that allow for differentiated lesson plans. All these features ended up being a lifesaver for educators, so make sure that whatever tool you choose has similar options available to help make your life that much easier.
Embrace expert reversal: Incorporate lots and lots of sharing.
As soon as you begin teaching coding, you will find out quickly that you are no longer the smartest person in the room. This is why it is important that your coding curriculum embraces your changed role right from the start.
Inspire students to find solutions to their own problems by encouraging collaborative programming, creating a classroom environment where they want to constantly share, or by simply using the "ask 3 then me" rule.
Flip your class, encourage your students to explain solutions, or simply work together as a classroom to solve a difficult programming problem or work on a project.
When planning your coding curriculum, be sure to include activities that will help you teach students what they need most from you, and that is ways that we can use programming to provide solutions to real life issues.
Make coding more than a game: Use project-based learning to foster real-world connections.
In planning your coding curriculum, students do not necessarily need you to teach them all of the fundamentals of programming. What they absolutely need is for you to provide them with a sense of direction and/or objective.
A painter does not sit down and paint for the sake of painting, but rather he/she always has a specific goal or purpose in mind. Just the same, programmers do not sit down and code for the sake of programming, but are always working on a project with a unique objective.
For younger students, first help them make the connection that programming involves using a computer to create physical and impactful changes. With Kodable, we provide educators with the fuzzFamily Frenzy activity. This screen-free activity communicates to younger students the logic associated with programming, but it also conveys to them that simple commands can move objects, navigate obstacle courses, and help them reach a specified goal.
With older students, have them create an app or a website that addresses a specific problem or corresponds with a unit that you are currently teaching. Your coding curriculum does not have to be independent from other areas of study, but can and should also be integrated with the many other subjects you are teaching. The possibilities with programming are endless, and can be included in any assignment with a little creativity from the water cycle to music.
Mix in some laughs and smiles: Whatever you do, make sure it's fun.
We all learn the most when we love what we are doing. For too long programming has been negatively depicted as arduous, difficult, and boring, when in reality, coding is an immensely exciting and creative activity.
When selecting a teaching tool for your coding curriculum, be certain that it is something that your students will enjoy and love.
After all, the ultimate goal is to not just teach your students the fundamentals of programming, but get them excited about computer science, critical thinking, collaboration, problem solving, and learning.