Written by Eva Yeung of BSD Education.
Coding is more than just a technical skill. Students engaged in coding projects and activities will also develop a wide range of soft skills. In fact, when we talk to employers, we find that digital skills are the key to open the door, but the most important part of turning the opportunity into reality is being able to demonstrate the soft skills that go with them.
Communication is often overlooked as a strong skill amongst coders. When you hear the word “coder”, a stereotypical image forms in your mind – a quiet
Empathy is the ability to comprehend and be sensitive to other people’s needs and emotions. Through incorporating authentic project briefs in lessons, students learn to understand the needs of others and practice executing their requests in a considerate manner. Empathy is not just sensing “feelings” or interpreting emotions, students will learn that in order to successfully understand the needs, detailed research should be conducted.
Read our other article on the importance of empathy and how you can help your students practice it.
Learning to code is like learning how to read and write in a different medium – it enables you with creative and expressive power (Here are 5 reasons why coding is like a language). Code is an enabler for students to become creators of digital artefacts rather than simply being consumers. Through coding projects, such as creating a digital photography portfolio, a recipe app or self-driving toy car, students will experience ways to express their ideas and become thoughtful creators in their communities.
Logic is a skill students can practice through code. Through dissecting existing programs to understand the process and flow to achieve the solution through written code, students become increasingly analytical. Whether they are building or debugging, they are exercising their logic faculties on a regular basis. Understanding machine operations, conditionals, and progression in coding projects strengthens logic. Being able to break down issues into small, separate parts and figure out how each is affecting the other will help students think in a systematic and objective way, rather than relying on solving problems emotionally.
Students have to be aware of and apply appropriate coding skills for different requirements or scenarios. Students that practice this will improve their ability, having broken down a problem that may seem complex or abstract, to recognise the optimal way that its solution can be articulated. Identifying the operations needed to solve a problem in the most effective way is a skill that students can apply in any other field.
Coding brings out enterprising qualities in students. Coding is not like other subjects in school where the facts might be all in the classroom with them. When beginning the journey of code, students will find themselves quickly identifying gaps in their learning and recognise the need to seek resources for themselves. This search for an answer will accustom students to find and recognise the quality or reliability of sources to achieve and fulfill their creative ideas.
7. Abstract thinking
8. Project planning
Coding is best learned through project based learning. Students practice and learn planning by thinking through the steps necessary to achieve their end goal. Projects created with code are built by envisioning not only the syntax necessary, but also the overarching rules that will govern it and the most efficient way to put it all together. In order to meet the deadline set by the teacher, students learn how to assess their resources and knowledge to get the project done on time.
9. Attention to detail
Coding is great practice for attention to detail. Not only from the perspective of the accuracy of the code itself, but also accounting for users’ needs; for example ensuring a well designed user interface and experience. A savvy coder may develop a system to avoid repeated mistakes. Where errors are present, they will examine their work systematically. Experienced software developers often try to “break” programs to identify problems and areas of improvement before launching a product to the market. This iterative and creative process can be applied in your classroom as well. Get students to demo and test each others’ creations and see what they pick up on.
Coders and developers gain an ability to move past their debugging frustrations and continue to find solutions to help complete their projects. Students will practice sustained process. Creating something good and successful takes time and attention to detail. By understanding and accepting that coding is not something you “get” the first try, or that projects are not always received by users in the intended way, students become resilient learners through the process of making mistakes and finding the solution.
It really is apparent that the more success in the future is predicated on individuals’ ability to apply the hard skills of technology, the more it also follows that where this becomes an inevitable norm, that the differentiating features for human beings will be ability to deliver the best solution and understand its success which will come from the soft skill attributes of technology learning. Perhaps the greatest differentiating strength in a technology future will be innately human.