Beyond the Hour of Code. Join us!

Scores of teachers got their feet wet with coding during this year’s Hour of Code, while millions of students began their programming education. As the holiday cheer winds down, students and teachers will return to school and take on the second half of the year. What better time to continue coding and prepare for a full year of programming education in 2017-2018?

We’ve heard from some rockstar teachers who go beyond the Hour of Code year after year, leading us to some helpful tips for going  beyond one hour (or week) this year, and implementing a full year of coding next year and beyond.

GO for it! Try a pilot.

Piloting is simply doing a test run with a program you have some experience with and want to learn more about in order to fully implement down the road. Was there a program that stood out during the Hour of Code week? What was the one experience that floored you and your students to the point where everyone wanted more?

We know that the number one way to go beyond the Hour of Code is to just GO FOR IT. Just start. We hear from teachers constantly that jumping in head first was the turning point for computer science education in their school. Pilot a program this year, so next year everyone is prepared from the learning experience the pilot program provides. Here are some ways to get started with a pilot.

Don’t keep it to yourself!

In most cases, the Hour of Code is something every teacher experiences to a different degree. Some teachers are the pioneer at their school and lead the charge, while others watch from the sidelines or dabble for an hour over the course of the week. Whatever role you’ve experienced, sharing successes and lessons learned with your fellow teachers and leaders is crucial to keep the movement going.

Not sure how to do that? Check out these ideas from our Hour of Code stars!

  • Share data that shows how much students learned and completed during the Hour of Code. Numbers make a statement!
  • Photographs. Everyone wants to see the 100% engagement you’re raving about and excitement around learning tells an important story.
  • Display student work- your students will feel proud and your school community will be impressed and intrigued.
  • Student-led presentations say it all. Have students present during PD or host a coding night at your school. Ownership and student agency is second to none and empowering students is something we strive for as educators.

Spread the learning around.

Finding the time to fit computer science into an already jam-packed schedule is the number one challenge teachers face. Programming doesn’t have to be an isolated learning experience, though. One of the biggest “ah ha!” moments we see teachers have is realizing programming fundamentals overlap in almost every area of the academic day.

  • Math: Algorithms, logic, problem-solving, values, mathematical operations…you get it.
  • ELA: Reading and writing pair perfectly with the most foundational programming concept, sequence. Not to mention, code is a language, just like English, with important syntax and grammar rules.
  • Social Emotional Learning (SEL): Paired programming! Collaboration! Resilience and grit when you need to try and try again…and then keep trying.
  • English Language Development (ELD): Directions, temporal words, prepositions, and practicing expressive skills in communication. Fun fact: the most popular feedback we get from Kodable teachers is that their ELL students have the biggest successes with coding.

Need more ideas? Check out our post on coding in the everyday classroom for an easy start.

Fail forward!

One of the biggest things students should understand when programming is that failure is the most important element to success. The mindset that failure is important and holds zero negativity is one we should cultivate in programming education- for teachers, too!

It’s highly unlikely that many teachers around the world also happen to hold a computer science degree (or even have a background in technology or using computers themselves). This isn’t a problem! There are products, programs, and people ready to support teachers and help them learn right along with their students.

You will fail, your students will fail. The idea is that we all fail forward, learning and trying new things as we grow.

Build Classroom Community with Coding Team Builders!

Back to school means old faces, new faces, and getting to know each other in a new classroom community. We know fostering collaboration and building an emotionally supportive environment positively impacts academic achievement and developing a community from the start is key.

Team building activities that promote critical thinking and collaborative problem-solving are a great way to kick off the year with your students and develop a strong sense of community that works together from day one. Traditional team builders like “The Human Knot” are great, but what if we could use coding and computer science concepts to get to know each other?

Here’s how:

Variables

In programming, variables store information in a program. The information is referred to as values, and can be either text or numbers. You can think of a variable like a container with a label that stores related items inside.

Strings

A string is a variable that stores values that are groups of characters, like a word or phrase. A great example of a string variable is a name: a name is a value that is used to identify a person.

