This comes from a discussion that I had yesterday, which brought back to me the importance for institutions of learning not only to provide .LRN as an LMS but also use it for training their students and involve them in development.
A professor is teaching introduction to development as part of a mandatory course. This course is attended by around 400 students per semester. His goal is to write an LMS for the university within two years, using the 400 students (for free, per semester) to build the parts of the system (and use the best of them to clean up the code). Though this example is extreme, it shows us where we could enhance the toolkit easily and get a higher adoption.
We need to start again by offering introductionary courses to students in Web Development with relations databases (or "Enhancing Learning Manangement experiences with sophisticated software", up to you). This course should give an introduction to development with OpenACS and teach the best practises that are available. In the second half of the course, the students could then start on writing their own applications, though I'd suggest that at least one course is headed under "Improving usability of an Open Source Toolkit" with the students improving the look and feel of OpenACS.
There is only one major obstacle to this. OpenACS is not sexy and does not show off the latest and greatest in science (at least not from a purely computer science point of view). It is neither object oriented, nor model driven (though there is the idea of writing a cartridge for andromeda (http://www.andromda.org/) to generate OpenACS Code instead of J2EE one) nor uses a cool new language.
In my opinion therefore computer science departments are not the best to target for this. But for business and business computing students, .LRN has a lot to offer.
- Easy to learn (in comparison to Java).
- Well thought through API that makes live a lot easier for development.
- Instant gratification (no need for compile, you write your code, go to the webpage and scream horray or start sobbing).
- Coding can focus on application and user needs, not on technical empowerment.
- You learn the basics of a scripting language. Might come in handy if you want to tune your Office Applications.
- You will learn Oracle PL/SQL which is always good in you CV :).
- You learn how to interact with an Open Source community.
I thereby challange all institutions that are currently using .LRN to think about the possibility of offering such a course to students. Search for a champion in the institution to see this through (or be the champion yourself). And get in contact with me if you either do not have the manpower to run such a course or need course materials and training for one of your assistants. This does not mean I have these training materials yet, but this is of a great enough importance that I'm willing to work on it.