Summer Programming Contest opens for entries

Six weeks ago, we announced the launch of our Summer Programming Contest for Raspberry Pi users around the world who are 18 and under and in education. There are two age categories; the first prize in both categories is $1000, with five runners-up prizes of $200 in each category. We’re happy to announce that you can now submit your entries. To do so, you should:

  1. Download and print out a copy of the one-page entry form.
  2. Fill in your details and those of your school or college.
  3. E-mail a scanned copy of the form to contests@raspberrypi.org.

Your entry itself should consist of a single .zip or .tgz archive which we can unpack into and run from the home directory of the pi user on a fresh Raspbian “wheezy” install. If your archive is less than 1MB in size, you may attach it to your entry email, otherwise please provide a URL from which we can download it.

Entries close on 1 September 2012, so you still have time to whip something up, even if you’ve not started yet.

45 comments

Avatar

‘Your entry itself should consist of a single .zip or .tgz archive which we can unpack into and run from the home directory of the pi user on a fresh Raspbian “wheezy” install.’

Wait. Does this mean we’re not allowed to use dependencies or Python modules that aren’t installed by default on Raspbian (such as Python GTK, Python Imaging Library, Python OpenCV…), but can be easily installed via aptitude? That would be really disappointing considering that I’ve spent the last 1-2 weeks creating something that requires non-default dependencies…

liz

I’d suggest you include a script to install those things, and tell us in the instructions to run it. Tah dah!

Avatar

I’ve made it so that if you don’t have the required modules, the program will tell you how to install them by asking you to run the single-line command ‘sudo aptitude install module-a module-b etc’. They’re easy to install and don’t require a custom-made script to install.

Would this suffice?

Thanks

liz

It’d be OK – but if you’ve got something that prints out a command the user has to type in, you’re likely to score higher if you just make your entry run the command for the user.

Avatar

What about if the module isn’t easily installed and needs to be compiled manually, and I have no experience writing scripts to automatically install stuff in Unix?
For example: Installing Pygame for Python 3.2.3 – which Raspbian Wheezy for some insane reason doesn’t come with? There’s a tutorial for it on the wiki, but you need to manually download the source from Pygame’s website, then install dependencies and build the file, I’d have no idea where to start writing something like that…

liz

If you’re interested in learning more, the forums are a good place to start; lots of experienced coders there who really enjoy sharing information.

Avatar

I do agree that for a programming platform, the default Raspbian is lacking some essential packages. Hopefully more packages will be added in the education release/release of model A (considering that it wouldn’t be as easy to install packages locally), such as some popular Python modules and support for more languages such as PHP, etc. An IDE such as Geany would also be nice, can’t imagine it would be pleasant coding long programs using IDLE, nano/vi or Leafpad…

If you wanted to make an auto-installer for Pygame for Python 3, you could copy all the commands that do that to a bash/.sh file, so that when that file is run the commands are executed in order. Although that presents another problem: you’d have to include the entire source code of Pygame with your package to compile it for Pygame 3 (or pre-compile it and include it with your package, although that would mean it would only work on Raspbian). Since the Pygame library is released under the GPL, I think that would mean you’d also have to release your package under the GPL (correct me if I’m wrong…). Although I suppose you could have the .sh script wget the Pygame source.

I don’t know how this contest is going to be judged, but in my opinion, looking @ the above, judges shouldn’t place much weight on how the modules are installed, as long as there are instructions on how to install the modules. Otherwise then people who use hard-to-install packages would be unreasonably penalised, unless they create a really nice auto-installer, which wouldn’t be a part of the main program anyway…

Avatar

I believe Geany was actually in one of the old RasPi distro’s, back in April.

I think I will have to include the whole source for Pygame in there, unless I just write instructions and link to the source on the Pygame site. Also thanks for the bash/.sh tip, I’ll look into that. If I can’t get it working though I’m afraid my instructions will just be a copy/paste of the lines you need to run in terminal in a readme.

It doesn’t help that one of the commands I used gave me several 404 errors and I had to run it with –fix-missing appended to get the SDL dev libraries. I don’t even know if it will do that on other RasPi’s so I’m not sure I can even guarantee a .sh will work when used… Well written instructions seem far more reasonable at this point.

Avatar

Why not statically link dependancies to your project. While it will increase the size, it will also ensure it will run without having to install a bunch of stuff, and allows those without a network connection to enjoy your work.

