As programmers, we are always looking for opportunities that let us prove our mettle in the technological fields. What better way to prove that one is a good programmer than to participate and win in international level competitions?
You must be well versed with competitions such as ICPC, Google Kickstart, Google Hashcode, etc. but have you heard of another giant that exists?
The ICFP Programming Contest is a programming contest that is organized by the international conference for functional programming. This contest is generally held in the months of June or July and has been running for 22 years now.
In addition to the competition being a test for the programmers’ abilities this competition also aims at showcasing what a programming language can do. Popular programming languages used by the participants include – Haskell, OCaml, C++, Cilk, Java, F#, Rust etc.
Unlike TCS Codevita, Google Kickstart and the ICFP programming contest are not coding programs for placements. The ICFP programming contest 2021 will be held in the month of August and will be completely virtual. Here is the link to their official website.
The ICFP programming contest eligibility is extremely flexible. Anyone and everyone who knows how to program, be it an undergraduate student, a graduate student, a PhD scholar and even a faculty can enter into the competition.
How to participate?
Participants need to form their own teams of any size who will be working with a programming language. There is no entry fee for the contest, just a willingness to be available throughout the contest for completing different tasks and milestones.
The total duration of the contest is 72 hours however there is a special prize for the team which manages to be at the top of the leaderboard after 24 hours (lightning division prize). You can register on their official website and be on the lookout for updates.
In addition to this, you can also apply to become a student volunteer during the conference. The application for the same is available on their website. In case you are interested in research, they also are accepting student research papers to be presented at the conference and the deadline for the same is 2nd July 2021.
- You can enroll in coding programs for placements and practice programming aptitude questions which will help you to understand the programming language in a better manner.
- The contest is also a test of who comes with the solution first in addition to who comes with the best solution. Make sure you are taking care of both speed and accuracy.
- Look up the best practices for functional programming and ensure you are using them during preparing your solution.
- Look up the documentation for the programming language you are going to use, you will most certainly gather a lot of intel about things your programming language can do.
- Practice previous contest problems.
ICFP Programming Contest Problems 2020
- Create a program that plays poussey.
- Optimise case statements for a text adventure game
- Implement a ray tracer
- Optimise HTML in terms of size
- Create a program that plays Sokoban
- Create robots that drive on different racetracks
- Design an ant colony with different constraints
- Create a ‘cops and robbers’ game
- Implement a VM for an operating system given by the judges.
- Implement a VM which converts DNA string to an image.
- Create a Mars rover control system
- Control satellites
- Enhance car and fuel production
- Create a slot game
- Create a boulder dash game
- Implement BlackBox
- Create Pacman game using AI
- Create Tetris using AI
- Create origami using AI
- Find the best route which covers most of the map
- Reconstruct 3D objects
- Worker-Wrappers against Bit Rot
- Create an alien space battle using VM
For a more detailed explanation of these problems, check out the official website of the ICFP programming contest.
Frequently Asked Questions
ICFP programming contest is an international programming contest where you are given a problem to solve and expected to come up with the most optimal solution in the least time.
To participate in the ICFP programming contest, you need to go to their official website and register yourself and your team.
To prepare for the ICFP programming contest, you need to be prepared with a programming language of your choice and know what the language can do. Practicing previous contest problems is highly recommended.
It is a team programming event.
Having an achievement in the ICFP programming contest will definitely be an addition to your resume when you are going for on-campus and off-campus placements. Besides being a token of merit on your resumes, it is always recommended to keep participating in competitions that test your programming skills.
It makes you a better developer and keeps you on the lookout for problems that exist in the world and being an engineer, it is your sole job to utilise technology to help humanity lead a better life.
By Pooja Gera