We’ve had two issues come up in the MOOC in last few days that I think are worth discussing here, as they’re both related to the issue of relying — or not — on other people’s resources.

First: For some of the Unit 2 homework questions, I had pointed to students to a metadata record from Europeana, and asked questions like “What’s the name of the property in such-and-such property-value pair,”etc. Well, about 3 days after that homework was released to the students, the Europeana site went down, as best as I can tell for about 24 hours. Needless to say, more than a few students then got an error message when they tried to view that metadata record. Some students realized that this was a problem with Europeana, but some seemed to think that it was a problem with Coursera or the link we had provided. Now, it doesn’t take a big stretch to imagine that we may have crashed Europeana’s servers. I don’t know how many students would have hit that one record all at the same time, and I’d like to believe that Europeana’s infrastructure is more robust than that… but it is quite a coincidence.

So, Lesson Learned #1: Don’t direct thousands of students to a website outside of your control if you can possibly avoid it. Instead, a screenshot might just possibly have been a better solution.

Second: Also on the Unit 2 homework, I had some questions that required the students to write Dublin Core markup. The way I had originally wanted to implement those questions was to have a Dublin Core validator that integrated with the Coursera platform. But the Coursera platform requires JavaScript in, and I have been unable to find a DC or XML validator anywhere on the web that outputs JavaScript. And trust me I’ve looked. I wanted Plan B to be to develop our own XML validator, or fork someone else’s, so that it would output JavaScript. But we had neither the time nor resources nor the staffing to make that happen (read: anyone who could code JavaScript well enough to do this in time for the launch of the course, and for no money).

So what we did instead was write short-answer questions that took regular expressions as their response. This is a very cool feature of the Coursera quiz functionality: they have a special category of short-answer questions for which you can specify regexps as the answer. Now, I cut my teeth on Unix, back in my misspent youth, and I’m just a big enough geek that I love regular expressions. So I thought this would be a great solution to the problem of lacking a DC validator. And, if I say so myself, my regexps were good. The problem was, I believe, simply that that the questions were harder than I thought they were. So quite a few students were unable to get the correct answers to these questions, which led to a lengthy and angry thread on the discussion forums. I’m still convinced that having the students write markup is the way to go for those homework questions. But I realize now that without a validator, writing markup was probably a profoundly bad idea, in a course geared for beginners.

So, Lesson Learned #2: If you don’t have the right tools available, and you can’t to develop them yourself, don’t try to be clever. A simpler fallback position is a better option than something more complicated.