# data[].attributes.body
How this man started a club and tips that helped him.

# data[].attributes.attachment_link.readable_text
Last fall, my 4th grade son was playing on a recreational soccer team in Mill Valley, California. Since I was a software developer, a few parents from the team (including a Google exec and a VC) asked me if I knew of anyone who could teach kids to code.

I grabbed 12 kids from the soccer team and some laptops, and convened an 8-week program in my living room. Before each session, I beta tested the lesson on my son for final tuning. I put those initial lessons up on GitHub and regularly blogged about the experience. I planned out what would happen each week in detail, in about 15-30 minute increments. Since I had a plan to follow, this made the time less stressful.

I chose MIT Scratch as our platform, and spent a few days learning how to use it myself. Rather than planning the full 8-week curriculum in advance, I created a general schedule and tweaked the lessons week by week, depending on how the students were performing. Watching the kids interact helped make the program more effective.

The program has since grown to over 100 kids from 1st through 9th grade, and has evolved from a class model to a "club" where students work with trained instructors. Today we teach a wider variety of subjects, such as Python, Arduino, 3D Design and Javascript. Here's what I learned along the way.

Do I need to know how to code to teach it?

It doesn't make much sense to teach coding if you don't understand how to do it yourself. It would be like teaching music by giving kids an instrument and a book. If you are a professional developer, you can probably start teaching after a few hours of preparation. If you are not a developer, you can still get to a basic level of teaching proficiency in a few days or weeks, if you have any kind of background that in technology. Either way, don't worry--learning to teach coding to kids is not like preparing them for a professional career as a developer.

Don't expect that you can just show up to a coding class and learn for the first time with the kids. You'll need to prepare, and you'll need some quiet focus to do that. The goal of coding instructors is to help keep kids motivated and unblocked; it's important to give projects that will keep them challenged, but not get too frustrated.

Starting From Scratch

A great tool to start from is MIT Scratch. It can be used on most browsers, which means that you can get started on any modern computer or laptop you have. (You don't want to go through the hassle of installing software on every machine.) Scratch has a lot of resources available for students and teachers, and offers a variety of exercises for kids to quickly build different programs.

Many students also start with Code.org's popular puzzle-oriented platform. It's a great start, but there is not much follow-up content to support a longer class structure. Another tool similar to Scratch is Tynker, which comes with a physics engine and student management modules and offers more interactive games. Although there is a free version, lessons in Tynker are not free and may add cost to your classes.

Recruit kids and volunteers

Interest in coding has skyrocketed over the past two years, which may make it easier for you to recruit volunteers. If you have children, try asking their friends or parents. Volunteers need not be programmers--but it's important that they know how to work with kids, and be willing to be patient.

Try to limit the number of kids to less than 5 or 6 per adult volunteer. If you are short on volunteers, ask kids with more experience to help others that are just starting.

Getting set up

You will need a computer or laptop for every student. If you are using a tool like Scratch, you should be fine with any computer that's less than four years old. (Older computers might still work, but be a little slow.) Take 30 minutes to get kids set up on the WiFi, logged in to Scratch and creating accounts.

Try to standardize on a browser, as it makes it easier to give instructions and help students quickly. I prefer to use Google Chrome, since it is available on all operating systems (unlike Safari or Internet Explorer). Since Scratch requires Adobe Flash, you may need administrative rights to enable it. Flash is disabled by default on some browsers like Safari. Firefox is also a good option, but won't work if students use Chromebooks (popular and affordable laptops that run Google's ChromeOS).

Create a schedule and a time limit

A program that is around 8-10 weeks is a good way to start. It aligns with school schedules and is enough time to learn to code and make a project. You will probably want to organize the session by age range, either grades 1-2, 3-5, 6-8, and high school. Try and keep sessions less than 2 hours if possible, and closer to one hour for younger kids.

At the Mill Valley Code Club, we started creating our own step-by-step programming guides in bite-sized pieces that seem to work better for kids. If you are teaching Javascript or HTML, I highly recommend using Codecademy. It is free!

