RE

So I want to learn reverse engineering so I can do those challenges. I know this involves the usage of a debugger, so my question is where do I start? Where is a good place to start learning how to debug code? Should I learn Assembly?