Skip to content

Homeschooling Update: Ready for Python Coding

Computer programming develops problem solving skills, helping students see that all problems — no matter how large — are sets of smaller problems. I’ve promoted programming in my columns, academic work, and on this blog. Coding courses aren’t about learning a particular language, nor are they about preparing professional programmers. Teaching coding is teaching how to approach challenges.

Which programming language is used to teach coding, which editor or integrated development environment is chosen, which hardware is used, are relatively minor matters to me.

I know some educators insist there are clear benefits to teaching Java, C, C#, or Swift. There are boosters of JavaScript, C++, and a lot of minor languages that remain popular in schools. Scratch, for example, is popular in elementary school labs. I used to teach macro programming for Microsoft Office. Visual Basic for Applications once offered immediate, practical benefits for users of Word and Excel. VBA still offers some great utility within Excel.

It isn’t that I am language agnostic: some computer languages are tailored for some purposes. A good, general purpose, programming language meets the requirements for a first coding experience.

Python has its strengths and weaknesses. I’ll comment on those in the future. The things I dislike about Python might be the features someone else loves.

From my perspective on educational use, it’s hard to beat Python. Python is available on every major operating system. It’s open source, with an active support community. There are countless books for beginning programming with Python, too.

Reference Sites

Both girls have used LOGO, Scratch, and BASIC for simple exercises. The oldest has been using Swift Playgrounds, too, which makes learning the concepts behind Apple’s Swift language an interactive game.

Using the “turtle” module with Python provides an easy way to transfer past experiences with LOGO and Scratch into Python. The Swift Playgrounds experiences are similar to those with LOGO, as well, as the early coding challenges involve moving a character through challenging courses.

Choosing the language to teach was straightforward. Choosing when to start the lessons was the greater challenge.

Our oldest is now ready to spend some time learning to code. We’ve attempted lessons before, but she wasn’t able to focus long enough for meaningful lessons. Past efforts to teach coding to her left both her and me frustrated.

Thankfully, with medication and a lot of redirection, she’s working through Python lessons. My fascination with technology allowed me to focus while learning to code. Our daughters don’t have that “hyperfocus” mode within their ADHD. I could spend 12 hours on a programming challenge. The nine-year-old cannot even focus on the things she loves most: drawing and reading.

I’m a passionate proponent of teaching computer programming. It’s important to me that the girls appreciate how devices do what they do. Because the girls do like video games, I hope that coding some basic arcade games will  capture their imaginations. All students like to create genuine projects, and video games are a perfect “real world” use of coding skills.

I’ll share updates on our coding experiences in the coming months.

Published inEducationSoftwareTeachingTechnology