Learning the fundamentals of coding or programming encourages children to learn skills which will enable them to excel in other subject areas, such as problem solving, computational thinking, critical thinking, art, engineering and design. Computer programming also encourages active creators and enables pattern recognition, counting, comparison – it fosters collaboration amongst students across age groups and skill level.
Programming concepts such as conditions, loops and functions also serve to teach basic English and Math principles – for example the use of logic in understanding the semantics of English in a language arts class.
However, there may be a prevailing assumption children will be comfortable with computer programming because of their experience with computers, due to the key role played by technology in homes, schools and the prevalence of computer video games in society. However, playing computer games, which are self-selected motivating and fun, does little to prepare an individual for the type of learning involved in learning computer programming. Nor does video gaming or home pc use develop many of the skills required when learning computer programming.
There is much evidence about teacher experience and student performance that suggests that computer programming is a difficult skill to teach and a difficult skill to learn!