Domain: icfpcontest.org
Stories and comments across the archive that link to icfpcontest.org.
Comments · 12
-
Re:Wouldn't it be cool...
The participants to last year's ICFP Programming Contest received a short sharp introduction to orbital mechanics. It was only a 2D version, but still not an easy task. I ran out of brain power and time just short of the last set of problems which is where it got really interesting.
-
Re:Prior Art
Endo, the alien creature at the heart of this years ICFP Contest, has already stuffed all manner of information into his/her DNA. Plenty of images, and some audio also. Do our earthly patent systems extend to outer space?
-
Excellent resource
I will post this on every Slashdot story I see about learning how to program or improving your computer skills:
Go to this website for the 2006 ICFP programming contest:
http://icfpcontest.org/task.shtml
and try to accomplish as much of the task as possible. This is an amazing way to practice programming skills, as it is open-ended yet manages to cover a huge breadth of skills necessary to be a good programmer and computer scientist. The first task is to write an emulator. I suggest you start here. -
Archeology? Try ICFP Contest 2006
The subject of the ICFP 2006 Programming Contest was about exploring a dead system of an old civilization. The challenge is still available. Try it! It was really fun.
-
Re:Python is SLOW
The ICFP contest allows any language you want. It's once a year, with 3 days to work on the problem. Typically it's a single optimization problem for which a perfect answer is not feasible in terms of computation, so the best heuristic wins.
The Internet Problem Solving Contest also allows any language, since you only have to submit the output, not the program. It's also once per year. It has multiple problems and you have to solve as many as possible in 5 hours.
-
ExpandSeveral suggestions:
- Learn different programming languages. Perl, C++, Python, Ruby, and make sure to include functional ones like Lisp, Haskell, and ML. Build something useful or interesting in each of them.
- Study algorithms. Get an algorithms textbook and learn about trees, linked lists, hashes, etc.
- Study complexity theory. Learn how to find the big-O running time of an algorithm. Learn how to reduce an NP-complete problem so you can tell if the problem you are working on is intractible.
- Study math. Learn cryptography, etc.
- Read Knuth's Art of Computer Programming.
- Complete all the tasks you can from the 2006 ICFP Contest.
- Learn different programming languages. Perl, C++, Python, Ruby, and make sure to include functional ones like Lisp, Haskell, and ML. Build something useful or interesting in each of them.
-
icfp contestspeaking of puzzles, the ICFP Programming Contest this year was full of great programming puzzles. The depth and ingenuity of this year's contest is simply breathtaking, one of the best computer games I've played for years, all in a 2.2MB download.
I believe you can still register on the site, get a key to the codex, and solve away at your leisure...
-
If you like to breathe in between keystrokes...
If you want a bit more leisurely time (and a more sophisticated task), you might try out the ICFP Programming Contest. It runs 72 hours, and you can participate from the comfort of your living room. I've been on a team four or five times and have always had a good time. This year we're organizing it, so I know it's gonna be good!
-
Re:Ugh not again...
You should have a look at the ICFP contest then: http://icfpcontest.org/.
No prefabricated problems.
More time to do the job.
Any programming language. ... -
The right programming language helps hugely
The site is slashdotted at the moment, so I can't read the article.
A good example of people writing complex but bug-free software under time pressure is the annual ICFP Programming Contest. This contest runs over three days, the tasks are complex enough that you usually need to write 2000 - 3000 lines of code to tackle them, and the very first thing the judges do is to throw corner-cases at the programs in an effort to find bugs. Any incorrect result or crash and you're out of the contest instantly. After that, the winner is generally the highest-performing of the correct programs.
Each year, up to 90% of the entries are eliminated in the first round due to bugs, usually including almost all the programs written in C and C++ and Java. Ocassionally, a C++ program will get through and may do well -- even win, as in 2003 when you didn't actually submit your program but ran it yourself (so it never saw data you didn't have a chance to fix it for). But most of the prize getters year after year seem to use one of three not-yet-mainstream languages:
- Dylan
- Haskell
- OCaml
You can argue about why, and about which of these three is the best, or which of them is more usable by mortals (I pick Dylan), but all of them are very expressive languages with uncluttered code (compared to C++ or Java), completely type-safe, produce fast compiled code, and use garbage collection. -
Re:GCJ overlapped IOI this year
Next year why not consider a credible competition?
-
Re:Don't forget ICFP (Broken Link)
Broken link in parent post, it should be: ICFP programming contest.