One of the barriers to usability for students is that resources in courses may be in very different places and have very different names. This would be improved if a system wide template course could be used to populate every new course. For example it might have content describing the plagiarism policy and links to the reading list. This could be done by code that caused the template course to be backed up and restored into each new course. This might be something like for hand created courses in the edit.php file you would add ...
$bc = new backup_controller(backup::TYPE_1COURSE, $templatecourseid, backup::FORMAT_MOODLE,
backup::INTERACTIVE_NO, backup::MODE_IMPORT, $USER->id);
Then execution code and
$rc = new restore_controller($backupid, $course->id, bla bla bla
What do you think?