Name Games: Back to school name games that help students get to know each other are a great opportunity to introduce string variables. Explain to students that they represent a variable and their name is a string that is a value associated with them. There are tons of name games out there, get creative and have fun!

A simple and silly name game that can get students thinking about string variables can be as basic as students going around a circle and choosing a word that goes with their name (their favorite food, sport, a rhyme, or a letter that matches the first letter in their name). For example, “Ashley Apples” or “Mike Bike”. Everyone says their own name and the names that came before to help get to know each other!

Integers

Integers are values that are written and stored as numbers.  Integers are variables that store values just like strings, only the values are numbers and not words.

Paper Bag Share:  Each student has a paper bag and labels the bag with a word or topic that describes something about them. The topic must relate to the student and needs to be something expressed in numbers. Get students thinking about things they have that will tell a little bit about them.

An example would be labeling the bag “Siblings” or “Pets”.  Students would write on a piece of paper how many siblings or pets they have (0, 2, 4, etc.) and place the value inside the bag. You can have students choose any topic  to represent a variable and have them place a related value inside.

Arrays

Arrays are ordered lists of variables that include both strings and integers. Arrays keep related values organized and in a specific order.

Time Capsule: As a class, make a time capsule for the year that represents an array.

  • Name the array based on the grade or class name, like “4th Grade.”
  • Students write down their expectations and goals for each month of the school year on separate pieces of paper.
  • Students place each of the 10 “values” inside the time capsule in order from September to June, keeping the values organized chronologically in the time capsule.

Object-Oriented Programming: Objects, Classes, and Properties

Objects and Classes

Classes hold information about an object and allow us to create new, individual objects based on these details. A helpful way to explain classes and objects to students is to think of basic classification: grouping objects based on their similarities and differences.

Activities that allow students to explore their similarities and differences will help students understand classes and objects in programming while getting to know each other.

Properties

Properties are special types of variables that are attached to an object and describe it.

Students can think about themselves as an object and things that they have as properties. Any team building activities that allow students to describe themselves and each other will help students understand properties and objects in programming.

We’ve gone ahead and created a sample activity for you that will help students in grades 3-5 learn about variables and properties while engaging in back to school team building.  Get it here:

DL Team Builders Here

Like what you see or have ideas? Leave it in the comments below!

#KidsCanCode 8/16/16 Kick Off Coding!

Welcome back everyone! We chatted with teachers all over the United States during the first #KidsCanCode of the fall! Take a look at this week’s #KidsCanCode Chat, moderated by Kodable, to get tips from teachers who are teaching code in the upcoming school year.

Don’t forget to join us next Tuesday for our Back to School Webinar. Same time as the usual #KidsCanCode, but this time you get to ask the questions! RSVP here ->

Code your Back to School Procedures!

An elementary classroom without clear procedures for daily routines means chaos. As you head back to school and get your classroom operating like a well-oiled machine, consider including some coding concepts to make it fun and frontload computer science lessons you’ll teach later in the year!

How do classroom procedures relate to coding concepts?

Every transition throughout the day requires clear, rehearsed routines that keep everyone safe and in an efficient learning environment. Procedures help us avoid wasting precious time, keep students on track, and allow for 30+ humans to function together in one room- a miraculous feat when you think about it.

Procedures require order, rules, and often silly names that direct students to perform a certain set of actions (think “Criss-Cross Applesauce,” “Put a bubble in,” etc.). These are all elements of programming concepts used in programs to direct a computer to carry out tasks- making them perfect examples of how we can relate programming to real life for our students.

Sequence

We know that in programming, sequence is the order that commands are executed by a computer which allows us to carry out tasks that have multiple steps. In programming, we direct the computer to perform multiple steps in the correct order and it allows us to carry out a task.

In the classroom, students have to perform multi-step tasks as well, such as washing their hands, transitioning to lunch, or coming in from recess. Think about some routines that are specific to your classroom and how they are a sequence of steps put together: this is just like how a computer carries out tasks and will help students understand this process for computers.

Conditions

In programming, conditions are basic “if, then” logic statements that modify how code is executed; making them a key part of the decision-making process for computers. Conditional statements are basic cause and effect: “If this, then that.”

