Efficient First Order Methods for Large-Scale Convex Optimization