Teach them coding for the other skills they will learn...CS for All Week brings computer science skills awareness to the forefront of education. One of the main topics we see during this campaign is the push for students to learn coding. As a coding teacher and instructional technology coach, I believe that we shouldn't teach kids code for code's sake. There's a whole world of benefits why you should teach coding in your classroom, and the main reason isn't to create programmers.
This year alone, students at my elementary school have been exposed to Scratch Jr., Code.org, Hour of Code, Swift Playgrounds, Ozobots, Sonic Pi, Beebots and KIBOS. Then why expose students to a myriad of programs and teach coding if the main goal isn't for kids to learn code? Simply put: soft skills. Kids learn more soft skills learning coding in my elementary classes than my students were able to learn in my middle school science class. Why? Isn't science based on inquiry? Absolutlely! Science's inquiry based skills are essential for learning and finding information to answer your inquiry, however, the difference lies in a few essential soft skills which students are more motivated to learn in coding than in general science class.
There are several soft skills which students develop when learning how to code: persistence, problem-solving, working well in a team and decomposition. Watching K-5 students code, here's what I've seen them develop through learning coding.
Persistence, persistence, persistence!
Students will first the coding program we are learning. Persistence is the major player soft skill within the coding world. Students will drag and drop their blocks and test their program. Does the program work? If yes, then awesome! If no, then they will need to return to their lines of code over and over again until they finally have the code correct. I've seen students work on the same level of a coding program for 15 minutes until they finally are able to put together the correct sequence of code. For a 5 or 6 year old, that's pretty heavy duty time commitment when their attention span is about 5 minutes.
Call in your friends for teamwork
When employers look for people to join their team, that new member should be able to work successfully with others in their department. Not playing nice in the sandbox can lead to not having a sandbox to work in. I did not expect the level of teamwork from my kindergarten and first graders, but every class in which I teach them coding, they are eager to work with their peers who do not understand a concept, puzzle or directional event. They are so eager, they are often found trying to complete the problem for their friend and not with their friend. Reminders to be a "navigator" and "teacher" are needed during class and often times, preloaded before the lesson. Fine-tuning the teamwork process at an early age will build students who understand how to work well within a peer group.
Problem Solving: a Step-by-Step guide
Independent problem-solving was one of the biggest stumbing blocks I viewed teaching middle school science. Having students create a hypothesis on their own demanded many hours of teaching, preloading and explanation until students were finally able to create their own hypothesis. Students learning code have a two-skill cycle: decompose and debug. Decomposing requires the student to look at each line of code and break down the lines of code to figure out which line of code is incorrect. After, students must debug and fix the problem line of code which is coding for an incorrect activity. The activity may be movement, gathering an object or a speech bubble. At first, most students are easily frustrated, however, when I show them they can build code in small increments and test the code, they quickly utilize the skill to figure out how to successfully code in a program. The more skills they pick up, the more ways a student can solve a problem.
In the End
What if a student becomes a computer programmer or ends up working in a computer science field because their interest had been sparked in coding class in elementary school? Great! They can use their skills learned in coding whether they are a nurse, farmer, technician, artist or even a computer programmer.