Introducing Elementary Computer Science Standards!

Computer Science has a problem. In the past few years, educators have been hoodwinked by flashy games and deceptive messaging into believing that students could be “taught to code” by letting their students play a game for an hour. Unfortunately, like in every other subject, this isn’t the case. No, you cannot teach your students computer science with just a game.

When coding was first introduced a few years ago, a self-driven, easy to use game was necessary. It needed to be introduced in a quick way for teachers without any previous CS knowledge to be able to fit it into their lessons. However, over the past few years, things have changed. Over 350 MILLION people have written a ‘line of code’ and millions of teachers have seen the impact CS can have. Computer Science is the single most important topic being taught to the youth of the world today. So why isn’t it being taught consistently?

At Kodable, we have unprecedented influence on how computer science is being taught in schools. We have been used in over half of the elementary schools in the United States, and are the most widely used elementary programming curriculum in the world. Which is why it is so discouraging to hear so many teachers tell us that an hour of coding in December is enough or ‘We just let them play a couple free coding games, we didn’t really want to set up a class or teach a lesson.’ Playing a coding game without structured instruction completely misses so many of the benefits computer science education offers, and students are being failed in the process.

More girls are not going to be encouraged to code just from a game. Without the instruction and encouragement of a teacher, students will self-select for computer science the same as before, and we will end up with the same demographically stunted, male dominated workforce we have now.

So, we’ve decided to do something about it. Today, we’re taking a stand for Computer Science.

Laying the ground work for smarter CS Instruction

First, I’m proud to introduce one of the world’s first Elementary Computer Science Standards. Led by our own Head of Curriculum – Brie Gray, the K-12 CS Framework (2016) guided the writing and development process before the standards went through multiple reviews by Kodable’s Curriculum Advisory Board. The board consisted of a team of educators from Stanford, Teach for America, and school districts around the country, we believe this is the first step to teaching computer science the right way.

Following the S.M.A.R.T methodology (Specific, Measurable, Achievable, Realistic, Time-based), these computer science standards provide a roadmap for educators to teach CS with measurable student outcomes. It is important to note that these standards are not specific to Kodable. While over the next few weeks, we will be revamping our entire product around these standards, educators are free to use any coding program they would like with these standards. The most important thing is always the student, and if Kodable does not fit with a certain school, we don’t want the student to be left out.

While there are some drafts currently available for K-12 that include a limited K-5 set of computer science standards, they are more of an outline or framework than comprehensive standards. The Elementary Computer Science Standards are by far the most comprehensive available, including a wide variety of concepts not addressed by others such as social emotional learning and communication skills. Our standards focus on developing the whole student, and really try to bring out all of the benefits that come with learning computer science, not just their ‘coding ability’.

Get-the-computer-science-standards
Download your copy of the computer science standards

Focus on developing the whole student

Second, The Kodable K-5 Computer Science standards were written to provide teachers with a roadmap for developing the whole student through a computer science education. The strands within the standards are comprehensive and include elements beyond programming concepts (e.g., social emotional learning, programming impact, ESL). Our goal is to reach ALL students and see computer science become part of a complete elementary education.

It has always been our mission to make programming and computer science accessible to all students and educators. Since the beginning of Kodable, we have consistently heard how teaching students to code has brought about growth in many other areas. Students who normally didn’t engage with their peers began to open up and lead the class in programming. ESL students began to overcome tough language barriers through strengthened perseverance. Students struggling in math or testing improved their performance by practicing their problem solving skills in programming.

The Computer Science Standards focus on more than just programming and critical thinking because CS teaches more than just that. Computer science expands to all areas of learning, so you can now definitively say to your administrators that integrating computer science will help your students beyond just problem solving. Now you can tech with confidence knowing their growth can be measured, connected back to programming, and most importantly, leave a lasting impact.

What does this mean for Kodable?

Lastly, we will be requiring all teachers to create a Kodable account and set up their classes to use Kodable. It will also no longer be possible to use Kodable as just a game. Students simply will not achieve mastery in any standard without at least one off-screen lesson being taught, whether they are using Kodable or any other tool, and we feel our product should reflect that reality.

This decision was not made lightly. We understand how strapped for time teachers already are in the classroom, and will be making a number of improvements, such as QR code and picture based login, to preserve teachers’ already limited time. You can now be wholly focused on actual instruction, and not class setup or iPad management.

We know this will not work for everyone, and luckily there are plenty of other quick-start coding products that do not wish to adopt this type of structured learning environment; some programming education is always better than none! But again, the student is always the top priority for every educator, including ourselves, and we feel like this is the best way to create a structured environment that promotes actual student mastery of concepts, not just a fun game to play.

This is an exciting time for computer science, and for Kodable! Every educator we have given a ‘sneak peek’ at our computer science standards has been incredibly excited, and we know you will love them too. As eager as we are to get them to you, we are even more eager to hear your feedback! You can always reach us at our website – www.kodable.com, or by emailing support at support@kodable.com if you have any questions or concerns. We’re always here to help!

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!