The theory should be presented in problem solving scenarios, not rote memory. Using theoretical facts to logically deduce an answer and mathematics to quantify the answer should be the basic skill obtained. This point was made by several of you.
In my experience, when solving difficult problems, the challenge can be to use theory to adequately cast/describe the problem in such a way that it becomes amenable to some standard solution approach, be that mathematical, algorithmic, or accepted design/heuristics/correlation.
(Sometimes just properly specifiying the problem is the most important element to arriving at a good solution; this consideration is trivialized in the classroom by purposefully overspecifying the problem or adding extraneous facts to the problem description).