Introducing Kids to Programming: 2 or 3?

M

Marco Gallotta

Hi there

I'm sure you get a lot of "2 or 3" questions, but here's another.
Umonya [1] uses Python to introduce school kids to programming. The
initiative is only 15 months old and up till now we've been using
existing notes and exercises and thus Python 2. But we're at the stage
where we can either stick with 2 for the next few years, or go to 3
now.

We received a grant from Google to reach 1,000 kids in South Africa
with our course in 2011. People have also shown interest in running
the course in Croatia, Poland and Egypt. We're also eyeing developing
African countries in the long-term. As such, we're taking the time now
to write our very own specialised course notes and exercises, and we
this is why we need to decide *now* which path to take: 2 or 3? As we
will be translating the notes we'll probably stick with out choice for
the next few years.

Since these are kids, we feel the nice changes in 3 such as removing
integer division will help in teaching. It will also remove confusion
when they go to download Python and grab the latest version. Since
they're just starting, chances are almost none will be hit by the
limited library support for at least a year or two. They will,
however, be hit by the confusion of seeing Python 2 code all over the
web.

We're tending towards 3, but I am a little cautious myself.

Marco

[1] http://umonya.co.za

--
Marco Gallotta
MSc Student
Department of Computer Science, University of Cape Town
people.cs.uct.ac.za/~mgallott | marco-za.blogspot.com
marco AT gallotta DOT co DOT za | 073 170 4444 | 021 552 2731
 
A

Andreas Waldenburger

Since these are kids, we feel the nice changes in 3 such as removing
integer division will help in teaching. It will also remove confusion
when they go to download Python and grab the latest version. Since
they're just starting, chances are almost none will be hit by the
limited library support for at least a year or two.

That's your answer right there.

They will, however, be hit by the confusion of seeing Python 2 code
all over the web.

Good point. Here is may suggestion: Make the kids aware of the 2/3
issue as early as possible, but don't go into detail. Maybe start with
the obligatory "Hello world" program, and a few other simple things.
Then, when you get to the "how do help myself on the net" part of the
course (you're including that, right?), you make strong distinction
between Py2 and Py3 and tell them to make absolutely certain that it's
Python 3 code they're looking at. Maybe give the "print()" syntax as a
hint, but have them rely on more explicit descriptions that come with
the code. Later on (once they know more programming constructs to
appreciate the differences), include another lecture, specifically on
the difference between Python 2 and Python 3.

Disclaimer: I'm not an educator. Maybe this is horrible advice. Someone
with a better understanding of kids' and learner's minds please debunk
any nonsense I may have spouted here. I just like to go by the general
rule that, unlike adults, most kids aren't idiots.

/W
 
A

Aahz

[posted & e-mailed]

[chiming in late]

I'm sure you get a lot of "2 or 3" questions, but here's another.
Umonya [1] uses Python to introduce school kids to programming. The
initiative is only 15 months old and up till now we've been using
existing notes and exercises and thus Python 2. But we're at the stage
where we can either stick with 2 for the next few years, or go to 3
now.

We received a grant from Google to reach 1,000 kids in South Africa
with our course in 2011. People have also shown interest in running
the course in Croatia, Poland and Egypt. We're also eyeing developing
African countries in the long-term. As such, we're taking the time now
to write our very own specialised course notes and exercises, and we
this is why we need to decide *now* which path to take: 2 or 3? As we
will be translating the notes we'll probably stick with out choice for
the next few years.

One reason not otherwise mentioned is that overall Unicode support is
better in Python 3, and given your international audience, that's a
strong point in favor of Python 3.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top