Pick any of the problems in the archives of [Al Zimmermann's Programming Contests][1], and make progress either on the theoretic side (tighter upper bounds / lower bounds / asymptotics) or the computational side.

A specific nice example could be [Point Packing][2]. 


  [1]: http://www.azspcs.net/
  [2]: http://www.azspcs.net/Contest/PointPacking