ERIK DEMAINE: Algorithms is an interesting area, because it's very creative to come up with new algorithms. There's often many ways to solve the same problem. But unlike art say, in algorithms there's a quantifiable measures for how good you did.
What is the running time of the thing you ended up with? How much space does it use? It is efficient? So it's nice in that it's easy to evaluate whether you kind of succeeded. Did you get the n log n algorithm? Did you get the fastest that's possible?
But it's hard to measure a student's understanding because it's like, did you get the creative trick that we had in mind, or find another one that's just as good? Students may find a different creative trick that doesn't end up with as good an algorithm in the end. So we penalize that someone, but for the most part we are happy when people get correct algorithms.
When they understand the techniques well enough that they get an algorithm, it's pretty good. May not be the best, but we consider that much better than they were using the right technique, but they ended up using it wrong and so they end up with something doesn't even work. And that's much more discouraging, I guess.
But in any case, in a timed exam, it's really hard to expect students to be creative. So in that setting, it's hard. We don't expect a lot of creativity. We try to keep the questions relatively simple, so you need just one simple idea. If you're familiar with the material, it should come quickly. It Doesn't always, but--
So problem sets are definitely an easier way for students to express creativity. It gives them a little more time to think about the problem. Because some problems are going to come easy to some students and hard to others. It's going to be different problem set, so they have a week to think about it. And also to talk to others, we allow collaboration in the problem sets, so that makes it easier to find solutions but still learn a lot from it.
In the exams, it's a lot harder. In past years we've tried take home exams as a way to more accurately gauge how creative someone is in applying these techniques to design new algorithms. We didn't do that this year. It's not clear what the right answer is. It's definitely a challenge in teaching algorithms, is how to evaluate whether someone can really apply the techniques in new and creative ways.