Skip to content

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

Merged
bnmnetp merged 3 commits into
RunestoneInteractive:mainfrom
sethbern:likert-pi
Jun 23, 2026
Merged

Add Likert reflection to async PI (opt-in per course) with logging#1245
bnmnetp merged 3 commits 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 thread components/rsptx/templates/assignment/student/peer_async.html
Comment thread bases/rsptx/assignment_server_api/routers/peer.py
Comment thread bases/rsptx/assignment_server_api/routers/peer.py Outdated
sethbern and others added 2 commits June 23, 2026 09:16
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@sethbern

Copy link
Copy Markdown
Contributor Author

@bnmnetp I addressed the Copilot comments. Once it's merged, could you enable it for async-pi-study and test_py4e-int_api?

rsmanage addattribute --course async-pi-study --attr enable_likert --value true
rsmanage addattribute --course test_py4e-int_api --attr enable_likert --value true

@bnmnetp bnmnetp merged commit c0b6cbe into RunestoneInteractive:main Jun 23, 2026
2 checks passed
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.

3 participants