Hello Hannah,
There are different ways to do this, one is like you said duplicate the course and change the price for the "new" course, you can do this for example with a microflow/nanoflow in combination with the clone action, and some change to add for example the year to the new course.
Another possibility is to separate the price from the course entity and create a price entity with three attributes DateStart/DateEnd and Price, based on the dates it shows the respective price.
The second gives you probably a better representation of the truth, but the first is I think easier to implement.
Hope this helps,
Good luck!