Skip to content

Add Likert reflection to async PI (opt-in per course) with logging#1245

Open
sethbern wants to merge 1 commit into
RunestoneInteractive:mainfrom
sethbern:likert-pi
Open

Add Likert reflection to async PI (opt-in per course) with logging#1245
sethbern wants to merge 1 commit into
RunestoneInteractive:mainfrom
sethbern:likert-pi

Conversation

@sethbern

Copy link
Copy Markdown
Contributor

Added an opt in Likert scale step to the peer instruction flow that appears after students submit their second vote and before they move to the next question. The next question button remains locked until the Likert responses are completed, and the form resets for each new question.

Also expanded the logging to capture additional peer instruction data, including the async mode type, selected theme for personalized LLM interactions, and students’ Likert scale responses.

The Likert step is off by default and has to be enabled per course, so it won't affect any existing courses. It's gated behind the enable_likert course attribute, which can be set with:

rsmanage addattribute --course <course_name> --attr enable_likert --value true

Could the course async-pi-study have this enabled once it's merged?

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an optional Likert-scale “final reflection” step to the async peer instruction student flow (gated per-course via the enable_likert course attribute) and expands peer-instruction logging to capture richer mode/theme data.

Changes:

  • Add a Likert reflection UI step after the second vote in async PI, blocking “Next Question” until submitted (when enabled).
  • Add/adjust PI logging fields (mode classification + theme logging) and pass enable_likert into the async PI template.
  • Restrict /assignment/peer/course_students to instructors (this appears to be a breaking change for student pages as currently implemented).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
components/rsptx/templates/assignment/student/peer_async.html Adds Likert reflection panel + client-side gating/logging integrated into async PI step flow.
bases/rsptx/assignment_server_api/routers/peer.py Adds enable_likert context, updates pi_mode logging, adds pi_theme logging, and changes auth on /course_students.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1476 to +1481

updateStepBanner(4);
enableNextQuestionBtn();
}
if (window.PI_ENABLE_LIKERT) {
showLikertPanel();
}
Comment on lines 1246 to 1248
@router.get("/course_students")
@instructor_role_required()
@with_course()
Comment on lines +1557 to +1559
if theme_id:
theme_obj = THEME_BY_ID.get(theme_id)
theme_label = theme_obj["label"] if theme_obj else theme_id
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

Successfully merging this pull request may close these issues.

2 participants