Avatar

I don’t think you can statically link libraries in Python – I think they need to be installed first using Python’s module management system(?) Unlike, i.e. C/C++.

Avatar

Soon you’ll find out some 8 year old kid managed to crack 256 bit AES without brute-force and without rainbow-like tables :D

Avatar

Of course an 8 year old isn’t going to use Rainbows. They’re icky and girly, even for girls.

Avatar

Already done ;)

Avatar

What the hell! I haven’t even received my Pi and I ordered it ages ago.

Avatar

Why only 18- :(

liz

It’s a competition for children.

Avatar

What about my inner child?

Avatar

Is there any news on how your going to verify age?

liz

That’s what we need the contact at your school for.

Avatar

So, if I was 18 years old on 4th August 2012, but not on the date I submitted the entry form, does the entry still count, or not?

liz

It does. If you were 19 then, you’d have a problem!

Avatar

Hello,
I’m may interested to join the conest. I mainly develope Applications in C++. I’m currently 17 years old. But currently I don’t know how to compile C++ code for linux since I’m using Visual C++ compiler and It’s limited to windows. I know Gnu and CodeBlocks works. I also would like to see other entrys already If I even have a chance.

greetz

liz

Sorry; we don’t share entries.

Avatar

If you write a file, say, main.cpp, then on Linux, you’d compile it by typing “g++ main.cpp -o “. Multiple files can be compiled by adding their filenames after main.cpp. Search for gcc or g++ tutorials with google. :)

You should also type the command “sudo apt-get install build-essential” before any of this.

Avatar

Hi! Tom here. I am 18 and from India. Am I eligible to participate? Or is the contest only for UK residents? Hoping to get a prompt reply so that I can continue with my project.

Thanks.

liz

Yes, the competition is open worldwide.

Avatar

Thanks a lot for the reply! :)

Avatar

I agree with BP: “Programming contest” is a wide category, but many of the most motivating projects for children are games, and bare Raspbian lacks a lot of useful packages: SDL-dev is not installed for creating C or C++ games, Pygame is not installed for Python programming. But not only games: Python GTK is not there for windowed user interfaces and so on. And also, Geany, which is a million times more productive than Leafpad as an editor, is not there (and it was in the previous debian-based distro).
As the Model A (with no easy network access) arrives, a far more loaded Raspbian is needed, if you really expect to promote the Raspberry Pi as a programming platform.

Avatar

Can you enter more than once?

liz

Yes, that’s fine.

Avatar

Does anyone have a script yet for installing pygames? This is way beyond my area of expertise. Thanks

Avatar

I think it’s as simple as making a .sh file, and adding the following:

#!/bin/bash
sudo apt-get install pygame

Then typing ‘sudo chmod +x [filename].sh’ to make it executable :)

Avatar

That would only install Pygame for Python 2.7, which is already on Wheezy. 3.2.3 is rather a tad more complicated.

Avatar

What is so complicated? Is their a repository I can add that will have it? Thanks

Avatar

Here’s my submission:
http://pastebin.com/CsZaBgQm

Not really – I’m 39, but this little demo I’ve put together might stir a few ideas for you budding programmers. It’s going to feature in Issue 5 of the MagPi. I thought I would share it here. It’s a lot of typing, so I’ve made it a bit easier for you! If you find it runs too fast (Because you’re using something other than a Pi), just increase the value of the points variable.

Good luck!

Avatar

I… I finished my entry, but it uses pacman, and all the specificities of Archlinux ARM… So, I’m not allowed to enter the contest? :(

liz

Absolutely fine. Please enter!

Avatar

Awesome! Thanks very much!

Avatar

Hi! I used the 2012-06-18-wheezy-beta.img distribution to develop my software. Can I enter this contest?

Thanks! :)

liz

Of course! As long as it runs on the device, you can enter.

Avatar

Thanks Liz!

Avatar

Wait, so are the apps due on the 1st as well?
Thanks

Avatar

Its been more than 1.5 months since I submitted my entry. Any tentative dates by which we can see the results?

P.S: Sorry for acting impatient, but I am very excited.

Avatar

Myself also! It’d be cool to have a little update :) Thanks guys.

Avatar

No answer till now. I guess you guys have been very busy lately?

Leave a Comment

Comments are closed