Python programming classes for children

John Ladasky john_ladasky at
Wed Jul 1 23:02:58 CEST 2015

On Wednesday, July 1, 2015 at 6:03:06 AM UTC-7, beli... at wrote:
> My 11yo son is taking the online class "Intermediate Programming with Python" offered by the Art of Problem Solving company (AoPS). Classes meet for 1.5 hours a week for 12 weeks. During the classes the instructor "lectures" (types into a console -- there is no sound) and students type answers to questions. There are weekly programming assignments. AoPS is a U.S. company whose focus is preparing students for math competitions.
> Are there other groups offering Python courses for pre-college students?

I would recommend that you investigate web sites which match tutors to students.  Find a Python tutor who can come to your home, or meet your son at a nearby public library.

I love technology, but it's not good for everything.  I have taught Python to a range of students, from middle-school age through working professionals.  I am also married to an elementary school teacher, and we sometimes discuss teaching methods and strategies.  I can't imagine that this remote, text-only method of teaching would be very effective, especially for a student that young.

If you have been programming for a while, you take some things for granted that kids have to learn, and be shown, with great patience.  For example, my youngest students often have trouble at first understanding the difference between variable names and their contents, especially when the variables are strings.

The only way that I agree to teach is face-to-face.  I have had a few potential students ask me to tutor over Skype, and I have always declined.

I bring a laptop, and the student sits at their own computer.  I have broad goals for a lesson when I arrive.  However I will, and indeed I must, deviate from my plans when the student doesn't understand a concept.

Occasionally I type on my own laptop, when instant visual feedback is needed.  But mostly, I converse with the student, and look over their shoulders as they develop their code.  I let them make mistakes.  I ask them to run their buggy code, and when it doesn't work the way that they intended, I ask them if they can figure out why.

One more thing: I do NOT teach my students Python 2.  I have been working with a QA Engineer whose company uses Python 2, but all of my other students are free to choose to learn only Python 3.  Python 3 has been available for about five years now, and most new code is being developed in Py3.  I will not handicap my students by teaching them an obsolescent version of Python.

More information about the Python-list mailing list