What are some projects that will start very easy and get more and more difficult as you go up the ladder? Ideally these projects would introduce you to new design patterns/architectures and would be language agnostic. Any one know of a progression that meets these criteria?