In the classroom, students experience conditional statements daily as they follow classroom rules and guidelines (or break them!).  Using conditional statements will help students think about and set classroom norms together, and make conditional statements easier to understand in programming down the road. Integrating conditional statements into classroom procedures will help students understand how stories can alter and the role programmers play in changing a computer program’s path.

Functions

Criss Cross Apple Sauce Function

 

In programming, a function is a named sequence of steps that can be reused and easily called on over and over again.

 

Classroom management strategies are a great example of a function: teaching students a sequence of steps and giving it a silly name that you can say without having to direct students through each step in the process, every time.

In the classroom, functions can be a lifesaver! Getting students to do a series of tasks in one motion by calling out a  name can keep things in order and on task; which is what we all want for a productive learning environment.

We’ve taken the time to make k-2 example mini-lessons that you can easily tailor to your own classroom procedures:

Download Mini Lessons Here

To help yourself understand the programming concepts and how they can be used with your back to school procedures, watch our videos and share your ideas in the comments below!

Teacher to Teacher: Welcome to Kodable Academy!

Our mission has always been (and will always be!) making it as easy as possible to teach programming in elementary school. For us, this means equipping teachers with the  knowledge and understanding needed to teach computer science, without adding to the heavy workload and demands teachers already face.

Today, we are thrilled to announce the kick-off of Kodable Academy! We’re bringing you teacher to teacher resources on foundational programming concepts. You’ll learn right alongside us, and feel good about the content you’re delivering to your students. Don’t worry, we’ve got you!

What it looks like

Kodable Academy is a video series of short mini lessons (less than 5 minutes) that teach you foundational programming concepts. Each video explains the programming concept, gives a real life example that makes it easy to understand (like making a peanut butter and jelly sandwich), explains how the concept is actually applied in programming, and why it all matters. Technical jargon and abstract details? No thanks, let’s keep it simple!

Our first video teaches about Sequence, the most foundational concept in programming. The rest of the videos in the series build on Sequence, and follow the same “teaching” structure:

Who it’s for

You and everyone! Made by a teacher for other teachers, we want as many teachers as possible to feel confident taking on computer science. Our Kodable Academy resources are free and available to the public.  You’ll also find it easy to access through Kodable’s Helpdesk, registered Kodable teacher or not. We believe everyone should have access to knowledge and we hope you’ll share!

What it means for you

You can feel confident teaching computer science to your students, whether you have a coding background or not! You’ll have a better understanding of the lessons you’re teaching and the tech tools you’re using in your classroom- from iPads to robots. Need to come back to a concept? No problem! You’ll always have a quick resource at your fingertips.

Teachers already do so much. In taking on computer science, we hope Kodable Academy will be a valuable learning tool that gets you just as excited as we are about the future of computer science!

Watch Now!

Let us know what you think of Kodable Academy! Anything else you’d like us to cover? Leave it in the comments!

#KidsCanCode 6/28/16 Implementing Computer Science

We had a great time chatting with teachers in our last #KidsCanCode of the summer! We talked all about implementing computer science, from past experience to piloting new programs! Read more for details and ideas.

Full Implementation: Step 4 to Implementing Computer Science in Elementary

This is the final piece of our 4 part series covering each stage of implementing computer science in elementary school, based on thousands of conversations with educators. 

Full implementation- it’s go time! You’re ready to implement computer science in elementary schools when you’ve found a program that has proven benefits and met your goals. Testing the program out in the form of a pilot with a small sample group helps you analyze outcomes to better understand your long term goals. At this point you are ready to roll the program out on a school or district level and fully offer computer science to your students. HOORAY!

