Computer Programming
My Favorite: Scratch
Why? It allows students to be creative and solve complex problems. It also has amazing extensions that can add complexity.
Grades 1-2: Scratch Jr. Curriculum or PBS Scratch Jr. Curriculum
Grades 3-5: Scratch Creative Computing Curriculum
Grades 3-5: Getting Unstuck Scratch Curriculum
Grades 6+: Add robotics extension with Lego Mindstorm EV3 kits and Scratch extension to program the robots to complete these Robotics Task Cards. Thanks to Alexis Holt for allowing me to post!
Other Awesome Coding Options!
Code.org - Probably the simplest place to start, with great "unplugged" activities, easy lessons that gently step students from one concept to another, and good navigation. Can start as young as kindergarten with this and advance through middle school.
Bricklayer - Grades 3 and up; combine math, coding, and art
Grasshopper - Grades 4 and up; Google Play app that helps you write in real JavaScript
Pencil Code - Grades 5 and up; create art, music, games, and stories using block coding