Slashdot Mirror


Good Language Choice For School Programming Test?

An anonymous reader writes "The Australian Informatics Olympiad programming test is being run in a couple of months. I'm an experienced programmer and I'm thinking of volunteering to tutor interested kids at my children's school to get them ready. There will be children of all levels in the group, from those that can't write 'hello world' in any language, to somewhat experienced programmers. For those starting from scratch, I'm wondering what language to teach them to code in. Accepted languages are C, C++, Pascal, Java, PHP, Python and Visual Basic. I'm leaning towards Python, because it is a powerful language with a simple syntax. However, the test has a run-time CPU seconds limit, so using an interpreted language like Python could put the students at a disadvantage compared to using C. Is it better to teach them something in 2 months that they're likely to be able to code in but possibly run foul of the CPU time limit, or struggle to teach them to code in a more complicated syntax like C/C++ which would however give them the best chance of having a fast solution?"

12 of 407 comments (clear)

  1. Too easy... can't resist... by Anonymous Coward · · Score: 1, Funny

    If there's a runtime CPU limit, then why is Java even an option?

    1. Re:Too easy... can't resist... by WrongSizeGlass · · Score: 4, Funny

      It's the whole "4 out of 5 doctors ..." scenario. Any kid who picks Java will be taken away to be deprogrammed and then reintroduced to programming society once they're ready to be released into the wild.

      Born free, free as the wind blows ...

    2. Re:Too easy... can't resist... by binarylarry · · Score: 3, Funny

      C++ is definitely the best language in the world.

      My god

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:Too easy... can't resist... by Anonymous Coward · · Score: 1, Funny

      ...it's full of templates!

  2. Many good choices by DoofusOfDeath · · Score: 4, Funny

    You don't want a test that favors kids who have studied that particular language in the past. I suggest the Turing-complete language LaTeX. It's the only way to be sure.

  3. Re:I'm guessing the CPU limits are generous. by bill_mcgonigle · · Score: 4, Funny

    Right, the OP says that Python is an accepted language, so it's only sensible to assume that this isn't a sneaky trap set by the Ruby Mafia intending to disqualify testers for using it.

    The Navy research showed Python is a good language for learning OOP and if programming contests today are anything like what they were when I was in ACSL, boy would having a scripting language be handy. I wonder how anybody could compete in c (but perhaps that's a built-in test - picking the right language for the job is an important skill).

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  4. Re:No option of Fortran? by Stephen+Tennant · · Score: 2, Funny

    But then he must add a module for maintaining neckbeard

    --
    I spend most of my time in bed, darling.
  5. Hello World by gd2shoe · · Score: 4, Funny

    On the plus side, you could make a really spiffy "Hello World".

    --
    I won't join Slashcott. OTOH, If Beta goes live, I just won't be back until it's fixed. Sorry Dice.
  6. Re:There's C then there's C written by newbies by oldhack · · Score: 3, Funny

    Actually, I take this back.

    Go with C++. If not, in 20 years, some of these kids will come after you for ruining their lives by seducing them into the nasty painful world of programmers. It's a nasty way of life. Scare them shitless off it - teach them Perl and make them debug each other's code. Tell them all the grownups use Perl.

    --
    Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
  7. Re:Faster than you think by Larryish · · Score: 5, Funny

    LOLCODE would be easiest to learn for the cellphone-texting rugrats of today.

    Example of Hello World program:

    HAI
    CAN HAS STDIO?
    VISIBLE "HAI WORLD!"
    KTHXBYE

  8. Re:Perl !! by palegray.net · · Score: 2, Funny

    although if you were decently skilled I'm sure you could write one liner to translate your perl source into any one of the accepted list

    Not necessary, just do this:

    #!/usr/bin/python
    import os
    lulz = os.system('perl myprogram.pl')


    Look, it's in Python! :)

  9. Re:The syntax viewpoint is an oversimplification. by Just+Some+Guy · · Score: 2, Funny

    It's sad that the list of languages includes only immature dynamic languages du jour like Python

    I think you meant "du last two decades", as Python's first release was in 1991. What qualifies as "mature" in your opinion? Is it OK to start using ALGOL yet?

    --
    Dewey, what part of this looks like authorities should be involved?