Khan academy style exercises

Hi everyone,

New to Kolibri. I am looking to develop exercises using Khan academys Perseus. I saw that this was possible using a python plugin from Kolibri. Is this something that is actively supported since I saw that the development of this feature had been discontinued.

Hi Henrik,

The plugin you are referring to was only for rendering Khan Academy Perseus exercises - the repository is archived because the code has been integrated into the main Kolibri repository.

It is still completely possible to add your own Khan Academy style exercises, however, the question editor on Studio only supports multiple choice and simple math answer questions.

If you would like to generate your own Perseus questions in a range of styles, you would need to generate your own Perseus JSON and upload to Studio using the ricecooker tool.

I don’t know if it is fully functional, or whether you can export the Perseus JSON from there, but the Khan Perseus editor is hosted in a Storybook page here: Webpack App that may give you some pointers to generating your own questions/JSON.

To use ricecooker to upload the generated JSON, you would need to use the ExerciseNode type, and use the PerseusQuestion question type: Nodes — ricecooker 0.6.46 documentation

See the documentation as a whole for how to get started with ricecooker.

For an example of using the above classes, our script for the Khan Academy content is here: https://github.com/learningequality/sushi-chef-khan-academy/blob/master/tsvkhan.py#L537

Here you can see that the PerseusQuestion simply takes a question identifer, and the JSON blob for the Perseus question. Questions created in this way are not editable/previewable on Studio, but can be viewed in Kolibri once published and imported to Kolibri.

Kind Regards,
Richard

Post was meant for Henrik, but Richard is welcome to respond too of course…
Have you perhaps found some tutorial or instruction on how to use the app? It is a steep learning curve with just trying things out.

Thanks, and regards

Actually, after seeing the examples in the above, I think the fast way to get started would be to just copy and adapt the code directly in the JSON files. If I needed a specific button etc, I could use the Perseus App to generate that code and try to use logic to incorporate it in my JSON.

If I am sucessful with that approach I might add it to a public channel.

Yes, adapting existing JSON might be easier - this is the main reason we have not included the Perseus editor in our own software, because it does not seem to be terribly user friendly!