He asked your opinion on topics, "what were the motivations of the leaders of the US revolution?" Even better were the questions that ended in "why or why not?"
There were no right or wrong answers, if you could justify your answer in a reasonable manner, you got full points.
Some students hated his tests, some students loved his tests. The students who hated his tests really hated them, the students who loved them, really loved them. (I was in the loved them group!)
Getting a Computer Science degree felt awfully similar, especially in higher level classes. Students of course had to do a senior project, 6 months to make something real in a group of 5. One group of students spun their project out commercially and and made some good money off of it.
My group make a photo library management app that was designed to allow for rapidly tagging hundreds to thousands of photos, utilizing custom experimental UI concepts. (This is when Google Picassa was still a big deal) When we started out we didn't know if we'd succeed, after all "experimental UI", "handles libraries with thousands of photos" and "desktop app written in Java" weren't typically phrases that went hand in hand back in the mid 00s.
But we did it! Which kind of summarizes my entire career in software engineering. If I'm not scared and uncertain of how I am going to do something, of if something is even possible, than I probably am not tackling a hard enough problem.