
Ask HN: Programming Problems for Plane Rides - andrewparker
When I have been on flights recently without Wifi, I've been passing the time by doing programming problems I find online before the flight.<p>A few times now I've found myself scrambling before a flight to download some random CS course PDF or digging around recruiting sites for hiring challenges that don't assume I have an Internet connection.<p>Does anyone have a good recommendation for a big page or site full of interesting problems that I could download locally? Generally problems that take from 30min - 2hrs to complete?
======
RodgerTheGreat
I often do this on flights, and in addition to solving "puzzles" you can
always try to build a well-defined system from scratch. For example:

    
    
      - A JSON parser (bring the BNF from http://json.org/)
      - Simplified Lisp interpreter
      - Forth compiler (for example: https://github.com/JohnEarnest/Four.Ps)
      - Emulator for a simple CPU or MCU (6502, 1801, etc- bring a datasheet)
    

Projects like these are not "practical", as everything here has been done
before, but great learning experiences.

~~~
abecedarius
The <http://norvig.com/spell-correct.html> code was written on one flight, for
another example.

------
Dachande663
More for the mathematician than programmer, <http://projecteuler.net/> offers
a nice collection of challenges, some of them very tricky.

------
bajsejohannes
I recommend trying to implement a classic game (e.g. tetris). If you download
the documentation for the graphics library, it's surprising how much you can
do in two hours. Even without knowing the library from before.

(Unfortunately, we just got internet on trains here in Norway, which have
reduced my train-productivity noticeably)

~~~
Brashman
I love doing this.

I suggest programming Snakes (on a plane).

------
michael_dorfman
If you're up for challenge, I'd try "Ed's Programming Contest Problem Archive"
at <http://www.karrels.org/Ed/ACM/>, and the Baylor archive at
<http://icpc.baylor.edu/Past/PastProblems.html>.

Both contain problem sets from the ACM International Collegiate Programming
Contest.

------
haasted
Take a look at <http://codingkata.org/>.

Best suited for playing around in a new language, but could perhaps inspire
exploration of a language you are fluent in.

~~~
bajsejohannes
And lets not forget the original code kata site:
<http://codekata.pragprog.com/>

It's a shame Dave Thomas stopped making these.

------
radq
You can download the SPOJ problem set as a PDF or PS file.

<http://www.spoj.pl/problems/classical.pdf>

------
Khroma
[http://www.ioi2009.org/index.jsp;jsessionid=0B6696CAD77A7898...](http://www.ioi2009.org/index.jsp;jsessionid=0B6696CAD77A789846D13C10D25C1CD8?ln=2&id=363)

This is the International Informatics Olympiad 2009's page. They have PDFs.
Problems range in difficulty, but it does take a lot of thought and time to
solve each of the problems.

------
roadnottaken
Gah! But how would I complete a programming challenge without Google!?

~~~
windsurfer
I once tried to accomplish a variety of tasks with nothing but an Ubuntu
liveCD. It's actually very helpful and complete! It teaches you a lot about
what tools you have on hand, which I now realize are much more helpful (if you
know what you need is there) than the ad-ridden internet.

------
JeanPierre
You could always download earlier topcoder-contests
(<http://www.topcoder.com>), specifically single round matches for algorithms.
They have a time limit on 75 minutes for 3 exercises, and should keep you busy
for roughly that amount of time.

------
zxer
If you are looking for algorithmic puzzles you can browse the archives of
topcoder.com : <http://www.topcoder.com/tc?module=MatchList>

These usually require less time and less math skill than the already mentioned
projecteuler.net problems.

------
tialys
One of my professors has a large collection of previous ACM programming
contest problems (with solutions) on his web site, along with problems from
the contest he runs: <http://math.nmu.edu/~apoe/>

------
sandal
For short puzzles, you can try out our newly launched site puzzlenode:
<http://puzzlenode.com/> | Only 4 problems there now but there will be at
least 4 new ones added every two months, hopefully much more often than that.

These problems also serve as entrance exams for Ruby Mendicant University. We
release our RMU exercises as well, but they're more open ended and likely take
more than two hours in most cases:
[http://university.rubymendicant.com/resources/learning_mater...](http://university.rubymendicant.com/resources/learning_materials.html)

------
aperiodic
Slightly off-topic, but I'm actually disappointed by the spread of Internet
access to things like planes and trains. One of the things I enjoy the most
about flying is that I feel disconnected from the rest of the world, and I try
to take advantage of this to focus on a book or programming problem for the
duration of the flight, without worries or distractions. I haven't yet been on
a flight with wifi, but I suspect that the illusion of isolation would be
broken for me, and my ability to focus would suffer dramatically. Hopefully,
most airlines will see it as another thing they can charge me for.

~~~
kovar
I am wholeheartedly in agreement with you, to the extent that I took a 36 hour
train ride a few months ago partly to disconnect from the normal flow of life,
and from the 24/7 Internet access that I am accustom to.

------
pbreit
I always like to do something practical, not a mere exercise. So my first
choice is actually building something with a full-stack framework like web2py.
You can easily create a db-driven web site in 30 min - 5 hours.

------
marcog1
I'm not sure about sites that let you download all their problems in one go,
but look at my list of sites of programming problems here:
[http://stackoverflow.com/questions/4697615/are-there-any-
sit...](http://stackoverflow.com/questions/4697615/are-there-any-sites-that-
do-python-programming-challenges-similar-to-projecteuler/4697635#4697635)

------
sayanee
[http://sixrevisions.com/resources/10-puzzle-websites-to-
shar...](http://sixrevisions.com/resources/10-puzzle-websites-to-sharpen-your-
programming-skills/) and recently I came across dropbox challenge as well!
<http://www.dropbox.com/jobs/challenges>

------
sheffield
<http://programmingpraxis.com/>

------
jlees
Look up the Informatics Olympiad. Some awesome theoretical puzzles:
<http://www.olympiad.org.uk/problems.html>

------
anon114
[http://cemc.math.uwaterloo.ca/contests/past_contests.html#cc...](http://cemc.math.uwaterloo.ca/contests/past_contests.html#ccc)

------
riffraff
built by a couple of guys I know: <http://www.coderloop.com/>

------
leif
"bus scheme" is cute: <http://technomancy.us/98>

You could do "airbus scheme".