Use video games as a motivational goal

My promise to kids when they started coding was that they would make their own game. This was an important motivator for them, and they made a lot of progress. Maze games, animations set to music, and platformers are good goals to achieve in this time frame.

At younger ages, it's more important for students to be excited than it is for them to learn a particular programming language or concept. Capturing their imagination and enthusiasm is going to be more effective than learning a particular skill or technology.

Kids won't learn at the same pace

Some will miss classes if they play sports or have other activities. Make sure you don't force everyone to be focused on the same thing. If a student misses a session or needs more time, it's important that they are allowed to continue where they left off. Have kids keep a journal or notes of some kind to keep track of what they are doing. Doing this online is also valuable since they can share their progress with friends and parents.

Have a demo day and let them show off

Like any activity, a code club should culminate with a show and tell. "Demo days" are an established tradition in technology. Have kids imagine themselves being Steve Jobs on the stage at Apple introducing the iPhone, or Elon Musk unveiling the latest Tesla.

Kids can just share what they are doing each week, informally, or you invite parents and siblings to demo their games. Demos also a great way to educate parents about coding and what their child is learning.

# data[].attributes.attachment_link.title
How I Started an After-School Code Club - EdSurge News

# data[].attributes.attachment_link.description
Last fall, my 4th grade son was playing on a recreational soccer team in Mill Valley, California. Since I was a software developer, a few parents from ...

# data[].attributes.body
How to start a coding club.

# data[].attributes.attachment_link.readable_text
Learn more about how to get started teaching students to code-even if you have no prior experience.

There are many online resource guides for educators interested in coding, ranging from basic courses for the rookie coder to curricula for teachers who want to integrate computer science principles into other subject areas like humanities or art. Below, find a few of the best, including resources from Code.org which offers free training for teachers from all grade levels, including a national network of in-person local workshops.

Code.org

Code.org is a national nonprofit founded by tech entrepreneur Hadi Partovi that promotes access to coding education for everyone. The organization offers free in-person workshops for K-12 educators, as well as online training and tutorials.

The courses for K-5 teachers take six to eight hours to complete and provide a curriculum guide and lesson plans. Educators learn how to teach computer science fundamentals as a stand-alone course or ways to integrate coding instruction into other disciplines. There is no cost for attendance.

Middle and high school educators can attend summer workshops and follow up with in-person sessions throughout the year. The courses are free, and scholarships are available to cover travel expenses. Search the map for courses near you or contact a regional partner for upcoming opportunities.

No prior experience is required for any of the Code.org programs. According to founder Hadi Partovi, teachers do not need prior knowledge of math or computer programming. The programs are designed for any educator who wants to learn more about coding instruction.

Code.org also offers Hour of Code, an initiative that provides one-hour, self-guided tutorials educators can use to give students exposure to coding. The tutorials are free and available for any grade level. Nationally, Hour of Code is held during Computer Science Education week in early December, but teachers can access the materials and lead the activity anytime throughout the year. Edutopia has a guide that offers suggestions on how to make the most of Hour of Code.

Other Resources

The ScratchEd program, developed by Harvard education researchers, is a free, downloadable guide for K-12 teachers to instruct students in creative computing. The seven-unit curriculum is designed to guide students through the development of interactive media projects.

CodeCombat is a program that uses gaming to teach coding. The game-based program encourages students aged 9 and up to learn coding through exploration. The program offers a free one- to three-hour introductory course and a resource hub for educators.

For high school teachers interested in developing an AP Computer Science course, Mobile CSP offers a curriculum for students to learn programming while developing a mobile app. The free course is available online.

For a comprehensive list of resources, check out Code.org's lengthy list of in-person and online programs.

Edutopia Suggested Reading

3 Steps to Becoming a Coding Teacher Read these tips from an Edutopia contributor about how to curate curriculum, design your classroom, and find support for computer science instruction.

