Are you talking about table structure? Or form/report design?
Since we're in the query forum, maybe you're talking about queries...?
OK...
In queries you don't ignore duplicates, you keep them in. You deal with them when you're using the data (in form, report, or whatever).
In forms, you could have a subform listing the classes, with the professor's details on the parent form.
In reports, you can add grouping, eg so you can have the professor's name as a heading, then a list of classes they teach.
In tables, you want to normalise the data.
I'd suggest something like the following tables (primary keys in bold):
ProfessorTable: Prof_ID, Prof_Name, ... etc
ProfClassTable: Prof_ID, Class_ID, Class_Name, ... etc
StudentTable: Stud_ID, Stud_Name, ... etc
StudentClassTable: Stud_ID, Class_ID