Dear Moodle people,
Sorry that I've gone quiet for a while. Please be assured that I have not lost interest in contributing to Moodle for my MSc project. I've given all of your suggestions very careful consideration. I'm going to have to commit to a project soon, so I'd like to discuss where I'm at with my ideas. I'd also like some feedback on one more idea I've had.
Thanks for your time and consideration.
The ideas suggested by other people were:
1. A dashboard for monitoring forum activity
I really like the idea, but I can't see a way to make something of sufficient scope for an MSc project without real world testing. And real world testing could lead to serious ethical problems. If you can see a way out of this dilemma, I'm all ears!
Tim seemed surprised about the ethical problems, so I'll explain in more detail. The university holds me to near-medical standards of research ethics. In my nightmare scenario, the ethics committee will say something like:
The mere fact of its usage suggests that the dashboard does more than just repackage available data.
We consider the students being observed by the dashboard to be indirect participants in the study, and their voluntary, informed consent will be required.
Students are sometimes required to use course forums for assignments. The power tutors wield over students might lead some students to conclude that it would be in their best interests to participate in the study, against their wishes.
We conclude that it is impossible to guarantee that all participation will be voluntary. Ethical approval denied.
This possibility is a risk I can't afford. So, unless someone can suggest a Plan B that will get me a good MSc project even if the committee says "no", I'm going to have to give up on this idea.
2. The question filter
I also like this idea, but I'd like to know more about the scope of the security problem before I commit to it.
I'm ignorant about Moodle's architecture, so please, please tell me more about this. What kinds of changes will I need to make? Will it be enough just to make the filter smarter, or will I have to modify other parts of the system, too? Will it require a Moodle fork? What about plug-ins?
3. Mobile usability study
I wasn't keen on this idea at first, but the more I think about it the more I warm to it. It could certainly be a great learning experience for me. However, the practical problems remain daunting, and I have no experience in these matters.
It looks too risky to attempt, but I want to discuss the idea with some usability experts here in Japan before I dismiss it entirely.
4. (my new idea) Adding a programming question type
Inspired by this discussion:
How can I include a Python interpreter written in Javascript in Moodle?
and by my experience of being obliged to take an appallingly designed multiple choice exam that was supposed to assess my competence in Java.
We can assess somebody's competence as a programmer by asking them to write a function or class that meets certain specifications. We can check the accuracy of the results using automated unit tests. There are various ways we can implement this.
We can run the unit tests:
1. in the browser, natively (if it's Javascript)
2. in the browser, through an emulator (e.g. brython, js.js)
3. in a browser plug-in (e.g. JRuby, JPython, Rhino and Clojure can all run in the Java Virtual Machine)
4. on the server (this one has already been done: Virtual Programming Lab for Moodle)
5. some combination of the above. (E.g. student checks his implementation in the browser, and then uploads it for official verification. Or the unit tests are on the server, the implementation is on the browser, and a web service connects the two.)
The student can edit the code in:
1. their preferred IDE.
2. a code editor embedded in the browser.
3. a code editor running on the server, via a virtual terminal embedded in the browser.
4. some combination of the above.
My proposal is to implements some portion of the above, and test the various permutations for suitability in various domains. (E.g. an in browser plug-in might be good for quick self-assessments, but server side assessment would probably be a must for high-stakes exams.)