Staticman provides user functionality to a static website. We could potentially use this to allow submission of user content to the site - e.g. the user would fill in a form containing a number of fields - one of which would allow them to enter markdown content for a module. Another form could be used to create a lecture by choosing from existing modules.
It might be a bit clunky, but worth exploring.
Note that this would require modules to be stored as YAML in the data folder, rather than as posts, so again could change the functionality of the site somewhat.