Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support LTI tool invocation flow #24

Open
salikh opened this issue Nov 27, 2019 · 1 comment
Open

Support LTI tool invocation flow #24

salikh opened this issue Nov 27, 2019 · 1 comment

Comments

@salikh
Copy link
Collaborator

salikh commented Nov 27, 2019

The autograder can be integrated as an LTI tool, i.e. a web application that is registered with an LMS (Learning Management System), that is formally added as an assignment to students.
User flow can look like this:

  • The LMS admin adds autograder instances as an LTI tool to LMS
  • The course facilitator creates the assignments and adds links to specific units to a course in LMS
  • Students click on the links in the course in their LMS and open the Python programming assignment in Colab
  • The autograder grades the submissions and records the results back to LMS

A specific more technical description of the HTTP requests flow on LTI tool launch (based on limited understanding of LTI 1.3, so details may not be correct)

  • The student clicks on a link that goes to autograder server. The request includes student ID, role and the assignment ID ("line item" in LTI speak)
  • The autograder records the assignment ID and student ID in the user session and initiates authentication with LMS OAuth provider flow to obtain a bearer token
  • The autograder responds to the student request by redirecting them to Colab notebook with an assignment. Ideally it should pass the authentication token to Colab, but since templating feature in Colab is currently disabled for security reasons, it's more likely the autograder will need to show a page with token with an instruction to copy token, click on the Colab link, then paste the token inside of Colab notebook
  • On notebook submission, the student should indicate whether their submission is intermediate checkpoint or final submission
  • After grading a final submission, the autograder may submit grades back to LMS, using the line item, user ID and authentication token recorded in the user session.
@Abdess
Copy link

Abdess commented Jul 30, 2021

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants