So I will be starting an undergraduate MSci degree in Physics/Theoretical Physics in 2017, for the time being I am on a gap year. What's the best way to mentally prepare for a theoretical physics degree? I am not just talking about being familiar with the topics discussed, but also improving my problem solving skills as much as I can. I will be doing the STEP papers (extra hard maths papers in the UK), which are quite challenging from what I have heard. I will also work through all the mathematics/physics Olympiad papers. I will go through all the Maths modules I did not do in my A-Levels. I am also learning Python. Any tips? Any challenging books to read that could improve my problem solving skills?Any skills that you think might be useful? Thanks in advance. Note that I am aiming for getting at least a first (70%) over the 4 years at one of the toughest universities in the UK in terms of examinations.