Teaching More Than Coding Skills

Jan 2, 2020 3:21:17 PM / by Russell Foster

We are living in a world driven by technological advancement and more aspects of our lives and economy digitized. The separation between the Information Technology (IT) employee and non-IT employee will continue to be minimized and blurred as the division of duties erode. Technical knowhow and understanding will no longer be the sole domain of the IT industry or IT employees. Every field will hire employees with strong digital skills to fill most positions.

This reality has seen the start-up of a growing number of learn-to-code organizations - exposing students as young as Kindergarten to computer science education. This is a step in the right direction for parents and students. The hypothesis operates like an “if-then” statement, a mainstay of computer science: if coding is the language of technology, and technology is the future of work, then young people need to learn this skill in order to succeed, as well as to understand the world around them. Being able to instruct a computer what to do is the entry point into the technical wave shaping our daily lives and transforming our economy- its the path to upward mobility. However, limiting a child's instruction to that of “how to code” will fall short in fully preparing a child for the new economy. 

Simply knowing how to code does not guarantee a leg-up, as knowing how to code today does not mean you will know how to code tomorrow or acquire the soft-skills to excel in the evolving workplace. Learning computer programming includes the incorporation of essential soft-skills, as well as how to develop computer applications using code. These soft-skills are life skills. Coding languages are ever changing and being invented for different functionality. Teaching only a coding language really isn’t enough to future-proof a younger leaner. The real skill that will differentiate someone in the digital economy is knowing how to learn new languages and apply critical thinking skills.  

The challenge for all looking to teach computer programming, is the ever-changing landscape of languages. To name a few Swift, Rust, Kotlin and Typescript have all emerged in the last ten years and increased in popularity. The coding language that a child learns may be out of fashion in ten years’ time. At Hatch we teach through a language agnostic method. Our goal is to teach the structure of coding languages. Using JavaScript and Python, students at Hatch learn to understand the functionality of all languages and acquire the soft-skills that will help them in the future. These soft-skills can be used in different situations and help them learn new languages.

Innovate and Grow

A mainstay concept in computer programming is Computational thinking:

  • Abstraction
  • Pattern Recognition
  • Decomposition
  • Algorithms

Computational thinking is a robust problem-solving skill that will enable a child to accurately solve problems in coding, as well as mathematics, english, geography, etc. It will also provide a foundation for a child to set a course to join the ranks of past and future industry leaders creating leading applications.

Becoming a computer programmer is great, but it is not the only path to a strong career in the 21st century. In fact, some programming jobs are already being replaced by artificial intelligence. It is the ability to learn new skills that is the real superpower of our time. Deliberately including computer programming as part of a child’s development can provide the critical skills required on a young generation entering the workforce.

Computer programming provides an environment that promotes independence and resilience - two desired life skills. Thomas Gold of The Acceleration Group developed an index to measure entrepreneurial mindset using metrics built around:

  • Communication & collaboration
  • Creativity & innovation
  • Critical thinking & problem solving
  • Future orientation
  • Opportunity recognition
  • Comfort with risk

(Work is underway on determining how to measure other relevant metrics, including initiative, self-reliance, flexibility and adaptability).

Children will develop and strengthen these entrepreneurial attributes when learning and practicing computer programming. As a child progresses through learning the structure of a coding language, they develop key skills like communication, collaboration, creativity and critical thinking.

Hatch focuses on these skills by developing a child’s 5 core programming competencies:

  • Requirements-Based programming
  • Programmatic Research
  • Computational Thinking
  • Computational Logic
  • Community & Collaboration

Each Core Competency links computer programming and science to soft skills that help a child to develop into a well rounded individual with the tools to excel in life and work.

Learning to computer program is a rigorous process that often has a measurable impact on a person's confidence and growth whether they pursue a programming career or not. Instilling a passion and aptitude for lifelong learning should be the ultimate goal for educators and parents alike.

 

Topics: technology, computer programming, learning code, technology jobs, programming competencies

Russell Foster

Written by Russell Foster

Subscribe to the Hatch Blog

Topics

See All

Recent Posts