Each December, schools around the world celebrate Hour of Code. Launched by Code.org in 2013, the movement was designed to introduce computer science (CS) to students and also demystify it. It also commemorates the birthday of computing pioneer Grace Hopper.
Code.org packs an extensive library of activities and tutorials for teachers to use for Hour of Code. Some of the popular tutorials include Animate an Adventure Game, codeSpark Academy with the Foos: Create Games, Minecraft Voyage Aquatic and a favorite with my students, Dance Party!
Code.org’s website allows users to filter activities by grade or experience level, and even by the type of technology available to a classroom. There are even activities that work offline or unplugged.
Whether this is your first Hour of Code or you've tried it before and want to level up your students' coding abilities, here are some suggestions to get you started.
Get ready for Hour of Code
To ensure the day is successful for your students, you'll want to prepare some things in advance. Here's a checklist:
- Review the Hour of Code educator guide.
- Register your event with Hour of Code. Every school that registers gets recognition and registering allows Code.org to measure impact.
- Select 2-3 activities/tutorials for the entire week and try them out first. For me this step prepared me for helping students make connections to the previous lessons and knowing how to facilitate learning and also anticipating where some of them may get stuck.
- Tailor any of Code.org’s lessons or activities to meet the needs of your class.
- Prepare and print completion certificates for students.
Focus on core coding concepts
Make students aware that the Hour of Code can be the start of their coding and programming journey, and they should focus on some of the key concepts that are important to coding in every programming language. Some of these include:
- Inputs: Users must be able to send information into programs they are interacting with. This can be done with various input devices or feeds. The most common are text files, striking keys on a keyboard or a data feed from a game controller with a motion sensor.
- Outputs: Once data is inputted into a program, it will need to output responses. Responses are typically outputted to a screen via text or graphics, data to other applications or sound to a device. Printed documents are also output.
- Loops: A programming structure used in programs to repeat a sequence of instructions until a specific condition is met. The two types of loops students should know how to use are counting loops and conditional loops (while loop and for loop).
- Functions: Refers to a section of a program that performs a particular task, and in this context, a function represents a procedure or routine that contains instructions used for output from its input.
- Conditional statements (logic): The ability to apply this concept makes programming powerful — as it enables the capability in applications to test variables against a value and act in a specific way if the condition is met by it (the variable) or differently if it is not. An example of this can be a logic statement for an operation that is evaluated to be either true or false. If and if/else statements are also an example of conditional statements and are the most common syntax across programming languages.
- Variables: Refers to a storage space in memory that can hold value and can be stored and changed in a computer program. A variable changing can depend on either conditions or the information given to the program. Variable types can be expressed as characters, character strings, numeric values, memory addresses and even objects.
Activities that focus on core coding concepts
To help your learners grasp the core coding concepts, try these Hour of Code lessons and tutorials:
- Input and output lesson: Use the engaging activity guide — inputs and outputs.
- Minecraft tutorial: Teach students to use repeat loops (a powerful part of programming) to place all the initial materials for creating a new world.
- Unplugged lesson and activity on functions. Have students make a sun catcher out of string, beads and a special charm.
- Hour of Code tutorial: Have students learn about conditionals with playing cards.
- Lesson on variables and a fun activity on programming with variables.
Learning to code shouldn’t end
Like in math, CS is a discipline where it is always very important to keep the momentum going for helping students construct and connect learning after exposing them to something new. Like author Michael Korda said, “One way to keep momentum going is to have constantly greater goals.”
Here are some additional resources for Hour of Code and continuing learning about coding:
- Code.org videos for introducing the Hour of Code
- Edutopia Blog: How to get started teaching coding
- Hour of Code standards alignment
- Code your hero tutorial
- Hour of Code With Swift Playgrounds Facilitator Guide
- Everyone Can Code Puzzles Teacher Guide by Apple Education
- Everyone Can Code Puzzles Student Guide
- Creating Coding Super Heroes With 5 Marvel-ous Tools
- Creating Interactive Storybooks With Makey Makey and Scratch
- Engineer Your Code: Coding Multiple Robotics in One Program
Jorge Valenzuela is an award-winning educational coach, author, education advocate and adjunct professor at Old Dominion University. He is the lead coach for Lifelong Learning Defined, a national faculty of PBLWorks and a member of the Bit Stars Team for littleBits. Jorge was appointed by Virginia’s governor to serve on the STEM Education Commission for the 2019-20 school year and is the author of Rev Up Robotics Real-World Computational Thinking in the K–8 Classroom. Connect with him on Twitter and Instagram @JorgeDoesPBL to continue the conversation.