Introduction
An RNN unrolled over time steps looks like a deep network with layers that all share the same weights (topic 1.1). Training it uses the same idea as for any network: compute a loss, then use backpropagation to find how each weight should change. The twist is that each weight is used at every time step, so its gradient must collect contributions from all of them.
Think of a relay race where the same runner runs every leg. To give them feedback, the coach looks at each leg separately ("too slow at the start of leg 3", "good at the end of leg 7") and then adds up all those notes into one overall piece of advice. That's backpropagation through time.