Should college be an entity or attribute of the student entity?
The question is: "Can a college exists without a first student attending it?".
Yes, in order for a student to attend a college that college must exists; therefore college is an independent entity.
The next the question is: should a college be an attribute in the student entity, or do you need a separate relation (table, entity) {STUDENT_ID, COLLEGE_ID}
?
That depends on your "business rules" (constraints).
[1]
If the rule (constraint) is:
[c1]
Each student can attend only one college; for each college it is possible that more than one student attends that college.
Then add a COLLEGE_ID
to the student entity.
[2]
If the rule (constraint) is:
[c2]
Each student can attend more than one college; for each college it is possible that more than one student attends that college.
Than you need to add a dependent entity {STUDENT_ID, COLLEGE_ID}
To sort-out teacher, course, student details, see this SO example.
Your original model has few extra weaknesses like:
Can a college offer a course without a student signing up for the course first?
Can a teacher teach at more than one college?
Can a teacher teach more than one course?
Can more than one teacher teach a course?
How to make sure that if a student takes a course and a teacher tutors that student; than that teacher also teaches that course?
As you work through this you will add more entities.