I think what you have there is almost like Object Relational Modelling rather than ERD. With ERD you need to be modelling things like if a relationship is mandatory or not, and how many relationships might exist (cardinality). You can use crows feet notation to indicate this (google it, it's quite a big subject)
I think using that sort of a notation will help you think through your real world relationships. You aren't far away though. I'd also start to sketch out the sorts of data that you might find in those entities, as this will also help you think things through and test your assumptions.
Things like, are there relationships between modules and programs? Can a student also be a staff member, and does this complicate the realationship, or does it mean that things can be consolidated, and therefore be simpler?
You may also like to draw boxes around the higher level concepts, so you have something that is a person, or user, something to do with the course definitions (the course) and descriptions, and something that is the intersect of those two things, probably conceptually something along the lines of a 'study' (essentially a user 'studies' a course).
I'm being very high level, but I hope that this helps to get you thinking?