15+ Ways of Teaching Every Student to Code (Even Without a Computer) There are many ways to teach coding, including some that don't require a computer. Check out this list of resources from Edutopia on teaching coding even if you are not yet an expert.

# data[].attributes.attachment_link.title
Want to Teach Coding? Here's Where to Begin

# data[].attributes.attachment_link.description
Learn more about how to get started teaching students to code-even if you have no prior experience. There are many online resource guides for educators interested in coding, ranging from basic courses for the rookie coder to curricula for teachers who want to integrate computer science principles into other subject areas like humanities or art.

# data[].attributes.body
Article on more tips on starting a coding club.

# data[].attributes.attachment_link.readable_text
A three-step plan to help teachers in any subject and any grade teach the foundations of coding.

I first learned about coding and computer science (CS) in college about 20 years ago. Looking back, not much has changed in the foundational concepts or core practices in CS. What has changed is who can teach it and where it can live in the curriculum-today educators in any subject can teach coding.

For example, an English language arts teacher may teach a lesson that helps students make connections between coding with proper syntax and writing with correct grammar. An early elementary teacher may set up a project where a programmed robot travels on a floor map so that students can begin to comprehend how their lives relate to a broader community and the larger world.

Many teachers are looking for creative and practical ways to teach coding and programming. Although the two terms are often used interchangeably, there is a difference between them. Coding is typing and testing-writing code-and a coder translates a list of requirements into a programming language like Java, Python, C++, etc. Programming is broader, involving coding as part of a larger process: identifying a problem, finding the solution, coding the solution, and then testing the solution. This process requires the programmer to understand algorithms and data structures, among other things.

Teachers preparing students in this set of skills will need to get them grounded in the basics and will need to use appropriate edtech in tandem with good teaching practices. Here's how to start in three steps.

Step 1: Get Students Grounded in Core Coding Concepts

Every language-spoken or written-has a grammar, a set of principles that define parameters for constructing a sentence or successive sentences. Similarly, coding requires coders to be able to understand and implement fundamental coding concepts using the appropriate syntax (grammar). This is a requirement, no matter the programming language.

Critical coding concepts include inputs and outputs, loops, functions, conditional statements, and variables.

Step 2: Pick the Right Tool for the Job

The resource you use to teach coding will need to augment your instruction, taking students beyond following step-by-step directions. Moreover, it will need to get them grounded in the core coding concepts mentioned above and allow them to see the effects of each line of code executed in real time. That will provide them with moments of success, creating confidence and a willingness to tackle more complex coding tasks.

These tools come with curriculum resources that you can adapt to your coding lessons:

Code.org: Intro to Programming, part of the CS Principles Curriculum Guide, lets you adapt lessons to help students learn programming basics by applying algorithms and abstraction to draw pictures.

littleBits Code Kit: The Code Kit offers a comprehensive solution for teaching kids to design their own games and physical inventions. It comes with over 20 hours of adaptable standards-based lessons, videos, presentation slides, an inventor log, rubrics, and code tutorials addressing key coding concepts in tandem with game-based coding.

Scratch for Educators: With a plethora of resources and tutorials, the Scratch platform provides teachers with tools for coaching students in programming interactive stories, games, and animations.

Step 3: Use the Workshop Model

Most likely, all of our students will not be coding at the same level. Once we know the basics of coding and have a resource for teaching, it's important to employ sound teaching strategies to reach them all.

For this purpose, I like to use the Workshop Model (WM) developed by Carmen Fariña and Lucy Calkins. The WM structure allows me to organize and monitor learning while helping my students become more responsible for their own mastery as they build competence in coding. Engaging them in this structure also leads to increased confidence and willingness to extend their presumed capabilities for the multilayered skill of coding.

In my adaptation of the WM, I conduct mini-lessons and allow groups of students to create programs and build their coding skills with appropriate activities for their varied levels. Teachers can facilitate learning for learners new to coding by having them participate in the following station rotations within the WM structure:

Coding with the teacher: For learners who are very new, having me model and coach by their side gives them the confidence that they too can code their first program.

