So who is right? And which would be the correct answer under a university setting?
I love that your question includes the qualifier "under a university setting." It just highlights that there is a difference in theory and practice.
We have a few tables in production that don't have an indexed primary key and they are lightning fast to read. We do have indexes on the columns that we read on and join from. But in the University, they probably want you to say always include a primary key column.