My first database schema design
I think you're one the right track. Make your database model the process. Try to think of People, Security Roles, and Courses as separate entities that have relationships - not always directly. 

In your scenario, you're describing a many to many relationship between roles, courses, and people.

In one table you have people - all the demographical data like name, address, and phone number. A second table that has different roles a person may have with in the system - instructor, student, auditor, teaching assistant, etc. The third table has courses - all the demographical data course name, department, cost, etc. The final table has Security permissions - by web pages, functions, or whatever makes sense in the context of your application.

In between you're going to have tables that break these relationships into 1 to many relationships. A person with the Role of Instructor has multiple courses assigned to them, a table with a surrogate key for a specific instructor and the surrogate key for their course load.

I would like at building something like this - https://en.wikipedia.org/wiki/Swim_lane before building your schema. When you understand who does what, and in what order, you get a better understanding of what your data model should look like.