[ubuntu-za] Sa computer olympiad

Robert robket at gmail.com
Wed Sep 30 23:39:06 BST 2009


Hi

I was one of those involved in the running of the competition, and would
just like to add some of my own comments.

Most of the newcomers to the competition do the second round in the language
they're used to (Java in Western Cape, Delphi elsewhere). This is
understandable, as its all they know. When they qualified for the third
round, we encouraged them all to at least try python out. Of course the
aditional prize money helped motivate the students to do some self learning.

There were a couple of them that struggled a little in the beginning,
adjusting to a rather different language. But within about 2 months, most
were comfortable enough to do the third round in python. And, from what we
could gather, after going through the effort of learning python, most of the
contestants preferred it, at least in a competition situation to their usual
languages.

This actually made life a lot easier for us, as python is the one language
that each of the organising committee can code in, and for most of us its
our preferred language. The reason for this is that when it comes to
competitive programming, it just makes a lot more sense to use a "batteries
included" language which will allow you to focus on your algorithm without
having syntax or lack of libraries get in your way.

Simply put, python allows you to code complicated algorithms in an elegant
and quick way.

The only drawback is of course the fact that it is slower... we have to use
time multipliers to ensure that everyone's code is evaluated fairly. So for
most problems we would allow Python 10x more time than C++ code, (Java gets
2x).

But on the whole, python is great for competitions, (I think it was the
third most popular language in the google code jam after C++ and Java) and
it is also easy to learn. This was demonstrated highlighted when we gave a
weekend introduction to programming to grade 7-9's. You'd be surprised at
how much you can get through in just 2 days. For a full report on that
particular event check
http://marco-za.blogspot.com/2009/08/introuduction-to-programming-using.html

Another thing to note is that for the first time this year, we ran the third
round on Ubuntu PC's. In the past we've always run it in a Windows lab, but
with so many participants using linux at home, we decided to take the leap
and run the third round in the Shuttleworth Lab at UCT, on PC's running
Jaunty. Which worked out to be much less of a hassle administer.

Robert Ketteringham
SACO Scientific Committee


On Wed, Sep 30, 2009 at 5:52 PM, <ewaldhorn at gmail.com> wrote:

> Yes yes yes, I didn't mean to knock Python, I just wanted to say that there
> is a need for more IT students and that it serves as a good gateway to more
> difficult languages. It is easier to code in and allows one to focus on
> logic and problem solving instead of the OOP concept first, like in Java. I
> don't see Linux kernel or iPhone development done in it, but it will
> certainly appeal to particular sectors and diversity in IT skills is lacking
> in general.
>
> The most important thing is not WHICH language we use, but what skills we
> develop in the youth. We should encourage the use of the correct tool for
> the job and not try to fit each job to our tool of choice.
>
> Regards
> Ewald
>
> ------Original Message------
> From: Jan Groenewald
> Sender: ubuntu-za-bounces at lists.ubuntu.com
> To: Ubuntu South African Local Community
> ReplyTo: Ubuntu South African Local Community
> Subject: Re: [ubuntu-za] Sa computer olympiad
> Sent: 30 Sep 2009 17:40
>
> Hi
>
> On Wed, Sep 30, 2009 at 05:37:30PM +0200, Jonathan Hitchcock wrote:
> > Hi,
> >
> > On Wed, Sep 30, 2009 at 4:14 PM, Ewald Horn <ewaldhorn at gmail.com> wrote:
> > > Once past that, and
> > > interested in more challenges, students can easily be "migrated" to
> > > OOP languages like C++ and Java, having basic knowledge of program
> > > structure and flow.
> >
> > You know that Python is an OOP language too?   And actually has some
> > modern, advanced constructs and features that C++ and Java can't
> > handle (such as metaclasses and closures)?
> >
>
> I agree. Just because it is an excellent teaching language, doesn't
> mean it isn't also excellent for desktop applications and science
> applications.
> In addition it is an excellent "glue" for existing code in many other
> languages.
>
> Jan
>
> --
>   .~.
>   /V\     Jan Groenewald
>  /( )\    www.aims.ac.za
>  ^^-^^
>
> --
> ubuntu-za mailing list
> ubuntu-za at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-za
>
> --
> ubuntu-za mailing list
> ubuntu-za at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-za
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/ubuntu-za/attachments/20091001/bb40c8d8/attachment.htm 


More information about the ubuntu-za mailing list