In my experience, nothing beats solving problems. Even if you get help via solution manuals. I went from being a B/A student to top of my classes (engineering) by solving many problems. I would do my homework and then go back before exams and redo the homework twice for a total of solving the problems 3 times. Never failed me. I actually managed to get a perfect score from a professor who wrote notoriously difficult exams where a 50% to 60% was curved to be a B