George Lucas Educational Foundation
  • Facebook
  • Twitter
  • Pinterest
  • Share
Girl wearing headphones working on a laptop

There's been significant talk about "coding" lately -- from the second annual "Hour of Code" event hosted in December by, to countries like Denmark and England incorporating computer programming into their curriculum. Here in the U.S., there are several ways in which computer programming activities support the Common Core State Standards.

Differentiating Between "Programming" and "Coding"

When students use tools such as Code Studio, Scratch, and Tynker, what they're doing is called programming. Programming is about the logic that goes into building a program. The blocks already exist -- they just have to be placed in the correct order to get the program to work. This is the beginner level that most college computer programming students take.

Coding, on the other hand, has to do with the syntax, the fine details that allow a computer script to work. Think of coding as a spelling test where a sentence must have words correctly ordered with proper grammar mechanics. If one single thing is wrong, then the grade on the spelling test decreases. Coding is similar, for if one thing is typed incorrectly, then the code won't work.

Common Core Integration

Below are some ways in which programming supports the CCSS. Items marked with an asterisk (*) mean that integration can be modified for the same standard in different grade levels.


MP.1: *K-8

  • In programming activities, students must persevere in problem solving.

NBT.1: *2-5

  • Use wait blocks and movement blocks in programs like Scratch and Tynker to differentiate between .01, .1, 1, and 10 seconds.


  • Have students create drawings in programs that repeat a pattern. This can be done with the "repeat" (a.k.a. "loop") block. Students can demonstrate their understanding of multiplicative procedures and patterns that follow a specific rule.

4.MD.5 and 4.MD.6

5.G.1, 5.G.2, and 6.G.3

  • In Scratch, choose "Backdrop" and, under "Categories," click "Other." The last backdrop in "Other" is an XY grid. Students can use this grid to graph points and draw shapes within the coordinate system.

6.NS.5, 6.NS.6, and 6.NS.7

  • Have students build programs where actors (or sprites) move to specific points on a coordinate plane, based on an action (a conditional).

English Language Arts

RI.3: *K-5

  • Have students describe what would happen if the blocks in a program went in a specific order.
  • Identify cause-and-effect relationships by using "if this, then. . ." blocks.

RI.5: *2-4

  • Locate answers to a question using keywords, sidebars, and glossaries. (Programming tools use menus and categories to organize blocks.)

SL.5: *2-5

  • Create digital stories in programming platforms such as Scratch and Tynker, changing the scene (background) between events.
  • Create tutorials on how to advance through a programming level.

W.2 and WHST.2: *K-8

  • Compose a tutorial on how to advance through a level/stage, or how to animate a character.
  • Write a comparative analysis, analyzing two different coding platforms or languages.

RST.3 and RST.4: *6-8

Best Practices

When teaching computer programming to our students, it's important to focus on the pedagogy. With a content area that is foreign to so many of us, here are seven habits to help you on your journey.

1. Get frustrated!

Show your students that you're human. When they see how you react to challenges, they'll begin to follow suit.

2. Adopt the iteration mindset.

Life is all about learning how to persevere. It's OK to make mistakes. We should be teaching our students how to learn from their mistakes.

3. Allow students to become the experts.

Give your students a chance to shine.

4. Incorporate the "ask 3 before me" method.

By having students ask others for assistance, it takes the pressure off of you. Plus, it encourages students to be interdependent on one another. (SL.3 across K-5)

5. Utilize pair programming.

In pair programming, one student operates as the driver (using the computer), and the other student operates as the navigator (instructing the driver on how to build the program). Most of the big tech companies (think: Google) utilize pair programming in order to reduce the frequency of mistakes (bugs) in a program.

6. Complete lessons before assigning them.

Try to be at least one step ahead of your students, so that if they encounter a problem that no one else in the class has seen, you can help guide them.

7. Learn keywords.

By learning the definitions of words like loop, conditional, sprite, and restitution, you're better able to explain the meaning of these words to students.

Social Media Support Networks

Following is a list of hashtags and Twitter chats in which you can participate:

On Google Plus:

Here is a crowd-sourced list of coding and programming tools, categorized by price, device, and ideal age group.

Finally, I invite you to check out my playlist for videos on computer programming in the curriculum activities.

Please share your thoughts and ideas about this post in the comments section below.

Was this useful? (2)

Comments (27) Follow Subscribe to comments via RSS

Conversations on Edutopia (27) Sign in or register to comment

alevine's picture
Technology Educator in NH

Thank you so much for this resource! I have been participating in the Hour of Code with my students since it started and have loved the excitement it brings to my students. I am excited to share with my administrators just how many crosswalks there are to the Common Core Standards as well as the NGSS. This shows fellow colleagues and Administrators how important Computer Science skills and concepts are and why it is so important for us to keep teaching them.
I have students asking me in September when we will be doing our coding unit. It has truly changed many of my student's thoughts and attitudes towards technology.
One thing that has really opened my eyes is exactly what you said under Best Practices #4 "Incorporate the "ask 3 before me" method. By having students ask others for assistance, it takes the pressure off of you. Plus, it encourages students to be interdependent on one another. (SL.3 across K-5)"
This method not only gets students to be interdependent but it also has changed who the in the room is more knowledgeable. I have seen the most expertise from some of my lower preforming students this has been powerful for them to be the leaders.

