As a Language Arts teacher, computer programming (colloquially known as coding) isn't necessarily a skill that people assume is in my toolkit. In reality, well before I decided to teach literature in a classroom, I was learning how to code to create websites for my own amusement. Now, I find that I use my coding knowledge in my teaching practice fairly frequently.
Having a basic understanding of computer programming is extremely helpful in the current digital age - it can help teachers understand how online tools work to utilize them more efficiently. Furthermore, it allows educators to create their own tools, whether a standalone website or a Google add-on. Finally, coding enforces computational thinking that can be applied to any situation or discipline.
My History with Coding
2002 - I'm 13 years old and delving into the frontier of the Internet. The most appealing aspect of this vast space was the ability for anyone to make their mark by publishing a website or uploading media. Services such as ExPage and Angelfire made it easy for anyone to type some words and have them accessible to anyone with a modem. Some services allowed drag-and-drop functionality like a word processor, but others demanded a knowledge of website development languages: HTML (Hyper Text Markup Language) and CSS (Cascading Style Sheets). HTML was fairly easy enough to learn as a teenager thanks to websites such as Lissa Explains, but there was still one huge limitation: at this point, I could only make static, unchanging websites that didn't have any element of interaction. I started noticing that many websites had user logins, forms that affected the elements on the page, and other features such as live chat rooms. This is where my interest in coding really took off, as I looked to go from creating static webpages to dynamic webpages.
I'm not going to go into all of the intricacies of web development, but to create dynamic webpages, I decided to learn how to program in PHP (Hypertext Preprocessor) and utilize SQL (Structured Query Language). While HTML and CSS are used to create a webpage's front-end (what the user sees), PHP and SQL make up the back-end (how the website stores and retrieves data). Although I never took any formal class to learn how to code, the Internet and books helped me along the way. It also was helpful that my twin brother learned along with me.
This was when I was in high school, so I of course used my newly developed skills to make a website that allowed for students to communicate with each other and play Flash-based games. I also included the ability for people to write and publish articles or CD reviews.
The ability to create a community online (this was before the explosion of Twitter and Facebook, although Myspace was pretty popular) fascinated me. Over the next few years, I did a few other small projects including a blog built from scratch, but I couldn't have predicted how useful my coding knowledge would be once I reentered the classroom as a Language Arts teacher.
Three Ways Coding Has Helped My Teaching
Creating Instructional Tools
Every educational website is built on computer code, whether it is static or dynamic. By learning how to code, educators can create their own online resources with precision. It doesn't need to be a complicated digital tool - even knowing basic HTML can help educators fine-tune their websites to have information presented in an easy-to-understand fashion. Teachers have always been creators, and delving into computer programming adds to the creative toolbox.
One tool that I made for my teaching is a platform for students to show their understanding of Shakespeare's Romeo & Juliet. I decided to put together a Twitter-like platform for students to "tweet" as characters from the play. The platform was constructed from scratch using PHP with the ability for students to sign up, log in, and submit tweets with a .GIF from Giphy attached. On my end, I can check and approve submitted tweets and view a record of which students have submitted assignments. Although it took a while to put together, I've gained all of that time back (and then some) through the automation built into the platform. Also, students enjoy the novelty of the site while demonstrating understanding of the text is at the forefront.
Google has developed Apps Script for anyone to create their own add-ons that connect to Docs, Slides, Classrooms, and any other Google service. Some educators have started making their own add-ons using App Script, giving full control over their class workflow. One advantage of learning the fundamentals of coding is that it can translate to any language, whether Google Apps Script, Apple Swift, or beyond.
Understanding EdTech Platforms
An understanding of coding can lead to an understanding of how online educational tools work, allowing educators to better grasp their potential and limitations. For example, many websites now include the ability to sync to platforms such as Google Classroom using an API (Application Programming Interface) and OAuth (a method of passing protected data over the Internet). By knowing how APIs work, educators can better comprehend what exactly is happening when a website connects to Google Classroom and what data will be shared.
Frequently, teachers utilize a website in instruction and don't fully understand what is happening behind the scenes. When someone links their Google account to their PearDeck account, what information is being accessed? When a Google Classroom class is synced, how will that affect students' Google Drives? Recognizing the permissions and methods of OAuth and the Google API allows a better level of data control.
Boosting Computational Thinking (Including Problem Solving)
Coding embodies problem-solving at many levels. Every computer program exists to solve some problem, whether it is to analyze data, present information, or anything in between. Furthermore, the process of creating the program itself requires problem-solving skills, including trial and error, an understanding of the available tools, and persistence. ISTE refers to this toolset as Computational Thinking, and they acknowledge how this can carry over into virtually any discipline.
The ISTE Computational Thinking Competencies highlight many of these skills and how they can be utilized by both educators and students. Although the final computer program itself is viewed as the end goal to learning coding, the skills acquired along the way are arguably more impactful. Pattern recognition and algorithms embody the philosophy of "working smarter, not harder," which can help educators complete tasks more efficiently or assist students in tackling larger projects with a more productive lens. For example, asking the question "can I automate this?" when faced with a tall order starts coming naturally after learning to code.
Learning to code is not a prerequisite for being an effective teacher. However, knowledge of computer programming translates in innovative ways to the classroom, and it's not limited to computer science-based classes. On a personal level, it can also provide a rewarding outlet for creation. If you are interested in delving deeper into coding, check out these resources:
- Codecademy - An excellent platform with interactive activities that helps teach coding.
- Code.org - Home to the wildly popular Hour of Code, Code.org aims to make computer programming accessible to everyone.
- Google Apps Script Tutorials - If you utilize Google tools in your teaching, going through these Apps Script tutorials can help teach programming fundamentals that can translate to Google add-ons.
- Apple Swift Playgrounds - For Apple-based teachers, Swift Playgrounds enforces the Swift language and coding basics in an interactive, visual format.