The steepness of the learning curve depends on how fascinating the subject is to the learner. The steeper the curve, the better, and you can learn faster. So, I suggest you apply your newly learned theories to the practical approach. By using this method, you will get a better learning experience keep the flame alive. Since you already know "C", hence I assume you know the basics of programming, I recommend you start OOP. refer "Java How to Program" by Deitel's, and "the complete Java reference" by oracle.