You should start by figuring out what you want students to understand and be able to do with the material that you will teach them. This includes issues of course content but you should also consider the kinds of exercises and projects that you will assign to students.
Some questions that you should consider include:
What should the balance between theory and computational practice be?
To what extent do you want to follow a statistical approach? Classical or Bayesian or both?
How much programming do you want students to do? With what languages and libraries?
What kinds of inverse problems do you want to deal with? Inverse scattering? Inverse heat conduction? Travel time and attenuation tomography?
What mathematical prerequisites can you assume?
For the course that I teach to first year graduate students in science, engineering, and math, the answers to these questions were very clear and determined the course syllabus and the content of the book that’s wrote.
In particular, we assumed that students had background in calculus, ordinary differential equations, and probability and statistics at the undergraduate level. The students needed a fairly applied course with a strong computational focus because they would mostly be doing those kinds of computations in their own research projects. We expected them to treat inverse problems as statistical parameter estimation problems and wanted them to see both classical and Bayesian approaches. Because students might not have background in partial differential equations and almost certainly had no background in functional analysis, we did not deal with inverse scattering and limited our attention to discretized inverse problems.