A Simple “Algorithm” for Bringing Coding to Your School. Coding in schools may be a trend, but it’s more than necessary. Judging from the most recent State of the Union Address is here to stay.

90% of Americans and 100% of politicians agree on the importance of teaching computer science.

Some states, including Arkansas, Hawaii, and Delaware, have already taken the lead in making computer science education available to all students. The Computer Science Education Coalition is urging Congress to provide 250 million dollars in federal funding for K – 12 computer science education.

Which is great, especially since we want kids to be ready for the workforce:

Worldwide, almost all of the most hotly-demanded skills (other than #3, #24, and #25) are about computing and computer science. #CSforAll. If you need more convincing, just check out these stats.

But learning to code is about more than preparing kids to have meaningful careers.

Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains. Bill Gates

If coding hasn’t become part of your school culture yet, this simple algorithm will help you get started:

1. Get Teachers and Families on Board

If you’re interested in bringing coding to your school, you already understand the value. But some teachers and parents might not.

Helping the school community understand the value of a computer science program is crucial.

Send emails, set up fun training programs, and show inspiring videos like this one:

And this one.

And this one.

All teachers, regardless of their technical skills, have something to contribute. Drawing on everyone’s creativity, knowledge, and ideas will strengthen your technology program, build confidence, and take away fear.

Tip: Don’t force teachers to teach code. Rather, help them incorporate coding concepts into their lessons, even without technology.

2. Create a Blog for Your Technology Program

Creating a school wide computer science program seems like a daunting amount of organization. But if you go slowly and step-by-step, it’s doable.

A blog is a great way to keep everything organized. If you don’t know how to set up a blog, you’ll surely find somebody in your school who can help you – maybe even a student.

Edublogs, an educational version of WordPress, is a wonderful blogging platform for schools:

Having a blog post for each coding class session, with the plan for the day, embedded images and videos, and all the necessary links helps classes run smoothly.

Tips:

Create a category for each class or group of students.

Write posts in “pseudocode” so children can get used to seeing common coding symbols and formatting.

Besides lesson plans, include pages with information for parents, rules, and photos (which can be password protected). Having a page of links students can visit if they’re waiting for help keeps kids from getting antsy and frustrated.

Adding a “project gallery” page is a fun way for students to show off their projects.

Include widgets with vocabulary words, links the students need often, etc.

Create bookmarks, or better yet, set browsers to open directly to the blog.

Encourage families to visit the blog regularly.

3. Code Across the Curriculum

Coding, for better or worse, is most often associated with STEM or STEAM. But, with all the critical thinking and problem solving involved, coding can go so much farther than that, without taking time away from other subject areas.

In fact, incorporating coding into all subject areas will actually help teachers cover Common Core and other sets of Standards.

Computer science concepts should be taught in every single classroom, from preschool on up.

There’s no need to reinvent the wheel. Start with this easy to follow curriculum from code.org as a springboard, and then supplement with other subjects wherever you can.

Music class is the perfect place to learn that a chorus is a “function.” Gym class is the perfect place to create an “algorithm” for kicking a soccer ball. (Fun fact: a school in Madagascar is using basketball to teach coding.)

In Language Arts, kids can use programs like Scratch to boost their storytelling and technical skills at the same time. Game designers and animators map out their stories all the time. Students can too:

Get teachers of all subjects to “talk like a techie” and before you know it, math class won’t be the only place students are using words like “variable.” You might even hear them using words like “antagonist” and “protagonist” on the playground.

Tip: Let students design their own vocabulary flashcards with PhotoShop or an online tool like Canva or PicMonkey.

4. Step Away from Screens

Little kids should should be singing, making friends, learning how to cooperate with others, and playing in the dirt. Kids need to play.

Right?

Of course.

Which means that they shouldn’t be spending time learning to code.

Right?

Wrong.

Okay, yes. Learning coding means that kids will sometimes be in front of screens. But when they are, they’ll be creating, not consuming, which puts them on a much faster path to success:

Kids who understand code are at the highest level of literacy in the 21st century. This will give all kids the tools to move from consumers to creators, enabling them for huge success.

More importantly, there are countless kid-friendly “unplugged” coding activities that involve planting seeds, making paper airplanes, baking, singing, and dancing, and listening to read-aloud (Amelia Bedelia is a great read-aloud to start with. Yes, that’s right, Amelia Bedelia is great for teaching programming concepts.)

Don’t forget. Coding is play. So get your dice, decks of cards, and markers ready.

Tip: The studio.code.org curriculum has unplugged activities from Thinkersmith built in. For younger kids, try some of the activities from Hello Ruby.

5. Teach Kids to Work and Problem Solve Together

Make sure the students understand that two, three, or even four heads are better than one. The last thing you want to see is one kid clicking away while another sits there bored, doing nothing.

Establishing the norms of “pair programming” from day 1 works really well:

Tip: Make signs (or have kids make signs) with the do’s and don’ts of pair programming to put up near school computers.

6. Organize Coding Clubs

Coding clubs during lunch or afterschool, where students can come and work on whatever projects they’d like in a relaxed environment, give students the opportunity to teach each other and themselves and make more strides with coding.

Once a core group of coders is established, the school will have a group of kids who are able to help run your school’s computer science program.

Tip: Encourage teachers and administrators to come to coding club meetings and work on tutorials and projects so the children have a chance to watch adults learn.

7. Let The Students Surpass the Teachers

Even teachers who have never written a single line of code can teach computer science. The idea is to learn along with the kids and expose them to new ideas.

Stuck in the middle of a lesson? Don’t worry. That’s absolutely okay. All programmers need to look things up and debug. There’s no reason students and teachers shouldn’t learn how to solve problems together.

It’s very likely that some students will get to a point where they they know more than their teachers. And that’s okay too. Learn from them, keep them on track, and teach them how to teach themselves.

Tip: Just because it’s okay for kids to surpass the adults, adults should keep learning. Organize regular professional development that can be led by volunteers from your school or outside trainers.

Codecademy and W3 Schools are great tools for self-paced professional development.

8. Inspire Students With Stories of Past and Present Coders

Coding is fun, so many children are hooked from the start. But that doesn’t mean they shouldn’t understand why they’re learning to code.

Let them learn from Mark Zuckerberg and Bill Gates, but also teach them about the very first programmers like Ada Lovelace, Grace Hopper, and Betty Holberton.

You’ll find plenty of inspirational resources here.

Students are well aware that coding is making its way into pop culture. Compare these two videos, the first from a popular TV show, the second from code.org:

Take advantage of this kind of example of coding in the “real world.” Let students see that all-star basketball players and models are learning to code.

Tip: Ask students to create videos and images with their own quotes about the importance of code.

9. Involve Families

Invite families to events where students present their coding projects. Kids can take ownership of the events by making invitations and helping with the planning and preparation.

Tip: Make certificates to present to the children in front of their families. Personalize the certificates with photos, stickers, and a note on the back, and let the kids decorate them.

10. Bring it All Together With a WiseStamp Email Signature

Once your school’s technology program has a strong social media presence and a blog (even a new, temporarily empty) blog, wrap everything up with a global unified email signature.

This way, every time families receive an email from the school, they’ll have instant access to photos, events and everything the students are learning:

Tip: There’s no need to include all the features you see in the example above. Ask parents which parts of your school’s signature they interact with most and adapt your signature as time goes on.

We teach kids writing, even if they don’t plan to become writers. Students study biology, even if their future careers have nothing to do with science. We teach kids music, even if they never play an instrument as an adult. Teaching these subjects to make the next generation of adults capable, well-rounded, and educated.

In this day and age, we have a responsibility to teach coding for the same reason:

Technology and computers are very much at the core of our economy going forward. To be prepared for the demands of the 21st century—and to take advantage of its opportunities—it is essential that more of our students today learn basic computer programming skills, no matter what field of work they want to pursue.

~ Todd Park, U.S. Chief Technology Officer

There you have it. Follow these ten steps, and help the students in your school prepare for the future.

Does your school have a computer science program? What has worked for you? Leave a comment and share your expertise.