Teaching Python

We're two middle school teachers learning and teaching Python

You might be teaching a 6th grader...


You Might Be Teaching a 6th Grader How to Code If...

Teaching 6th Graders How to Code: A Humorous Journey

AI generated Art

Revised Paragraph:
I have been teaching 6th graders to code for approxiamtely five years now, and it sill presents a unique blend of challenges and laughter. Most of our Lower School students use Chromebooks and in the Middle School students switch to using Macbooks. This tranistion is a huge leap for our 6th graders. For many, it's their first encounter with a full-fledged computer. Teaching 6th grade can be difficult, but it is also very endearing.

Over the years, I have come to appreciate the humor in navigating the predictable hurdles. Teaching quarter classes, calls for a lot of repetition, and it is a situation where you either laugh or cry. I choose to laugh—often quietly to myself. Each coding lesson "feels like a scene that could fit into a comedy show", only with syntax errors and infinite loops instead of "comedic tropes," all delivered in a tone suitable for school.

Watching these young coders tackle variables, loops, errors and functions "mirrors their journey into their teenage years," marking a life full of mistakes and successes and unusual changes. My role as an educator has evolved from being a coding teacher to becoming a source of patience and encouragement, guiding them through the coding world with a patient smile, even on challenging days.

By embracing the chaos, finding humor in our journey, and reflecting on our collective experiences, I have realized that the essence of teaching goes beyond merely transferring my knowledge to them. It's about fostering an environment where mistakes are learning opportunities, laughter is therapeutic, and every challenge is a chance to grow—not only for the students but also for myself.

This is the core of education, and in these moments of shared struggles and triumphs, I wouldn't want it any other way.It's not just about the jokes that fill the room but also about adopting a lighthearted approach to ease the inevitable mishaps that accompany learning coding—a subject both intricate and strict. Here's my comedic take, inspired by Jeff Foxworthy's style, on the challenges and hilarities of teaching coding to 6th graders.


1. Installation Woes

You might be teaching a 6th grader how to code if...

...your lesson starts and your students ask, “What's an application and how do you install it?”

On the first day of every quarter I "embark" on the challenge of helping students install an editor from the internet. A task that consistently, without fail takes an hour long!

Explaining that an application is an app is a conversation in itself. Privacy and Security settings, moving the application into the application folder, and many more topics happen after this question. I could avoid this lesson, and it is a tempting idea and download the apps for them, but mastering these tasks is an essential skill. It's about more than just doing the task; it's about equipping students with the tools they'll need to navigate their new computers after they leave my class.


2. Multiple Versions of Everything

You might be teaching a 6th grader how to code, if...
...your students have twelve versions of the Mu editor installed in their downloads.

After installing the Mu Python editor, the infamous .dmg file (and sometimes multiple rogue files) is always lurking somewhere, ready to be accidentally clicked on. Again.

Mac users, you know the struggle! Students often stumble upon the .dmg, launching "already" installed Mu, and bingo - another version joins the collection.

But hey, these moments are opportunities! We demystify cryptic file names, build tech-savvy youngsters, and perhaps earn a few "wow, you're amazing!"s along the way.


3. The Ever-Broken Editor

You might be teaching a 6th grader how to code, if...
...every class features a cry of “It's broken!”

Even with guidance, some students never quite master the installation process, this sometimes leaves "the Mu editor feeling a bit lost."

Usually, kids come to me with a "broken editor" but the "broken editor' isn't isn't broken and isn't saving files in the mu_code folder because they either they did not install it correctly, or the student decided that it was too much work looking for the mu_code folder or the Mu Application and moved them to their desktop or their files are scattered everywhere.in their computer.

This is a complex situation for 6th graders from the start, but after a little help, we identify the real problem. The "editor is broken and it won’t save files" issue is an easy fix- Mu just needs to live in the Mac Application folder and the students need a bit more time, understanding file storage issues.


4. The Lost File

You might be teaching a 6th grader how to code, if...
...your frequent response to “my file is gone” is a slightly sarcastic “Where did you save it?”

Switching from Google Drive's auto-save to manual saving your own files is a tough lesson to learn.

Students coming from a Chromebook experience are in the habit of using the awesome Google Drive features. The ‘automatic save’ even when it is an ‘Untitled document ’ can be a hard habit to break. I am always reminding students that they need to save their files, and more importantly name the file! This is a great opportinity to teach file nomenclature and consistency. It is another great lesson on how to teach both Mac users and Microsoft users about locating their files and folders.