What Does Full Implementation Mean?

  • What is full implementation? Full implementation is the adoption of a new program or curriculum at a school-wide or district-wide level. This is what you’ve been building up to!
  • Who is involved? Administration, teachers (tech and general education), parents, and at times the Superintendent. This is an all-hands on deck situation; shiny and new! Everyone has a different role with varying degrees of involvement when full implementation is happening post-pilot. Expect the technology teacher, general classroom teachers, and administration to be on the “front lines.”
  • Logistics: You should already know how and where computer science fits into the daily schedule (for each class, grade, and the school) from testing the waters during the pilot stage.  The progression of the program is clear.  You have an actionable plan to meet goals and move students through the program successfully.  Pilots are often free or less costly, but moving to full implementation almost always includes purchasing. Get our purchasing tips and helpful funding ideas and don’t forget to share pilot data with decision makers!
  • Goals, learning objectives, and data: Results (qualitative and quantitative data) from the pilot stage have been analyzed and goals have been clearly defined for a full rollout of the program. Objectives are clear and the entire team is prepared to collect data during the first few years of implementation. It’s important to note that full implementation takes time to evolve beyond year 1-set goals for years 1-5 and each year adjust the structure accordingly
  • Staff Involvement: Every school or district is different! However, across the board we see professional development as a key ingredient to success. Teachers need to be prepared and have access to any and all resources that will ease the transition. It can make or break the implementation process!

4 Tips for Fully Implementing Computer Science

1. Prepare the Team!

Implementing a new program of any kind requires getting everyone on the same page and feeling confident.

  • Make sure teachers have the knowledge they need through proper staff training, professional development (ongoing!) and resources to implement computer science.
  • Help general classroom teachers understand the program if computer science is going to be specific to technology class. Get them involved by inviting them to your classroom
  • Allow collaborative planning time for staff . This will help students have consistency across classes and classroom teachers to integrate computer science into math and ELA. Need collaborative planning ideas? Get them here!

2. Show, Don’t Tell

Don’t talk about it, show it! The pilot is going to be a key factor in showing the value of implementing computer science in classrooms and setting the tone for those getting started.  You can talk about something great until you’re blue in the face (or your audience is falling asleep). The magic comes when people see and interpret the value on their own.

  • Have photos, data, and student work examples available for others to see (in the classroom, hallways, website). Read about one of our star teachers, Brian Adams, and how he shared the value of computer science with his students’ families!
  • Present to other teachers and parents at meetings or family nights.  Older students can show their work, demonstrate how to use the program, and display what they’ve learned!
  • Create opportunities for new computer science teachers to watch others; specifically teachers who gained experience during the pilot stage.

3. Goals, Goals, Goals

Use the pilot experience to show the importance of goal-setting and help you set long-term goals. Model for other teachers how to set computer science goals and think beyond just one year.

  • What do you want students to be able to do?
  • How do you want to integrate computer science across content areas?
  • How do you want to see students apply what they’re learning?
  • What academic results are you looking for?

Thinking beyond one year will allow you to see big-picture goals and think about the ultimate, end goal you have for all students. The second half of setting a goal is keeping up with it! Successful implementation means monitoring your goals. Check in with teachers and students regularly and iterate if necessary.

4. Include Parents!

 

According to 90% of parents in the U.S., computer science education is something they want their kids to have as part of their schooling. More often than not, families want to be included and help in some way.

Not sure how to get parents involved? Here are some favorite ways our Kodable teachers have shared with us:

  • Communicate: Be transparent and equip parents with the knowledge needed to be a part of it! Send home letters from both teacher and student, share about your school implementing computer science on your school or class website, and give parents the opportunity to see it in action.
  • Homework: Send home information about the program and how students can practice at home. Homework can be fun!
  • Family coding night: Students act as teachers and show parents how to code! This can be exciting for everyone and really empowers students and gives them ownership.
  • Family conferences: Students lead the conference and talk about their progress, challenges, and successes. Teachers act as facilitators and students lead the conference.

Have you gone from piloting a computer science program to fully implementing in your school or district? We want to hear about it in the comments below!

 

 

 

 

Piloting: Step 3 to Implementing Computer Science in Elementary

This is part 3 of a 4 part series where we will cover each stage of implementing computer science in elementary school based on thousands of conversations with educators.

After casual exposure and experimentation with multiple options, you’ve had your “WOW!” moment and you’re ready to pilot one program with structured goals and meaning. When piloting anything new with goals of expansion down the road, you likely have the support of administration and colleagues and are no longer the lone wolf. We’ve worked with thousands of teachers and administrators in this stage of implementing computer science in elementary.  Here are some tips to successfully move from a small-scale pilot to full implementation.

