As a retired college professor, taught chemistry, who has taken a lot of tests: graduate school, FAA (private, instrument), SCUBA certification, for example, I can tell you that the best learning comes from active participation -- paper to eyes to brain to hand back to paper. Work as many numerical problems as you can and do practice tests -- the wording of test questions differs from the textbook encounter of ideas and principles (don't get caught in the memory trap, you want logical reasoning flexibility) and become accustomed to the testing environment. This took me from a 50 year absence (as WN1HTD and W1HTD (conditional)) to AB3MO (Am Ex) in three-four months of easy (for me) studying. Code would be (is) a different situation, but taking an active role there with available computer study programs is such an improvement.