An Algorithmic Challenge
Written by Alex Armstrong   
Tuesday, 13 January 2015

Churchill Navigation is challenging developers to beat its own solution to an interesting problem. There's a first prize of $5K plus two runner-up awards of $2000 and $500.


To quote from the challenge web page:

In a nutshell: We give you a bunch of ranked 2D points, then ask you to find the most important ones inside some randomly generated rectangles. Easy, right?


To take part in the contest you need to download a zip file that contains the precise problem definition, a testing framework that can load one of more dlls to evaluate their performance and compare their results and a reference solution used to test for correctness.

The important criteria here is speed - the DLL that provides the correct answer and fastest will be the winner.

The deadline for the contest is 5pm MST on February 10, 2015 and the leaderboard reveals that currently one team has a faster solution than the in-house team.




Churchill Navigation is a pioneer of Augmented Reality Mapping and has a Mission Management Mapping System that is used by law enforcement agencies. The challenge it has set isn't intended to be directly product related. According to Andras Balogh, who posted news of the competition to Reddit, the problem was originally used for interviewing purposes the idea of turning it into an open-to-all contest was as:

 a fun way to get engaged with the programmer community, and meet some smart engineers

Judging from some of the comments on Reddit, and from the water-cooler discussion of in the I Programmer office the problem is one that devs do find interesting, with several alternative approaches being suggested. Most involve presorting the data in some way either via a direct sort or using a data structure like a quadtree (see Quadtrees and Octrees). One or two people mentioned geographic hashing and a few hybrid schemes have been suggested.  




As Andras says:

it's fun to see all the different ways people solve the same problem!

He also undertakes to share the in-house team's solution and  along with those of the winning team(s) and says that runtimes will be published once the contest is over.

More Information

Churchill Navigation Programming Challenge

Discussion on Reddit

Related Articles

Algorithm Challenge To Aid Environmental Protection

Quadtrees and Octrees       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



MongoDB Atlas Stream Processing Generally Available

The MongoDB developers have announced that MongoDB Atlas now has support for stream processing. The news was announced at MongoDB.Local NYC.

Microsoft And GitHub Announce Copilot Extensions At Build 2024

Microsoft's Build conference is underway with lots of announcements about Copilot, Microsoft's AI companion software.

More News


raspberry pi books



or email your comment to:


Last Updated ( Tuesday, 13 January 2015 )