What is it that most schools don't teach? Coding.
Coding - transforming actions into a symbolic language - is offered in colleges and in many high schools, but computer science is not part of the core curriculum alongside other courses such as biology, chemistry or algebra that all students take.
Launched in 2013, Code.org is a non-profit dedicated to expanding access to computer science, and increasing participation by women and underrepresented students of color. Their vision is that every student in every school should have at least the opportunity to learn computer science.
Code.org is organizing its “Hour of Code” event for the third consecutive year as part of Computer Science Education Week. They give students the opportunity to learn about programming with free online tutorials and instructional videos. There are more than 191,000 events in more than 180 countries and one-third of all U.S. schools are participating, They expect to reach 50 million students this week.
Coding is becoming an increasingly crucial skill. If you hear asked (or you ask) "Why do I need to learn to code? I'll never use it to be a ________ (fill in the blank)," I can identify. Teaching English for many years, I always heard that question with poetry or some other item being substituted for "coding." I knew students would need language skills, including learning to interpret language, understand symbolism etc., but it was hard to make the point to someone who had no idea what they would do or need in life.
Do I believe everyone in the future will be doing coding? No, but I believe understanding how code works to run much of the world we live in is essential, at least on a basic level.
This month, the "Hour of Code" campaign from nonprofit Code.org makes that very visible. If you look at its website, you can see that it is aimed at students and teachers in K-12, although it is is clear that people older have as many (or more) gaps in their coding knowledge.
The site uses popular movie characters from films like Frozen and Star Wars as avatars for coding activities.
not unlike when I was teaching students in the late 1970s to make a turtle on a screen move by writing Logo programs. That was Apple Logo which was an early implementation of Logo that was popular then due to marketing for Apple's Apple II computer.
This week (but really all year), educators, extracurricular leaders, and parents are being encouraged to introduce kids to coding. There are many free, online coding tutorials designed for all ages. Some tutorials are designed to be suitable for kids as young as 4 and even for implementation without computers. But many of these tutorials are designed as games that are accessible for computers, laptops, tablets, and smartphones.
This year 3 for the "Hour of Code" and partnerships for licensing with Microsoft and Disney to create tutorials using settings and characters from Minecraft or Star Wars makes coding more appealing to children. "The goal of the Hour of Code is not to teach anybody to become an expert computer scientist in one hour," reads the description on Hour of Code's homepage. "One hour is only enough to learn that computer science is fun and creative, that it is accessible for all ages, for all students, regardless of background."
A sample is an activity (there are also sequenced courses at different age and ability levels) to program characters from the Star Wars universe to make a game of your own creation. In the video below, Star Wars film producer Kathleen Kennedy introduces some broad uses of computer programming, and then Rachel Rose, Senior Engineer for the Star Wars Animation and Creature Team, walks you through the basics of programming using Blockly.
If you try the activity, it is obvious that critical thinking and thoughtful placement of the blocks is required to make the program run correctly.
Using Blockly as a visual programming language is a great start and, although in the working world most code is typed, each block conatins and corresponds to a line of "real" code which students can view.
Students doing any of the most basic activities are learning that an algorithm is a series of instructions on how to accomplish a task. they experience debugging -
finding and fixing issues in code.
If they advance through the activities , they will learn what a function is (a piece of code that can be called over and over), and how to customize their code parameters with extra bits of information that you can pass into a function to customize it.
Students are reminded that some of the tools, like autofill, seem like "cheats" but are used by full time programmers too in order to speed up the coding and maintain consistency.
One activity is designed for very young coders and kids without access to computers. Using a predefined “Robot Vocabulary,” students will figure out how to guide
one another to accomplish specific tasks without discussing them first. This teaches students the connection between symbols and actions, as well as the valuable skill of debugging.