In today’s learning environments, students need to employ their new literacies, including digital literacies which enable them to utilize the Internet and other networked systems to search, utilize, integrate, analyze, share and communicate their understanding and knowledge. They can use multiple hardware devices such as laptops, tablets, smartphones, and the software which is available in the form of applications/apps. In addition, utilizing emerging electronic I/O devices such as game controllers, 3D printers, VR/AR devices and others. However, I want to focus on the software aspect of new and digital literacies. Particularly, not just the software applications that students learn the bring the abstractions of hardware to the high level of human interfaces, but the software development systems that drive creation of new things or intelligences of new things such as robots or other programmable hardware. There is a myriad of programming language and educational technology options for educators to explore for use for self-directed student learning in the classroom (Akerlind, 1999).
Educational technology, ultimately, is not just for teachers, but to serve the entire educational experience which equally involves students. So, tools for teachers to communicate, organize, and create lessons, post, and share their grades are fantastic to further the teaching practice, but technology tools which students use are the essential things that drive learning and create knowledge in them.
The power of learning coding for students lies in the fact that it involves experiential and project based learning. The hands-on instruction that students receive in coursework that involves coding enables them to construct, leading to high levels of intrinsic value, and feelings of accomplishment which has been expressed in flow theory which states that spontaneous flow experience can occur when people employ creativity from their history of gaining technical knowledge, and begin to change state of things. This spontaneous transformation gives intrinsic satisfaction, enhancing the inner state of person, leading to success, ethical/socially responsibility, and happiness in their lives and workplaces (Csikszentmihalyi, 1996).
When a student prototypes a new device with a 3D printer, codes the behaviors of a robot (whether virtual in a game, or real rolling around on the floor), programs the control of some invented device with a Raspberry PI, or simply creates a Fahrenheit to Celsius conversion program in Python, the student is experiencing a creation, which leads to high levels of satisfaction. This moves us into the realm of “constructionism,” a word to describe the creating of artifacts that can be shared with others (Papert 1991).
I learned the computer programming languages COBOL and BASIC at Kennedy High School in the Chicago Public Schools, back in 1983. So, it is not new to learn programming as a general education course in K-12. I didn’t earn a degree in Computer Science while in High School, but it did spark the interest that I fulfilled when I went to college. Learning coding is not wasted on young students. Similarly, and more amplified, is the urgent for today’s K-12 students to be exposed to programming. Whether they end up in pure sciences, education, engineering, or many of non-STEM (also, by adding Art to STEM, we can utilize the term STEAM) degree programs available, the ability to create a series of codified steps, with logic and control structures, to accomplish a task is essential for problem solving. Many games have scripting languages that are accessible to the non-programmer gamer. Engineers have programmable calculators. Business people use Excel macros to automate processes to save time and accomplish a series of steps in an instant. CAD (Computer Aided Design) users need to learn scripting, for example, Auto Lisp in AutoCAD to automate various renderings and accomplish multiple tasks quickly. Auto mechanics refer to programming the “brain box,” or ECU (Electronic Control Unit) or ECM (Engine Control Module). These devices and the machines used for diagnosis are programmable. In home construction, the devices in a smart home need to be programmed. And, the future of IoT (Internet of Things) will require that we all know how to program virtually any electronic device found in our homes and work (Gubbi, 2013).
Åkerlind, G. S., & Trevitt, A. C. (1999). Enhancing self‐directed learning through educational technology: When students resist the change. Innovations in Education and Training International, 36(2), 96-105.
Csikszentmihalyi, M. (1996). Flow and the psychology of discovery and invention. New Yprk: Harper Collins.
Grover, S., & Pea, R. (2013). Computational Thinking in K–12 A Review of the State of the Field. Educational Researcher, 42(1), 38-43.
Gubbi, J., Buyya, R., Marusic, S., & Palaniswami, M. (2013). Internet of Things (IoT): A vision, architectural elements, and future directions. Future generation computer systems, 29(7), 1645-1660.
Papert, S., & Harel, I. (1991). Situating constructionism. Constructionism, 36(2), 1-11.