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