Tools for CSE courses

The Moodle assignment GIT submission type

If a CSE GitHub repository exists for the course, one can configure an Assignment to use the GIT submission type.
Students submit directly to GIT, as described in The CSE GitHub server

Submitting to GIT then:
  • Pushes the current GIT branch's commit to the submit branch
  • In Moodle, creates an empty submission or updates the submission time
  • Creates an archive file from the contents of the submit GIT branch and triggers the Bodek system to process it as follows:
    • Store the archive as ~/course-admin/submissions/<assignment>/<login> where assignment is the CourseAdmin assignment name and login is the Student's username.
    • Create a PDF, as described in Processing by Bodek and store it as ~course/course-admin/bodek/assignments/<assignment>/presubmission/pdf/<login>.pdf.
    • Make the PDF available in Moodle as submitted file submission.pdf

Submitting through Moodle triggers the Bodek system, as described above, but does not push the the current GIT branch's commit to the submit GIT branch. Hence Students should not have to go to the Moodle submission page (button Edit submission) except:
  • If they prefer to push manually to the submit GIT branch
  • To re-trigger the Bodek system (if it failed or the tests were changed)
  • To choose partners (if Allow students to choose partners is checked in the assignment Settings)
  • To declare that they intend to submit late or, if they are submitting late, to declare that it is their final submission (if Allow submissions after Cut-off date is checked in the assignment Settings)