Grant Smith's picture
Grant Smith
Former educator turned teacher trainer and CS education consultant helping districts bring coding to all students.

Hi Alevine,
That's wonderful that your 3rd class has been learning to code. I think many teachers struggle with not being the ultimate source of knowledge in their classroom. I'm glad to hear that you promote collaboration among your students by making coding student-centric! I bet other teachers at your school are looking to you to help them get started with coding as well.

MikeG1977's picture

The issue of learning programming and coding principles during certain developmental stages is fascinating. I have colleagues who have tackled this exactly, and they've seen grade and middle school kids thrive with the right tools. Most high school kids seem to need a stimulating topic to work with or a significant challenge. The Wolfram Language scales from incredibly simple to profoundly complex and has data built in, so there are many topics to provide interesting computational problems/solutions. Even literature is computable. Here is some simple code providing data-based textual analysis: . Kids who aren't "into" science and technology, but need technological literacy would benefit from having these types of tools at their disposal.

L_J_milt's picture

I'm working hard to transform my HS Language Arts class to meet the needs of my 21c students. We offer programming classes at my school. Should I be trying to incorporate coding into my 43 min. LA classes (I don't know the first thing about coding myself) or leave it to the Comp Sci teachers? Would encouraging students to use coding knowledge (gained in other environments) in PBL responses be acceptable?
I'm really trying to figure out where Language Arts fits in the new STEM-focused world.

Laura Bradley, MA, NBCT's picture
Laura Bradley, MA, NBCT
Middle school English/Digital Design/Broadcast Media teacher

Hi L_J_milt,
I have had my middle school students participate in the Hour of Code during my language arts class period because I think it's valuable to expose them to coding. Although I haven't taken it any farther than that, I can see the value of coding in LA. Many of the coding tutorials involve creating a story game, so their coding can be tied to literature. Proofreading is also critical to coding, so there's that connection. But I think you raise an important issue when you ask if coding should be left to the comp sci teachers. I am not a coder and I am not qualified to teach coding. That's why I have my students use the tutorials online but we don't go beyond that. I think there's potential for those of us who aren't qualified to do some damage if we try to "teach" coding. I like your idea of having some aspect of coding be part of a PBL unit, but I think it would also be worth checking with the comp sci teachers at your school to see what they think about it. Sorry I don't have a better answer -- just sharing where I've gone with this concept in the past few years.

Tara Linney's picture
Tara Linney
EdTech Coach with a passion for building computer programming skills in students

Hi Alevine,

I'm glad this has been a helpful resource. The way to get more educators to adopt coding integration is to show exactly where and how it fits. I'm happy to hear that the "ask 3 before me" method has been so useful in your classroom. Empowering learners of all ability levels is definitely the way to go in education, and it's so great that coding allows this empowerment to occur so seamlessly :)

Tara Linney's picture
Tara Linney
EdTech Coach with a passion for building computer programming skills in students

Hi MikeG1977,

Thanks for sharing the Wolfram source. I'll look into that further. One resource that I like for its simplicity in accessibility (via Google SSO) and its interactive tutorials is

Khan Academy has built I nice, collaborative learning community that takes computer programming learning and practice outside of an individual's silo.

Tara Linney's picture
Tara Linney
EdTech Coach with a passion for building computer programming skills in students

Hi L_J_milt,

What a great question! The answer depends on how your school is set up. We offer computer programming classes in Middle School, starting with Scratch and moving into Scripting. This year, I'll be working with one of our Middle School math teachers to incorporate computer programming with Scratch into a Geometry unit. We will be tapping on students' prior (and/or developing) knowledge to make the curricular transfer of skills. For High School, I could definitely agree with the opportunity for PBL infusion. You'd need to first find out what the Computer Science teachers have been teaching (block-based or script-based).

I hope this helps.

Tara Linney's picture
Tara Linney
EdTech Coach with a passion for building computer programming skills in students

Hi Laura,

I would tend to agree that teaching students script-based coding is a daunting task that requires quite a bit of preparation on the teacher side. On the flip side, block-based programming is a lot more approachable, and easy to pick up on. It would be interesting to know what type of programming is being taught in Middle School and High School. Also, having mini-PLCs work together on unit plans for integration could be a way to get all teachers comfortable with incorporating computer programming skills into the curriculum.

Georgette Jaquet's picture

It's so wonderful being able to participate & learn from everyone's insight & vast experiences here. I have been using in the classroom & my students have grown to see it as a treat! The experience & age level is so great: Scratch to Script- it can't be beat!

Sign in to comment. Not a member? Register.