Pair programming: Pair programming (PP) is a strategy used by software developers and students in CS classes for learning collaboratively and completing big and complex projects. When both partners are newbies, the PP strategy has potential pitfalls, so be sure to provide rubrics and make time for frequent teacher check-ins and student reflection.

Learning core concepts using personalized tutorials: As students gain more confidence with both the core concepts and edtech, I allow them to build further mastery independently by using tutorials that address specific coding skills (i.e., loops, functions, etc.). Again, have them use rubrics and provide frequent check-ins.

Coding is a multilayered skill that requires time, patience, effective use of edtech, and sound strategies for achieving mastery. Moreover, creating a computer scientist could take up to 25 years -it cannot happen in one class, lesson, or semester. Therefore, focus your teaching on the basics, building student capacity and getting them where they need to be, which is the rigor level appropriate to their current understanding and grade level.

# data[].attributes.attachment_link.description
A three-step plan to help teachers in any subject and any grade teach the foundations of coding. I first learned about coding and computer science (CS) in college about 20 years ago. Looking back, not much has changed in the foundational concepts or core practices in CS.

# data[].attributes.body
Hour of code with littles, using botlogic.

# data[].attributes.attachment_link.readable_text
Last Updated on November 24, 2020 by Laura

Computer Science Education Week is the first week in December each year. This is a time when students around the world participate in the Hour of Code. I've been participating with my elementary library classes for several years now, but at first I was very reluctant to try it with my youngest classes. My lack of understanding about coding led to me feeling afraid to try to teach little ones about it. When I found the site called Botlogic, that changed for me! Now I have a great activity that starts off just where my kindergarten and first grade friends need to be.

Why teach young children about coding?

Coding activities help students develop skills in problem solving, logic, and creativity. They also help students gain the skills to become CREATORS instead of CONSUMERS of technology products. Exposing elementary students to computer science activities helps them begin to consider future careers. According to , although there are over 570,00 computing jobs open in the U.S., the majority of American schools do not teach computer science. By participating in Hour of Code, you are helping to change that and show your students more opportunities for their futures!

Why Botlogic?

Botlogic has a user-friendly interface with large, colorful buttons and straightforward directions. If you log in as an educator, they will send you a code to use, but I've always had my students use the site without the code and it works great. At the first screen, players choose their age range, and click "Play Now!"

I recommend viewing the tutorial first and trying the game yourself before using it with your class. If you aren't familiar with coding activities, this is the perfect way to learn! Some things that have worked for me:

Use the tutorial with the class on a large screen or just start with the game as a whole group to talk them through how it works.

Have students work in partners on a computer or iPad. This promotes communication and collaboration - you'll be amazed at the conversations you overhear!

Walk around and give suggestions, but try not to solve every problem for them!

Use Botlogic more than once. I usually have my students try it for two class periods. This helps them process and apply previous learning.

Send home information for parents so they can help extend the learning at home!

I recommend using Botlogic with grades K-2, but I have had older students come in to tell me they've tried it at home (because their younger siblings showed it to them!) and they loved it too!

Extend Your Hour of Code!

Check out these websites for more information:

Grab this freebie!

If you want to participate in Hour of Code and try Botlogic with your students, download my free bookmarks and get some other activity ideas!

Internet Safety

For ideas on addressing Internet safety and your school's technology use agreement, take a look at this TUA Bulletin Board and Activity Kit.

Be well and have fun!

# data[].attributes.attachment_link.title
Hour of Code: Future Computer Scientists in the Making! * The Trapped Librarian

# data[].attributes.attachment_link.description
Computer Science Education Week is the first week in December each year. This is a time when students around the world participate in the Hour of Code. I've been participating with my elementary library classes for several years now, but at first I was very reluctant to try it with my youngest classes.

# data[].attributes.body
Storytelling activity with an coding activity at the end with Scratch.

