Student-side LMS & MOOC logistics
Submit work, track deadlines and grades, and enroll in courses.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
Previous class address: R12.10.01.01 · Original proposal IDs are retained.
- Typical applications
- Canvas · Moodle · Coursera
- Class GUI-need label
G2· GUI-essential
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R12.10.01.01-T01 Submit an essay file and online text to a Moodle assignment
Original instruction
On the sandbox Moodle site as student 'stu_kim', open course HIST210 > 'Essay 1: Industrial Cities'. Upload input/essay1_final.pdf, paste the 150-word abstract from input/abstract.txt into the online-text box, tick the academic-integrity statement and press 'Submit assignment' so the status becomes 'Submitted for grading'.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Moodle DB: assign_submission status 'submitted' for stu_kim; files table has essay1_final.pdf with matching SHA-256; onlinetext equals abstract.txt after whitespace normalisation. Web-service tokens are disabled for students, so the upload must go through the UI.
Proposed partial credit
40% file uploaded (hash match); 30% online text exact; 30% final status submitted
R12.10.01.01-T02 Export upcoming Canvas due dates to a calendar file
Original instruction
As student 'ana.r' on the sandbox Canvas instance (4 enrolled courses), find every assignment, quiz and discussion due in the next 14 days (relative to the frozen date 2026-10-14). Export them from the Canvas calendar feed into ~/Downloads/due_14d.ics and import that file into the macOS Calendar as a new calendar 'Coursework'.
- Platforms
mac· macOS- Applications
- Canvas · Calendar
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickmulti· Cross-appnav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
multiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Calendar store (Calendar.sqlitedb) must contain calendar 'Coursework' whose events equal the ground-truth set of 14-day items (title, due time ±1 min). Items outside the window or from dropped courses count as false positives. Canvas access-token creation is disabled for students, and osascript Automation access to Calendar is denied, so the calendar must be made in the app.
Proposed partial credit
30% ICS obtained from Canvas; 20% calendar 'Coursework' created; 50% event set F1
R12.10.01.01-T03 Self-enrol in a Moodle course and set forum digest preferences
Original instruction
On the sandbox Moodle site as 'stu_kim', find course 'BIO101 Cell Biology' in the course catalogue, self-enrol using enrolment key 'leaf42', then set forum preferences so 'Announcements' sends a daily digest and all other forums send no email.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 1 / 5
Proposed verifier
Moodle DB: user_enrolments row for BIO101 via self enrolment; forum_digests has value 1 for Announcements; forum_subscriptions removed or digest none for the other 3 forums. Web services (incl. the mobile-app service) are disabled for students, so no token exists and changes must come from the browser session.
Proposed partial credit
50% enrolled; 25% announcements digest; 25% other forums silenced
R12.10.01.01-T04 Use Canvas What-If grades to find the final-exam score needed for a B+
Original instruction
As student 'ana.r' in Canvas course STAT200 (weighted groups: homework 20%, labs 15%, midterm 25%, final 40%; lowest homework dropped), use the Grades page's What-If score feature to find the minimum final-exam score (0-100, whole points) that gives a course total ≥ 87.0%. Report it in answer.txt and revert all What-If scores.
- Platforms
web· Any OS (web)- Applications
- Canvas
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
answer.txt compared with the value computed by Canvas's grade calculator on the seeded gradebook (exact integer). Student What-If state in the DB must be cleared afterwards. Two homework scores are excused, which changes the drop rule; that is the trap. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
60% correct minimum score; 20% excused items handled (value matches); 20% What-If scores reverted
R12.10.01.01-T05 Reply in a Moodle forum thread with an attached screenshot
Original instruction
In Moodle course CS101 > forum 'Week 2 Q&A', reply to the thread 'Segfault in lab2' (not a new discussion) with the text from input/reply.txt and attach input/gdb_backtrace.png. Subscribe to that discussion only.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Moodle DB: forum_posts row whose parent is the first post of 'Segfault in lab2', message equals reply.txt, attachment hash matches; forum_discussion_subs has that discussion only. Web services (incl. the mobile-app service) are disabled for students, so no token exists and posts must come from the browser session.
Proposed partial credit
40% reply in correct thread; 30% attachment; 30% discussion subscription
R12.10.01.01-T06 Download all week-3 course materials into an organised folder
Original instruction
From Moodle course ECON110 section 'Week 3', download every resource into ~/course/ECON110/w3: the 4 PDF files, the contents of the 'Readings' folder resource (as files, not a zip), and the 'Elasticity notes' Page resource saved as PDF. Use the course's original filenames; save the Page as elasticity_notes.pdf.
- Platforms
mac· macOSwin· Windows- Applications
- Moodle · Finder · File Explorer
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickmulti· Cross-app- Work product
WP09· Files & folders- Conditions
multiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Directory listing must equal the expected filename set; PDF/file hashes equal Moodle's stored files; elasticity_notes.pdf text (pdftotext) contains the page's 3 headings. Zip archives left unextracted fail the folder check. Moodle web services (incl. the mobile-app service) are disabled for students, so no token-based download route exists.
Proposed partial credit
40% 4 PDFs; 35% folder contents extracted; 25% page saved as PDF
R12.10.01.01-T07 Complete an ungraded practice quiz with drag-and-drop questions
Original instruction
In Moodle course GEO120, attempt the ungraded 'Practice: Plate Boundaries' quiz (unlimited attempts, no grade). It has drag-and-drop-onto-image and ordering questions. Using the course notes in input/plates_notes.pdf, answer all 8 questions and submit the attempt; aim for 8/8.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropvis· Visual judgmentclick· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
quiz_attempts row finished; question_attempt_steps give per-question fraction. Drag-and-drop answers can only be produced through the question UI: Moodle web services and the mobile-app service are disabled for students, so no token is issued. The quiz is ungraded practice, so completing it does not breach integrity rules.
Proposed partial credit
50% questions 1-4 (scaled by fraction earned); 50% questions 5-8 (scaled by fraction earned)
R12.10.01.01-T08 Join the right self-signup lab group in Canvas
Original instruction
In Canvas course CHEM101, the 'Lab Groups' set allows self-signup with max 4 members. Join the group that (a) still has space, (b) meets on Thursday per its description, and (c) contains your lab partner 'Jordan Lee'. If you are already in another group, leave it first.
- Platforms
web· Any OS (web)- Applications
- Canvas
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scroll- Work product
WP08· App/system state- Conditions
hidden· Hidden/stale state- Proposed difficulty
- 3 / 5
Proposed verifier
Canvas DB group_memberships: student in exactly one group of the set, equal to the ground-truth group. The student starts in a different group (hidden on the People page), so leaving first is required. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
30% left old group; 70% joined the correct group
R12.10.01.01-T09 Complete two assigned Canvas peer reviews with a rubric
Original instruction
In Canvas course ENG102, you have two peer reviews for 'Argument Essay'. For each, open the classmate's submission, fill in the 4-criterion rubric with the ratings given in input/review_key.json, add an inline comment on the thesis sentence via DocViewer, and leave the summary comment from the key.
- Platforms
web· Any OS (web)- Applications
- Canvas
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsgeom· Precise geometry- Work product
WP10· Annotations- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Canvas DB: rubric_assessments for both assessor-asset pairs with ratings equal to the key; submission_comments with key text; DocViewer annotation anchored within the thesis sentence's text range (ground-truth char span). Peer reviews marked complete. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
40% rubric ratings; 30% inline annotations anchored correctly; 30% summary comments and completion
R12.10.01.01-T10 Enrol in an Open edX course on the free audit track
Original instruction
On the sandbox Open edX site (Coursera-style MOOC), enrol in 'Intro to Data Visualization' using the free audit track, not the paid verified track, then set a weekly learning goal of 3 days and turn on goal reminders. Do not enter any payment details.
- Platforms
web· Any OS (web)- Applications
- Open edX · Coursera
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & click- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 2 / 5
Proposed verifier
LMS DB: course_enrollment mode = 'audit' and is_active; course_goals row with days_per_week = 3 and subscribed_to_reminders = true. Any ecommerce basket or payment-page submission scores 0. No OAuth client or JWT is issued to the learner, and enrolment calls need the browser session's CSRF token; direct API calls are rejected and logged.
Proposed partial credit
60% audit enrolment (0 if verified/paid); 40% goal and reminders
R12.10.01.01-T11 Configure Canvas notification preferences per category
Original instruction
As Canvas student 'ana.r', set notification preferences for email: Due Date = weekly, Grading = immediately, Announcement = immediately, Discussion = never, Conversation Message = daily. Then override for course PHYS150 only: Announcement = never.
- Platforms
web· Any OS (web)- Applications
- Canvas
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Canvas DB notification_policies for the email channel equal the target frequencies; notification_policy_overrides for PHYS150 sets Announcement never; no other overrides. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
60% five global frequencies (scaled per category); 40% course override
R12.10.01.01-T12 Replace a stale draft file in a resubmittable Moodle assignment
Original instruction
In Moodle course PSY200 > 'Lab Report 2', your draft currently contains labreport_v1.docx and an old figures.zip. Remove both, upload input/labreport_v2.pdf and input/figures_v2.zip, edit the submission comment to 'Final version, figures updated', and submit for grading before the cut-off.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickdrag· Drag & droptype· Text & forms- Work product
WP08· App/system state- Conditions
hidden· Hidden/stale state- Proposed difficulty
- 3 / 5
Proposed verifier
assign_submission status 'submitted'; files area contains exactly labreport_v2.pdf and figures_v2.zip (hash match) and nothing else; submission comment text exact. Moodle web services (incl. the mobile-app service) are disabled for students, so no token exists and the submission must come from the browser session.
Proposed partial credit
30% old files removed; 40% new files exact; 15% comment; 15% submitted
R12.10.01.01-T13 Ask which version to submit when two candidate files exist
Original instruction
The user says: 'Submit my lab report for BIO101 Lab 4.' ~/Documents/BIO101 contains lab4_report.docx (edited 2026-10-12) and lab4_report_FINAL_v2.docx (edited 2026-10-10), and the assignment accepts one file. Open the assignment, then ask the user which file to submit instead of guessing; after the simulated reply 'the FINAL_v2 one', submit it.
- Platforms
mac· macOSwin· Windows- Applications
- Moodle
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickmulti· Cross-app- Work product
WP08· App/system state- Conditions
clarify· Ask when unclear- Proposed difficulty
- 3 / 5
Proposed verifier
Trajectory must contain an ask_user event before any file upload; an upload before asking scores 0 on that milestone. Final submission must contain only lab4_report_FINAL_v2.docx (hash) with status submitted. Moodle web services (incl. the mobile-app service) are disabled for students, so the upload must come from the browser session.
Proposed partial credit
50% asked before uploading; 50% correct file submitted
R12.10.01.01-T14 Audit Canvas grades against a personal record and message the instructor
Original instruction
Compare your Canvas grades in MATH221 with the personal tracker input/my_scores.xlsx (scores from returned papers). Find every assignment where the Canvas score differs. For each discrepancy, send one Canvas Inbox message to instructor 'Dr. Osei' listing assignment name, Canvas score and paper score. Do not message about matching items.
- Platforms
mac· macOSwin· Windows- Applications
- Canvas · Excel
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
multi· Cross-apptype· Text & formsclick· Point & click- Work product
WP08· App/system state- Conditions
multiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
Canvas conversations: messages to Dr. Osei must cover exactly the 2 seeded discrepancies (names and both scores parsed by regex). One discrepancy is hidden because a late penalty was applied; it still counts since the displayed score differs. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
50% discrepancies found (half per item); 30% message content correct; 20% no false reports
R12.10.01.01-T15 Submit a photographed worksheet from the Canvas Student Android app
Original instruction
On the Android emulator with the Canvas Student app signed in to the sandbox, submit the photo worksheet_p1.jpg (already in the gallery) to MATH090 > 'Worksheet 5' as a file upload, add the comment 'Page 1 only, page 2 tomorrow', and confirm the submission.
- Platforms
and· Android- Applications
- Canvas
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G3· GUI-only- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Canvas DB: submission for Worksheet 5 with attachment hash equal to worksheet_p1.jpg and submission comment text exact; submitted from the mobile client (user agent logged). Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable outside the app's own session.
Proposed partial credit
60% file submitted (hash); 40% comment exact
R12.10.01.01-T16 Book a Moodle scheduler slot that avoids timetable clashes
Original instruction
In Moodle course CS330, the 'Project check-in' scheduler lists 30-minute slots across next week. Your timetable is in input/timetable.ics and a part-time shift is in input/work_shift.png. Book the earliest slot that clashes with neither and has at least 15 minutes gap after any class. Add the slot note 'Team 7'.
- Platforms
web· Any OS (web)- Applications
- Moodle
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmentmulti· Cross-app- Work product
WP08· App/system state- Conditions
personal· Personal context- Proposed difficulty
- 4 / 5
Proposed verifier
scheduler_appointment row: slot equals the ground-truth earliest valid slot, note text exact. Exactly one booking for the student. The shift is only in an image, so the constraint must be read visually. Moodle web services (incl. the mobile-app service) are disabled for students, so the booking must come from the browser session.
Proposed partial credit
30% one booking; 50% correct slot; 20% note
R12.10.01.01-T17 Choose and audit-enrol three MOOCs that fit a certificate plan
Original instruction
On the sandbox Open edX catalogue, a 'Data Analyst' certificate requires one course from each of three topic groups (SQL, statistics, visualization). Using input/availability.txt (8 weeks starting 2026-11-02, at most 6 h/week total), choose one course per group whose run dates and weekly effort fit together, and audit-enrol in exactly those three.
- Platforms
web· Any OS (web)- Applications
- Open edX · Coursera
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrolltype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
course_enrollment rows: exactly three audit enrolments, one per group, and the set must satisfy the constraints (run dates inside the window, summed weekly effort ≤ 6 h). Any feasible set passes; the checker evaluates constraints, not a fixed answer. No OAuth client or JWT is issued to the learner; enrolment calls need the browser session's CSRF token.
Proposed partial credit
30% one course per group; 40% constraints satisfied; 30% audit mode, exactly 3 enrolments
R12.10.01.01-T18 Build a 30-day deadline list across four Moodle courses
Original instruction
As 'stu_kim', produce deadlines.csv (course, item, type, due_local) for every assignment, quiz and workshop due in the next 30 days across all four enrolled Moodle courses. Show times in the user's profile timezone (Europe/Berlin), not the server timezone. Some sections are collapsed and one course hides upcoming items in a restricted section you can access.
- Platforms
mac· macOSwin· Windows- Applications
- Moodle · Excel
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
nav· Pan/zoom/scrollclick· Point & clickmulti· Cross-app- Work product
WP02· Records/table- Conditions
hidden· Hidden/stale statemultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
deadlines.csv rows compared to ground truth from the Moodle DB (item set F1; due_local exact to the minute in Europe/Berlin). Server timezone is UTC, so copying raw DB-style times fails the time check. Moodle web services (incl. the mobile-app service) are disabled for students, so no token exists to pull the calendar by API.
Proposed partial credit
50% item-set F1; 35% correct local due times; 15% correct type labels
R12.10.01.01-T19 Set up a Canvas group workspace for a project team
Original instruction
In Canvas course BUS300, your project group 'Team Atlas' has a group space. Create a group page 'Project Plan' with the content of input/plan.md (headings and a 4-row table), upload input/charter.pdf to the group Files in a folder 'Admin', and start a group discussion 'Weekly sync' with the text from input/sync.txt.
- Platforms
web· Any OS (web)- Applications
- Canvas
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & clickdrag· Drag & drop- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Canvas DB for group context: wiki page 'Project Plan' whose HTML has the 3 headings and a 4-row table with matching cells; attachment charter.pdf in folder Admin (hash); discussion topic with exact title and body. Access-token creation is disabled for students and no developer key exists, so the REST API is unavailable.
Proposed partial credit
40% page structure and content; 30% file in folder; 30% discussion
R12.10.01.01-T20 Archive a full term's submissions and feedback across Canvas and Moodle
Original instruction
At term end, archive your work from 3 Canvas courses and 2 Moodle courses into ~/Archive/2026-Fall/<course_code>/: every file you submitted (latest attempt), every annotated feedback file or rubric PDF the instructors returned, and a grades.csv per course with item, score and max. Skip items with no submission.
- Platforms
mac· macOSwin· Windows- Applications
- Canvas · Moodle · Finder · File Explorer
- Interfaces
brow· Browserdesk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicknav· Pan/zoom/scrollmulti· Cross-app- Work product
WP09· Files & folders- Conditions
long· Long-horizonmultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
Per course: submitted-file hashes equal the latest attempts in the LMS DBs; feedback files present (hash); grades.csv rows equal the gradebook (exact scores). Earlier attempts included count as errors. Student API tokens are disabled on both sites.
Proposed partial credit
40% submissions (latest only); 30% feedback files; 30% grades.csv accuracy, scaled per course
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.