What does a pilot look like?

  • What is the  pilot stage? The pilot stage comes after casual exposure and a structured experimentation and is the initial launch of one specific program. The pilot stage is the final step before a full, school or district-wide implementation and serves as a “test run” to prepare and learn from.
  • Who is involved? In the pilot stage, school administration is involved, as well as at least one teacher participating in the pilot. At the district level, a superintendent may be involved as well, and parents are aware of the pilot programming happening in the community.
  • Logistics: School-specific logistics are hashed out in the pilot stage. This includes who is teaching, how often, where the program fits into the daily schedule, what resources are used, what devices are being used and how.
  • Goals, learning objectives, and data: Goals and learning objectives are clearly defined, and a method of data collection is established to evaluate the results of the pilot. This is essential moving forward, as data-driven results will drive instruction and support the value of the program you’re piloting before implementing on a larger scale.
  • Training: The teacher or teachers piloting the program are prepared and have taken the time to get to know the tools they’ll be using. At this stage, teachers should feel confident and supported.

5 Tips for Piloting a Computer Science Program

tumblr_nzasjppYew1sov1ino1_500

Set clear, measurable goals.

Leading up to a pilot, you’ve experimented with different programs and your goals have developed or shifted accordingly. When kicking off a program pilot, your goals need to be clearly defined and measurable in order to evaluate data or results that demonstrate student outcomes. This is essential to move forward; your administration will want and need to see data that proves results and supports the awesome anecdotal proof you’re gathering in your classroom.  We suggest sitting down and writing out your goals for the year before getting started with your students! Feeling ambitious? Set goals for the next 5 years! You’ll get anidea of where you want to end up.

mJRa4GD

Start small.

School districts start small by piloting programs in a few schools before adopting a district-wide program. At the school level, we often see pilots beginning with one class or grade (depending on the school size). Then you can expand to include the whole school. By starting small, you have a more focused sample size that you can work with intensely, establish logistics, and flexibly bend as you learn during the pilot.

GIF Dance Party

Let people in on the magic!

To go from a pilot to a school-wide program, you need support from administration, colleagues, and parents. You want everyone to be excited about the learning process and potential. Help everyone understand the extent of what you’ve started!

Invite administration, colleagues, and parents to see you teach a lesson. If you can’t (or your colleagues can’t) find a way to witness it live:

  • Record a lesson and ask for time to present at PD or a school event like Open House or Coding Night.
  • Share documentation and photos on your classroom walls, bulletin board, or class website.
  • Have students present and talk about the work they are doing and show parents and staff how to use the program.

Having support and excitement during the pilot is a catalyst for full implementation and will get everyone excited about computer science in elementary.

dGf5sn

Have a scalable plan.

Consider logistics that will affect the whole school before starting the pilot:

  • What devices will be used and are there enough?
  • Does the school have security or firewall issues that will need to be resolved?
  • Is there opportunity or time to train staff?
  • Will it be isolated to technology or integrated with the classroom teachers?
  • Is there a plan to purchase (budget money set aside, grants written, funding secured) and is everyone on board?
  • How will it work in the schedule (daily, once a week, used during one quarter or semester, etc.)?

Lets-Do-This

Being prepared is half the victory.

It is important that the teacher or teachers piloting the program are prepared. Take the extra time to review the program with everyone participating, and offer training to those who need it. Contact the program or software company to see if they offer professional development or support to teachers piloting the program. Being prepared will pay off in the long run!

tumblr_m3azuapgfx1rncsuho1_1280

Fail forward.

You will fail. Failing forward is about embracing failure as a learning experience. Utilize the opportunity to be better next time, knowing the purpose of a pilot is to learn and prepare. At times, you may feel like you’re in over your head or you may not see the immediate value in what you’re doing but approach the experience ready to fail forward. It will have long-lasting benefits personally and professionally!

Have you conducted a pilot in your school? Tell us about something you learned in the comments!