I am trying to decide whether OpenEdx is the right choice as the base for an open research project (at least a PhD) I am starting. The project will (eventually) integrate both structured learning of the online/blended variety where the notion of a “course” makes sense and life-long, discovery-based learning that provides tools that are intended to accompany the learner long-term (so potentially decades, with no notion of “finished”).
OpenEdx clearly has the structured/formal, teacher-lead side but I fear I may be trying to fit a square peg in a round hole to use it as a portal also for things where the idea of an end-date, teacher or grade don’t make sense. The idea is to provide a learner’s “home-base” for a “Personalised User Model for Life-long, life-wide learning” (PUML, see Kay and Kummerfeld 2019 in BJET) where courses are contributors to learning, not “the goal”. For example, a Flashcard SRS can usefully be used for maintaining knowledge over the long-term, independent of a given course. Courses could provide input to the SRS (eg, this week’s vocab) but also potentially tailor instruction based on the existing, course-independent learner model - so not “Passed ABC301” so should know knowledge element X but actually “provided evidence for knowledge of knowledge element X (somewhere, at date Y)”.
OpenEdx also has a lot of testing infrastructure which will be useful for bootstrapping the initial learner model, which could usefully be done with a “course”, and other testing for research experiment purposes.
My understanding is that LTI would allow me to both get OpenEdx data out to an outside portal and/or get outside data back into OpenEdx. I am attracted to OpenEdx for the community but also the fact it’s Django-based, which is what I’m developing the external stuff with.
So basically, is the notion of “course of instruction” so basic to OpenEdx that trying to fit any other learning strategy/tools won’t fit? Any suggestions most welcome!
Technically as you identify, you could use a self-paced course in this way, but it’s going to be a pretty weird experience unless you do extensive customisation of the UI, I think. A lot of the language of the platform itself assumes that a course is…a course, that’s designed to be taken sequentially, which isn’t great for essentially just using a course as a website.
It’s possible to use Open edX for a surprisingly wide range of things, but I think the primary consideration is the learner experience you want to create, which it’s definitely worth having clearly mapped out and consider how you would create that in Open edX. I’m not sure I can answer that, but what I do know is that what you’re trying to create is definitely not what it’s built for, so while anything is technically possible with software, it may increase the amount of work you need to do beyond what you’re willing to spend on it in time, money or both.
Bit of a non-answer, but that’s the most I can offer you!
The current version of Open edX is designed around the concept of courses, and at the moment some hacks will be required to get the sort of learner experience you’re describing.
However, we are actively working on making the system more flexible by replacing the concept of a “course” with the more generic concept of a “learning context,” where a learning context can be a traditional course or something much different like a spaced repetition tool that provides tailored flashcards based on the course-independent learner model. The upcoming version of Open edX already includes some of the framework to support this, allowing developers to define new “learning contexts” and install them into the system as plugins.
For example, the new “Content Libraries v2” which will eventually replace the existing content libraries feature, is built as a learning context.
That said, this “learning context” project and the related Blockstore / Runtime projects are still in the early stages and may not be ready for your sort of use cases. If you need to hit the ground running tomorrow, it probably won’t have what you need, but if you plan to start in a year or so I think you’ll find it’s now quite a good fit. And if you can contribute to the project in the meantime, that’s even better
Thanks for that very useful info. We want to run a pilot first, and if the pilot has a bit of duct tape then that is definitely not a show-stopper. I also don’t mind working off a dev branch, particularly if that means I can contribute feedback and/or fixes. I would be working on a Helm chart anyway, which also appears to be something that also might interest the community and would Automate All The Things .
In terms of more involved contributions, are there any mid-long-term vision documents out there? I ask because what I want to build is very learner/knowledge-focussed, not course/institution-focussed. Ubiquitous computing now allows us to build sophisticated learner/user models that go significantly beyond the traditional model of course+certification, meaning we can build learning tools that evolve in quasi-realtime to a learner’s needs. This obviously doesn’t obviate the need for courses and institutions, I think it actually considerably increases and personalises the value they can provide. But in a sense it’s more a platform for storing detailed evidence for knowledge (past and present) and allowing that data to be used most productively for the learner, rather than producing “educational achievements”, like obtaining grade A on course B from university C at time D.
This all presupposes a slightly different view to learning and education than the traditional model assumes, and how technology can contribute. Open edX is great for MOOCs, and it may be that trying to turn it into something different would be a Bad Idea. I can always just get the information out and that would probably be the best choice if stakeholders are happy with the current course/institution focus at the abstract level.