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.
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
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:
Unplugged lesson and activity on functions. Have students make a sun catcher out of string, beads and a special charm.
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
Code your hero tutorial
See original blog post here.