When using the Mu Editor, files should save in the mu_code folder.


5. The Mystery of File Locations

You might be teaching a 6th grader how to code, if...
...a normal response from you, that sounds very much like a typical parent response is: “I don’t know where your file is. Where did you last see it?" All delivered with that familiar "I don't know where your shoes are".

For sixth graders (and most middle school students) remembering where they saved their files is a novel concept when they're used to just dumping everything in Google Drive. Sixth graders use of folders storage and storage pathways is very limited. Therefore, saving files on a device is often a new experience for our kiddos. I need to show students that files are stored in directories on their computer and there is a pathway to their files.

This lesson pops up throughout the quarter. It is incredible to think that our "digital natives" often know so little about their computers!
Knowing where you save files is a must when working with editors and python files.


6. Closing Applications

You might be teaching a 6th grader how to code, if...
..“yes, it's okay to exit out of Mu” becomes your end-of-class mantra.

Closing applications and ensuring their work is safe is a constant source of anxiety. Closing applications might seem like a simple task, but for budding coders, it can be a source of worry. This is also a great time to discuss "local" versus the "cloud". Students do not understand the difference from storing files on their computer versus storing them in an external server.

They may fear their work will vanish into the digital ether if they click the "X" button.


7. Creative File Naming

You might be teaching a 6th grader how to code, if...
...their files are named thingy.py, supcode2.py, or ajefhkaehrihroe.py.

Naming conventions are evidently not their strong suit.

As a 6th grade teacher, actively checking in on how your students name their files is a thing. Not because teaching nomenclature is a highlight of 6th grade, but because it persists into adulthood. For my sanity, I attempt to help students name files appropriately, so that we can locate their file later.

Like good documentation, naming conventions exist for a reason.


8. Magician of Shortcuts

You might be teaching a 6th grader how to code, if...
...you feel like a magician when showcasing shortcuts for their computers and coding in the Mu editor.

Their amazement at basic shortcuts is both heartwarming and hilarious.

In the Mu editor, some of my favorite shortcuts are CMD+A(ctrl+a), CMD+K (ctrl+k)or CMD+D (ctrl+d) and my favorite thing to say is, "Remember, coders are lazy!"

It's always rewarding to hear students say, “Wow! How did you do that?” or “Oh my gosh, how did you type that so fast?”

Teaching shortcuts whether coding or not can help your 6th graders learn to be more efficient. And sharing one or two shortcuts a week really can help the students learn, use and remember them.


9. The Never-Ending Uptime

You might be teaching a 6th grader how to code, if...
...you constantly remind them to shut down their computers.

With the 'always on' culture, they're often clueless about force quitting or handling an endless loop they accidentally created.

What else can I say except yes, students (and teachers) never shut their computers down and yes, they do not know how to shut down applications or force quit their applications.

Teaching simple troubleshooting techniques can save you a lot of time and headaches in the future.

Furthermore, teaching your students that it is okay to close down or shut down is a great habit to help them get into. It is also a good social-emotional skill of reminding kids to "shut-down" and take a break from tech sometimes.


10. Google-Fu Skills

You might be teaching a 6th grader how to code, if...
...their Google searches are long-winded questions like, “how do I write a variable named guest_name and then ask the end user what their name is and then print it out?” (This is an actual Google search done by a 6th grader. No lie!)

"Great coders know how to Google!" is a daily chant in my class.(6th graders are not allowed to use AI in our intro/foundations course of CS.) With Generative AI taking over the world, knowing how to ask for the right "thing" is important, whether using Google or and AI tool.

I model how to search for topics or words that we do not know/understand, both online and on generative AI software like(Flintk12 a 'safe' environment for students under 13 year olds) and we discuss how to break down large topics into smaller, easier to search concepts and words.


In all seriousness, teaching 6th graders to code, with all its challenges, is truly rewarding. And yes 6th graders are needy, naive and inexperienced computer users, they really grasp the concept of coding in 9 short weeks. Every class is filled with moments of laughter, surprise, and learning for both of us.

If you're an educator in this space, perhaps you can add to this "You might be teaching a 6th grader how to code if..." list!

(This article was originally posted Sept 2020, and revised March 2024. I used ChatGPT and Gemini to help me reformat with titles and to give feedback for clarity.)

Image created by https://wonderai.app/