I tend to go over the course's lecture notes and write a condensed version for myself. I tend to write in my own words because then I can better understand it. When you have to summarize the content well, you have to be able to understand it. If you try to half-ass it, you will pay for it later, so I am assuming that you are willing to spend the time to study and do it right. Once you understand the concept, then it comes down to memorization. If you have the time, doing some application would help. That is why there are physics lab. For CS, we have our computers to write out the needleman-wunsch algorithm and try it out, if hand-simulation is not enough to learn the concept. For math, you will need to solve the equations, right the proof, draw the graph and trace out the algorithm. For english, you would go through examples in the book.
The best situation is when the teacher provides a sample exam, which has same problems as the final exam, but the variables are different. Then you would just try to re-do sample exam.
I also like to go over the homeworks and make sure I understnad why I was made to do them and what I learned from them.