I roughly classify the process of learning a course into three stages.
Stage 1: Understanding the contents. Learners should have a systematic view of the contents beyond just being able to prove all the theorems, being able to finish all the assignments. Learning how to use concept mapping and using it for meaningful learning is helpful to achieve the goal at this stage. At this stage, good textbooks, good teachers, good classmates/study buddies can be helpful too. However, none of those helpers work if there is nobody (if not you, who else? So you are willing to gain understanding of contents of this course it the most important condition) to help.
Stage 2: Knowing how to use the contents, by mimicking others especially master pieces, working on problems which were once considered as a progress in the field. Here research papers, excellent textbooks and books on exercise questions can be helpful.
Stage 3: Forming intuitions about the contents of the course and knowing how to use the contents creatively. This requires to play with many aspects of the course contents, to work on new questions to which the course contents can be potentially applied, to be mentored by an expert in the field.
These three stages while in a progressive order, are not necessary ordered in time line. Quite often you will have to jump among the three. Also, it is not necessary to reach all the three for all courses, but only for those courses that you know you will be with it all along in your life time. Oops, this creates another problem: How can you know which courses are such courses for you?