# data[].attributes.attachment_link.readable_text
When someone shares with me a new technology tool, I immediately try to think of ways I can use it in the classroom. There are a lot of cool apps and websites out there, but not everything is appropriate for teaching to the curriculum. One of the most important things I can do in my work with teachers is to make sure I share solid ideas to help them teach their existing standards. So when coding came on the scene, I wasn't sure how I could incorporate it into the literacy standards. Fortunately, I learned about interactive storytelling and coding using Scratch Jr., but there isn't a lot of ideas or products to help me implement interactive storytelling with ease.

Knowing that coding is an important skill for students to learn, I knew I had to come up with ways to teach coding skills. However, I knew nothing about coding, so I needed to learn a few basics. With my new found knowledge, I came up with so many fun ideas for integrating coding into my literacy lessons. Which is why I am so happy I get to share one of the first ever coding lessons I incorporated into the literacy curriculum AND it is just in time for the Mentor Text Lessons to Warm Up Your Winter Link-Up using the book Snowmen at Night by Caralyn Buehner.

Interactive Storytelling

I chose this book because it has a circular ending. I wanted to tie in circular endings to the idea of looping as it relates to coding. Loops are the action of repeating over and over again.

While circular endings have similar words, phrases, characters, or settings that you see at the beginning, as well as at the end of the story. Authors use this technique to help bring closure and connect the beginning to the end.

The two have lots in common because of the repeating patterns and the ability to connect actions within the code or story. Even though I chose this story because I want to link the two concepts, I don't immediately begin the unit with technology. There is nothing better than pulling out a good book and reading for enjoyment.

Before and During Reading

The first thing I would do is introduce the story to the students by telling them a bit about the objective. I want students to be aware that we are going to look at how authors use techniques for adding closure to their story using something called circular endings. However, I don't want to discuss this too much at first.

I would also ask a few questions to help build background and assist them to predict such as:

Have you ever built snowmen ?

What did you use to build the snowmen ?

Predict what might happen in the story based on the cover.

While I try not to stop a lot during the first reading of a story, I would stop in places to help students make predictions or pause to discuss relevant vocabulary. For example, I might ask students to predict what they think snowmen might do at night or explain words and phrases like wonder or tuckered out.

After Reading

After the reading of the story, I want to remind students of the objective and tell them they are going to look closely at the beginning and ending to see if the author used a circular ending in the book.

In order to compare the beginning of the story to the end, students are going to start their interactive storytelling in Scratch Jr. to create the two scenes. Show students pictures of the beginning of the book. Have students analyze the following:

Students will use Scratch Jr. to create their first scene by choosing their setting and characters. Scratch Jr. has already made characters or students may draw their own. Another feature I like is that students can take an existing character and edit. I did this to add a wintry apparel to my character to resemble the boy in the story.

Next, I have students create the second scene which is the ending of the story. Students choose their setting, characters and add the words from the story. Once they create their two scenes, it is time to analyze the beginning and ending to determine if the story has a circular ending.

More Coding Integration

The complete product includes more information about looping and coding:

Understand the looping concept through movement activities

Use drag and drop blocks to animate the scenes they created for the book Snowmen at Night

Analyze other books to determine if they have circular endings

Create their own digital, interactive stories using looping and circular endings.

So now that you have a few ideas of how you can teach coding in the classroom, want to win a $10 gift card to TpT?

So here is how it is going to work. I will...

*Provide several examples of how to use it in the classroom

*Develop one lesson idea to help you get started

*Try it out in your classroom

*Take pictures and share using #twjchallenge

Once you share via Twitter, Instagram, or Facebook you will be entered to win a $10 TpT gift card and earn your coding badge.

PLEASE NOTE: If you already use digital storytelling in your classroom and have other ideas for using Scratch or Scratch, Jr. other than my lesson idea, by all means share it with us. The idea for this challenge is to inspire other educators to try creative ways for using tech in the classroom. I'd love to see all the cool ways you integrating coding with your standards. Just click on the link below to sign-up and get your copy of the challenge.

If you have any questions, just ask away in the comments.

