[ctpug] Introducing Kids to Programming: 2 or 3?
pjdelport at gmail.com
Tue Sep 28 21:42:18 CEST 2010
On Mon, Sep 27, 2010 at 5:48 PM, Marco Gallotta <marco at gallotta.co.za>wrote:
> 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.
This is really great news! Sounds like you guys have been doing an amazing
As for your course notes and exercises, targeting 3.x sounds like the more
- As you point, many of the changes in 3.x make it directly more sensible
and suitable for teaching purposes. The avoidance of 2.x's str/unicode
confusion should be one of the biggest points for first-time programmers,
but all the other special cases and legacy cruft that's been removed from
3.x will help reduce distractions to learning.
- As Niel Muller points out, library compatibility with 3.x is relatively
good, and will only grow with time, while 2.x will become increasingly
unsupported. The fact that you'll probably have to stick for the next few
years with the material you produce now should seal the deal in favor of
- The students whose learning advances far enough that they want to play
around with more involved Python libraries are also the ones for whom
learning 2.x/3.x differences shouldn't pose any difficulty anymore: if they
*really* hit a sticking point that requires the use of 2.x (for now),
they can just use it, without having to saddle all beginning learners with
I doubt that students will be confused much more by seeing 2.x code all over
the web, though; it's not really any different to 2.x users seeing code that
uses old-style classes, string exceptions, and so on. There's not much that
can be done about this: at some point, interested learners will have to
encounter old idioms and legacy code, regardless of the choice of 2.x or 3.x
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list