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

Feature request: allow return to PLACEMENT mode to escape misunderestimated level #84

Open
JackMostow opened this issue Dec 29, 2021 · 3 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@JackMostow
Copy link
Contributor

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Accidental misplacement at low level due to noisy environment

Describe the solution you'd like
A clear and concise description of what you want to happen.
Return to PLACEMENT mode -- when?

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Add "I want something harder" to activity picker:

a. Always
+: simplest
-: unmerited
-: clutters menu

b. After scoring 100% correct on any activity <-- DO THIS
+: reward

c. After acing hardest or final activity in a level
-: makes misplaced kids wait too long

Approach to be followed (optional)
A clear and concise description of approach to be followed.

Additional context
Add any other context or screenshots about the feature request here.

@JackMostow JackMostow added enhancement New feature or request help wanted Extra attention is needed labels Dec 29, 2021
@JackMostow JackMostow changed the title Feature request Feature request: allow return to PLACEMENT mode to escape misunderestimated level Dec 29, 2021
@JackMostow
Copy link
Contributor Author

Re-PLACEMENT: Anjali,
When to offer escape to PLACEMENT mode?
What option(s) should it replace?
How to phrase it? (see “too easy, I want something harder”)
How should it be represented visually? (upward diagonal arrow didn’t work in self-assessment version years ago)
– and why (or why not)?
– what if any questions are worth asking our Swahili-speaking partners or even trying
By prototyping as screenshot
By implementing in RoboTutor (much costlier)

@JackMostow
Copy link
Contributor Author

JackMostow commented Apr 30, 2023

What to keep/change in https://github.com/RoboTutorLLC/RoboTutor_2020/blob/development/app/src/main/assets/tutors/activity_selector/animator_graph.json:

"INPUT_HESITATION_FEEDBACK":
"method": "postEvent", "parms": "RIPPLE_DESCRIBE:String": keep; device sequence of options in Java

"BUTTON_DESCRIPTION":
"parms": "POINT_AT_BUTTON:String|{{activity_selector.buttonid}}:String": keep; just define its activity_selector.buttonid in Java
"soundsource": "{{activity_selector.helpAudio}}.mp3": keep; just define "too easy; I want something harder" in the Java component

NOTE: helpAudio describes what will happen if tap menu item to choose it;
promptAudio acknowledges the choice

"method": "postNamed", "parms": "DESCRIBE_NEXT:String|DESCRIBE_NEXT:String|800:Long": [ ] does this go to next button?

"BUTTON_BEHAVIOR":
"soundsource": "{{activity_selector.promptAudio}}.mp3": keep; just define "something harder" in the Java component
"parms": "BUTTON_EVENT:String|{{activity_selector.buttonBehavior}}:String": keep; just define its buttonBehavior in Java

"INIT_MODULE":
"method": "setTutorSelectLayout": keep; make Java pick "Do it again" vs. "Too easy" icon
"method": "setDebugLayout": keep; [ ] check if still used and if so what if anything to change

@JackMostow
Copy link
Contributor Author

JackMostow commented Apr 30, 2023

What to keep/change in Java

app/src/main/java/cmu/xprize/robotutor/tutorengine/widgets/core/TActivitySelector.java:
ll. 300ff:
if (menu instanceof StudentChooseMatrixActivityMenu) {
SaskActivity.initializeButtonsAndSetButtonImages(layoutName, _activeLayout, null);
} else if (menu instanceof CycleMatrixActivityMenu) {
SaskActivity.initializeButtonsAndSetButtonImages(layoutName, _activeLayout, nextTutors);

[app/src/main/java/cmu/xprize/robotutor/tutorengine/util/StudentChooseMatrixActivityMenu.java]
and
[app/src/main/java/cmu/xprize/robotutor/tutorengine/util/CycleMatrixActivityMenu.java]

activeLayout.items[3].behavior = AS_CONST.SELECT_REPEAT;

76 | activeLayout.items[3].prompt = "lets do it again";
77 | activeLayout.items[3].help = "lets do it again";

146 activeLayout.items[2].behavior = AS_CONST.SELECT_REPEAT;
147 activeLayout.items[2].prompt = "lets do it again";
148 activeLayout.items[2].help = "lets do it again";
-- 76 | activeLayout.items[3].prompt = "lets do it again"; 77 | activeLayout.items[3].help = "lets do it again";

behavior = AS_CONST.SELECT_HARDER
prompt = "That was too easy. I want something harder."
help = "something harder"

comp_session/src/main/java/cmu/xprize/comp_session/AS_CONST.java

public static final String SELECT_MAKE_HARDER = "SELECT_MAKE_HARDER"; // get rid of me

app/src/main/java/cmu/xprize/robotutor/tutorengine/util/PerformanceData.java:

        case AS_CONST.SELECT_MAKE_HARDER:
            selfAssessment = StudentSelfAssessment.TOO_EASY;
            break;

app/src/main/java/cmu/xprize/robotutor/tutorengine/util/SelfAssessmentPromotionRules.java:
public PromotionDecision assessPerformance(PerformanceData performance) {
... case TOO_EASY:
return PromotionDecision.DOUBLE_NEXT;

NOTE:
0. Leave obsolete SelfAssessment logic as is, but borrow and adapt relevant components

  1. Define constants like TOO_EASY and SELECT_MAKE_HARDER with different names, e.g. WANT_HARDER, RESUME_PLACEMENT
  2. Whether Cycle_matrix or Choose_matrix --> stay in same matrix, switch to placement mode, jump to the position it picks, and start that activity, because activity menu should always launch an activity unless "stop using RoboTutor"
  3. What if already in placement mode?
    a. Apply the same logic anyway
    b. Apply this logic only if in promotion mode, i.e. keep Do it again if in placement mode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants