As mentioned in the question, I have some issues understanding what are the differences between those terms.
From what I have understood:
Forward pass: compute the output of the network given the input data
Backward pass: compute the output error with respect to the expected output and then go backward into the network and update the weights using gradient descent ecc...
What is backpropagation then? Is it the combination of the previous 2 steps? Or is it the particular method we use to compute dE/dw? (chain rule ecc...)