Should we be talking about coding or programming in schools?
The idea of teaching coding in school has generated unprecedented interest around the globe, with studies indicating that it is critically important, both educationally and socially, for students to learn how to code or program starting in Kindergarten. According to numerous research projects, the reason behind this is not simply to create a pool of skilled programmers to meet the needs of the job market; in fact, learning to code also enables children to use digital technology to develop their creativity. Furthermore, it helps students in our technology-based society to move from the role of ‘consumer’ to that of a ‘creator.’ In addition, students learn to develop algorithmic thinking which enables them to better understand, interpret, and assess the impact of such thinking on their lives. Some will even go on to take part in developing and guiding the use of algorithms in the world of the future. Coding also trains children to become independent citizens in a world where technology is ubiquitous. Finally, learning to code helps students better understand one aspect of the digital world in which we live and, in some ways, become better prepared for it. In short, this is why coding in school is important. Learning some coding basics at school now appears to be necessary to function in an increasingly digital world.
The first thing to understand is that, for many years, there was no debate about the meaning of the verb “to program,” which means telling a machine, software program or Web page what to do – a feat that is accomplished invisibly by the mobile phones, computers and social media we use every day. Back then, only programmers knew how to program. However, with the growing popularity of digital technology in society as a whole and in schools, many individuals—some novices and some self-taught – began coding and calling themselves coders.
- The first distinction to make between coding and programming is that, generally speaking, coders have no formal training in computer science. Coders are usually novices who learned coding on their own, or in elementary or high school. Job postings do not advertise for coders, they advertise for programmers.
- The second distinction that can be drawn between these terms is that coding is more closely associated with games and school (elementary or high school). Coding is fun; one often learns to do it at school or independently; one can code without being a real programmer; and one usually learns to code using applications designed for beginners, like Scratch Jr, Scratch, Swift Playground or Code Studio.
Coding is thus the term more often used in schools. It appears less formal and more fun than programming, which could be seen as a more advanced, formal stage of this activity.
Learning how to code: what are the key benefits for students?
Research shows that teaching computer coding starting in Kindergarten generates many benefits for students.
Here are 12 key benefits of learning to code at school:
- Increased academic motivation
- Acquisition of mathematical skills
- Ability to problem solve
- Acquisition of computer skills
- Development of autonomy
- Teamwork, collaboration, and mutual assistance
- Development of critical thinking
- Improved self-esteem and sense of competence
- Development of creativity
- Ability to find information
- Increased resilience in the face of challenges
- Enhanced reasoning, organization, and planning skills
ADDITIONAL INFORMATION RESOURCES
Generally speaking, it’s simple for any teacher or educator to reap the benefits of coding thanks to the availability of easy-to-use tools and applications. Here are a few examples of websites and applications for learning or teaching coding at school:
- 11 Extraordinary Apps That Will Help You Teach Your Students How To Code
- Code.org is a non-profit dedicated to expanding access to computer science in schools and increasing participation by women and underrepresented minorities. https://code.org/
- Kidscodejeunesse is Canadian, bilingual, not-for-profit organization determined to give every Canadian child access to digital skills education, with a focus on girls and underserved communities. http://kidscodejeunesse.org/
- The Hour of Code started as a one-hour introduction to computer science, designed to demystify “code,” to show that anybody can learn the basics, and to broaden participation in the field of computer science. It has since become a worldwide effort to celebrate computer science, starting with 1-hour coding activities but expanding to all sorts of community efforts. https://hourofcode.com/ca
- Apple has diverse resources to learn coding, including (free) guides for teachers. https://www.apple.com/ca/education/teaching-code/
- Code Week Europe, created in France, offers resources for teachers looking to teach students to code, starting at the Kindergarten level. https://codeweek.eu/
- Since 2014 in the United Kingdom, students have participated in The Year of Code, a national program designed to encourage the teaching and learning of coding, starting at the Kindergarten level. http://yearofcode.org/
Applications for beginners
Dillenbourg, P. (2018). Pensée computationnelle : pour un néopapertisme durable car sceptique. De 0 à 1 ou l’heure de l’informatique à l’école, 17.
Duncan, C., & Bell, T. (2015). A Pilot Computer Science and Programming Course for Primary School Students. In Proceedings of the Workshop in Primary and Secondary Computing Education (p. 39–48). New York, NY, USA: ACM. https://doi.org/10.1145/2818314.2818328
Falloon, G. (2016). An analysis of young students’ thinking when completing basic coding tasks using Scratch Jnr. On the iPad. Journal of Computer Assisted Learning, 32(6), 576-593.
Grover, S., & Pea, R. (2013). Computational thinking in K–12: A review of the state of the field. Educational researcher, 42(1), 38-43
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5–6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87-97.
Kalelioğlu, F., & Gülbahar, Y. (2014). The Effects of Teaching Programming via Scratch on Problem Solving Skills: A Discussion from Learners’ Perspective. Informatics in Education, 13(1).
Karsenti, T. & Bugmann, J. (2017). Are Canadian Schools Ready to code? Teachers and teaching, 25(2), 111-114.
Karsenti, T. & Bugmann, J. (2017). Faut-il apprendre à coder à l’école? École branchée, 19(3), 32-35.
Karsenti, T. & Bugmann, J. (2017). Les écoles canadiennes à l’heure du code? Éducation Canada, 57(1), 14-19.
Karsenti, T. & Bugmann, J. (2017). Pourquoi apprendre à coder à l’école? Apprendre et enseigner aujourd’hui, 7(1), 32-36.
Master, A., Cheryan, S., Moscatelli, A., & Meltzoff, A. N. (2017). Programming experience promotes higher STEM motivation among first-grade girls. Journal of experimental child psychology, 160, 92-106.
Mubin, O., Stevens, C. J., Shahid, S., Mahmud, A. A., & Dong, J.-J. (2013). A Review of the Applicability of Robots in Education. Technology for Education and Learning 2013, 1(9). https://doi.org/10.2316/Journal.209.2013.1.209-0015
OECD. (2015). Schooling Redesigned | OECD READ edition. Accessible from http://www.keepeek.com/Digital-Asset-Management/oecd/education/schooling-redesigned_9789264245914-en
Papert, S. (1981). Jaillissement de l’esprit scientifique : ordinateurs et apprentissage. Flammarion.
Popat, S., & Starkey, L. (2019). Learning to code or coding to learn? A systematic review. Computers & Education, 128, 365-376.
Psycharis, S., & Kallia, M. (2017). The effects of computer programming on high school students’ reasoning skills and mathematical self-efficacy and problem solving. Instructional Science, 45(5), 583-602
Resnick, M., & Siegel, D. (2015). A different approach to coding. Bright/Medium.
Sáez-López, J. M., Román-González, M., & Vázquez-Cano, E. (2016). Visual programming languages integrated across the curriculum in elementary school: A two year case study using “Scratch” in five schools. Computers & Education, 97, 129-141.
Smith, N., Sutcliffe, C., & Sandvik, L. (2014). Code Club: Bringing Programming to UK Primary Schools Through Scratch. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (p. 517–522). New York, NY, USA: ACM.