Click here to check out all of my coding adventures.

# data[].attributes.attachment_link.description
When someone shares with me a new technology tool, I immediately try to think of ways I can use it in the classroom. There are a lot of cool apps and websites out there, but not everything is appropriate for teaching to the curriculum.

# data[].attributes.body
Step by Step instruction on how to teach your students a scavenger hunt with Scratch.

# data[].attributes.attachment_link.readable_text
A Direct Message Before We Start...

One of the recurring themes in what I hear from many of you inside our Facebook group for teachers, is that you're looking for better ways to use technology in the classroom. You don't want to use technology for the sake of using technology. You want to use technology to improve the way you teach, and to make it a better learning experience for your students.

I've been thinking of that a lot in regards to what and how I teach. When it comes to teaching coding, we're not just using technology to teach, we're actually teaching technology. And I find that because of that, due to a huge demand and a lack of curriculum and educators who are trained in this field, what's available out there is mostly in the form of video tutorials. We're told to show the coding video tutorials to our students and to learn alongside them. It's not a bad method for learning, but it hasn't been effective for me in the classroom setting.

I've tried both watching the video tutorials together as a class, and also having the kids follow the tutorials on their own. I wasn't thrilled with the results of either method. When we watched together as a class, by the time the video was over, it was hard for many of the kids to remember their questions or even the instructions. Being a programmer myself, I knew the kids would learn better if they got to do the work in real time as they were getting the instructions.

As far as having my students watch the videos on their own, I found that those headphones on their ears made us all feel disconnected. I quickly realized I'd much rather have the kids follow a tutorial with no sound. That way they can easily work together with a partner, and comfortably raise their hand whenever they have a question. Plus, my students can always watch video tutorials at home. At school, I felt and still feel, we should work together as a class.

Coding is fun and it's exciting, but it's similar to math in that teaching it is visual and very step-by-step. I felt that to effectively lead the kids through the building of a game, I needed to prepare some visual aids ahead of time. I started creating slideshows, and it wasn't long before I discovered the power of the animation tools in explaining coding concepts and walking my students through the building process. The slideshows helped keep me on target, so I wouldn't forget any of the steps, and their visual aspect made it very clear to the kids what they had to do at each and every point.

So, why am I telling you all this?! Well, I had an a-ha moment after sharing the Halloween Scratch Lesson this past October. After getting lots and lots of messages from teachers expressing their enthusiasm for the way in which the project was presented, I realized that these animated slideshows might just prove to be a solution outside of my own classroom. So, I decided to really focus on getting these tutorials out and available to you all as soon as I can. Many are already available on the Scratch Lessons page, and today I want to introduce one of my favorite courses from that selection, the one leading you through building the Scavenger Hunt Game...

# data[].attributes.attachment_link.description
One of the recurring themes in what I hear from many of you inside our Facebook group for teachers, is that you're looking for better ways to use technology in the classroom. You don't want to use technology for the sake of using technology.

# data[].attributes.body
How to create the illusion of moving sideways using Scratch,

# data[].attributes.attachment_link.description
This mini Scratch lesson will walk you through how to create the illusion of moving sideways!

# data[].attributes.body
How to clone a bouncing ball with Scratch.

# data[].attributes.attachment_link.readable_text
Want to Step up Your Teaching Game?

I can't think of a better skill to add to your arsenal than learning how to teach coding!

Take the 30-day Scratch Teachers Challenge and you'll be able to start a coding club at your school! No prior experience necessary, and I literally hold your hand through the process!

What's more, you'll receive a certificate, 8 hours of PD, and become a part of a large, vibrant community of teachers already using this curriculum to teach their own students!

# data[].attributes.attachment_link.description
Take the 30-day Scratch Teachers Challenge and you'll be able to start a coding club at your school! No prior experience necessary, and I literally hold your hand through the process! What's more, you'll receive a certificate, 8 hours of PD, and become a part of a large, vibrant community of teachers already using this curriculum to teach their own students!