Coding in Elementary: Moving beyond Playing to Producing

Can I tell you a secret? You don't have to be a tech-y librarian to teach your students how to code. Five years ago, I was starting in a new school and working on building trusting relationships within my learning community. At that time, I had not written a single line of code in my life. As I drifted through the Pinterest world, blogs, and professional periodicals, a trend started making itself known: coding. Initially, I thought, "Really? School librarians do practically everything and now we have to start teaching coding too?" I admit, in that moment, I was overwhelmed and didn't think it was possible to take on coding. How was I supposed to teach students (and teachers) how to code, when I myself had no experience at all? That's when it hit me: You don't have to know everything. With this as my mantra, I was able to implement coding clubs and robotic tournaments. I integrated coding into some collaborative library lessons, and some classrooms even have coding as part of their math centers now!

Adjust Your Mindset

The first step is to adjust your mindset. Instead of preparing to be the expert in the content and fluent in coding, equip yourself with the perfect questions. For example, I received a handful of Makey-Makeys for my school library. A Makey-Makey comes with various alligator clips and a snap circuit. Let me get real here: I had no idea what to do with the Makey-Makey. I just heard someone talking about how cool they were, and they were pretty inexpensive, so I purchased a few. When they came in, I took them home with the intent to spend hours on the weekend watching tutorial videos, reading instruction manuals, and trying to see if I could make it work. I wanted to be able to answer any questions that arose while using them with students. Then life happened. The Makey-Makeys spent a couple weeks on the counter in my house, unopened and untouched. The longer these remained on my counter, the heavier my guilt grew. I finally gave up and took the Makey-Makeys back to school. At 7:25 in the morning, before classes started, I unpacked and unwrapped the kits and set out a couple laptops on my tables. Students started coming into the library, as they do every morning, and I put my game face on. You don't have to know everything. You don't have to know everything. Students asked "What is this?" or "How does this work?"

"It's a Makey-Makey. I don't know! Can you figure it out?" My whole teaching style changed after this. Students were enthralled! They worked together to begin researching, which allowed for authentic information literacy guidance from their school librarian, a content in which I am confident. Before the bell rang, I had a group of 20-25 students who had figured out how to turn the Makey-Makey into five different things! Students left the library that day knowing how to collaborate, locate, and evaluate digital resources. Most importantly, they left feeling empowered because they were able to teach me something instead of the other way around. Step one to teaching coding successfully: Adjust your mindset.

Plan the Logistics

Now you must determine the details of teaching coding in your library. The table below provides some suggestions on how to get started based on your comfort level and type of school library. The most challenging part of getting started is taking this big idea and figuring out how it will work best in your library with your learning community. If you are nervous about teaching coding, use a tool that will teach the students for you. You act as the guide in the room, but the virtual professionals will deliver the content. ( and Google CS First ( are great tools, and they work with students as young as elementary up through 8th grade with their content and challenges. If you are feeling more excited than nervous, and are seeking a more hands-on approach to teaching coding, I recommend you use Scratch ( or some actual robotics kits like Lego Mindstorms ( Once you know your content, it is easier to decide which classes to do this with, I always choose the students and teachers eager to be my guinea pigs. These classes have incredible behavior, significant trust, and they understand mistakes happen.

Type of Library & Schedule Nervous Excited
Fixed schedule with 30 minute lessons

Select one class

Set up students on

Select a grade level or two

Introduce either Scratch or

Fixed schedule with no ability to teach coding within classes

Start a Coding Club that can meet as little as once a week for 20-30 minutes.

Set up students on

Start a Robotics Team that can meet every week.

Use Lego Mindstorms, Ozobots, Spheros, or any other robot kits available.

Flexible schedule with collaborative teachers

Approach the teacher(s) who are always on board with new ideas.

Plan with the teacher about which Google CS First club fits the needs of your students and curriculum.

Approach the teacher(s) who are always on board with new ideas.

Challenge students use Scratch to create a story connected to content they are learning in the classroom.

Flexible schedule, independent teacher

Start a Coding Club using or Google CS First to meet a few times a week, maybe during math centers.

Start a Robotics Team that can be an extension for advanced math students.

Get Your Admin on Board

With your content and students ready to go, have a collaborative conversation with your administrator. Review how you plan on teaching and which class is involved; and be sure to ask if they have any suggestions or goals you can help them achieve by teaching coding. This is the perfect opportunity to discuss how you will track student achievement and how this effort will impact student learning in the classroom and the library. Many of the online coding instruction websites like or Google CS First have tracking for each student. You can choose to use this data to share student growth with teachers, parents, and administrators. If you choose to teach with Scratch, be sure to share student creations with your administrators. How can you spotlight student learning with coding? Post it on your library website, print out the code for a display, send via email or social media, or invite your administrator to attend one of your classes or club meetings. Align your goals with your administrator's goals, and you will be on the fast track to ultimate student success in your building.

Student Growth and Reflection

Coding is fun and exciting! During your lessons, students will be engaged, loud, collaborative, and excited. However, it's not all giggles and light bulbs. You will have students who get frustrated or give up when they come to an obstacle in coding. Many of my advanced or gifted students have experienced this in our coding activities. Why? They have not had to truly struggle through a problem. Coding is not black and white, which is a concept hard to understand. You can accomplish the same task from many different angles. Some students are used to the traditional "Did I do it right? Yes or no" system, and it is just not the same in the world of coding. Your response would never be a simple yes or no, it would be "Well, did it work?"

When students are struggling, you have an opportunity to facilitate a reflective discussion that can provide guidance, support, and foster growth mindsets in students. You will see students struggling at the same time you will see students figuring things out. Find a time when students can stop and reflect together. To reduce distraction, the best time is after the activity is done and all devices and materials are put away. In fact, end your lesson a little early to make sure you have enough time for a quality discussion. Ask prompting and open-ended questions:

  • What was challenging for you today?
  • How did you react when you found something hard?
  • What would you do differently?
  • What success did you find today?
  • Who can you talk to next time to get help?

Allowing students to share their success will help other students see who to ask for guidance. Allowing students to embrace their struggles will help them feel part of a community, rather than alone. These are deep questions, and a ten-minute discussion will not allow for everyone to share every answer. Incorporate think/pair/share or exit slips if time is an obstacle. Reserving time for these important conversations will empower your students, build relationships and community, and ultimately show you where your students need help.

Remember, you don't have to know everything to teach your students how to code. Empower your students by modeling your continued learning and growth mindset. Start with students and teachers you trust, reflect together, and then reach out to additional classes and grade levels. Get your administrators on board, and keep them involved and informed of what students are learning. Most of all, take time to reflect and grow together. Let's bring our students and our libraries into the future by teaching them coding, computational thinking, and collaborative strategies!

About the Author

Kelsey Gourd, MLIS, is a Teacher-Librarian at Lakeview Elementary School in Norman, Oklahoma. She has contributed to the Kids Can Code series from Rosen Publishing and received the Technology in Education Award and the Polly Clarke Award from the Oklahoma Library Association. Find Kelsey Gourd, along with some lesson ideas and teaching strategies, at her blog or on Twitter @KelseyGourd.

MLA Citation Gourd, Kelsey. "Coding in Elementary: Moving beyond Playing to Producing." School Library Connection, October 2017,

View all citation styles

Entry ID: 2126761

Back to Top