View
28
Download
0
Category
Tags:
Preview:
DESCRIPTION
Team Difficulty, UI, and NQ. Mi Seon Park Caitlyn Seim David Fleischhauer Charles Ethan Hayes Weiqing Li. Introduction and Motivation. Wanted to make improvements to the system that would make it more useful for students as a learning tool - PowerPoint PPT Presentation
Citation preview
Team Difficulty, UI, and NQ
Team Difficulty, UI, and NQ
Mi Seon Park
Caitlyn Seim
David Fleischhauer
Charles Ethan Hayes
Weiqing Li
2
Introduction and MotivationIntroduction and Motivation
• Wanted to make improvements to the system that would make it more useful for students as a learning tool
• Mined data from previous semester was not being fully utilized
• Improvements could be made to give the students and instructors more information, more options and an overall smarter system
3
ObjectivesObjectives
• Previous system lacked a concise, customizable presentation of question difficulty, skips, etc. for instructor view
• Previous system only presented random questions• Instructors and students could only judge difficulty
based on subjective rating• Using the mined difficulty and the student’s success at
answering questions, the system could be automated to give the student a specific question, not just a random one
4
DifficultyDifficulty
• Compiled data from Fall 2011 semester onward• This data was stored in the MinedData and
MinedDataMC tables
5
DifficultyDifficulty
• From data the key factors for difficulty are extracted:– Average Duration (default 40%)– Average Score (default 25%)– Number of Skips (default 25%)– Average Rating (default 10%)
• The computed difficulty information is then stored in the questions_difficulty table.
6
Questions_DifficultyQuestions_Difficulty
7
Difficulty ImprovementsDifficulty Improvements
• Three ways are used to alternate the difficulty ratings to get a better spread:– Using the tags to select the max and min value– Capping the average skips and duration at one
standard deviation above and below– Capping the average skips and duration at the Nth
percent.
8
Regular Difficulty Regular Difficulty
9
Difficulty 2Difficulty 2
10
Difficulty STDDifficulty STD
11
Difficulty Drop N (N=5%)Difficulty Drop N (N=5%)
12
The Overall Plot of difficulty ordered by the original The Overall Plot of difficulty ordered by the original
13
Tools to analyze the difficulty Tools to analyze the difficulty
• The stat php files that are stored in VIP/Fall2012 directory where there is a stat file for each type of difficulty that fetches the overview of that difficulty category.
• Manually go into the sql database and copy the data into excel and plot.
• The MATLAB file that is stored in the same directory which allows one to plot all the difficulty using either data from each of the chapters or using all the data points.
14
Improvements to UIImprovements to UI
• Add different elements to UI that uses the mined data from previous semester and difficulty calculated this semester.– Upgrade student view to display difficulty information
to the student– Upgrade instructor view to display different
information about the question
15
Improvements to UIImprovements to UI
• Student View:– classes/ITS_screen2.php– classes/ITS_rating.php– css/ITS.css
• Instructor View:– Course.php– classes/ITS_statistics.php– js/ITS_course_jquery.php– ajax/ITS_admin.php
16
Improvements to UIImprovements to UI
17
Improvements to UIImprovements to UI
18
Improvements to UIImprovements to UI
19
Old ITS SystemOld ITS System
Submit
Random Question
Score
Skip
20
Created a new ITS_NQ class to handle the Next Question Selection
21
Sample of a function in ITS_NQFunctions are commented and clean to make additions in the future easier
22
Screen shot of the new proposed ITS system
23
Database EntriesDatabase Entries
• Each button has a unique database entry– Useful for future debugging/datamining
• ITS_NQ operates based off of the button’s database entry for the most recent question
24
Each database event correlates to a case in ITS_NQ
25
Submit Button functionalitySubmit Button functionality
• Regular Submit– User receives a harder or easier question based
on whether their answer was correct (>50%) or incorrect
• User-selected submits/skips– User receives a harder or easier question based
on which type of question they requested
26
Skip Button functionalitySkip Button functionality
• Forward/Back– The system keeps track of which questions you
have seen and will let you go back and forth to previous questions
– A question can only be inserted into the list once, so it must be restarted if you want to “smart skip” through the questions again
• Easier/Harder– User receives a harder or easier question based
on which type of question they requested
27
New ITS System General ViewNew ITS System General View
Score
Skip Easier Skip Harder
Question
Score>50Score<=50
Question
Harder Question
Easier Question
A Submit Button
Submit Easier Submit Harder
Smart Submit
28
DirectionFind last question
BACK Go forward 1 question
FORWARD
Question
Difficulty
Randomize question from array
Get array of all questions that are
easier
Get array of all questions that are
harder
Get array from “Smart Skip”
EASIERHARDER
empty
Question
Skip button functionalities
29
Bucket/Increment SystemBucket/Increment System
CenterSpan
Center=difflast
Span=.25
QueryDiffMin=Center-SpanLDiffMax=Center+Span
H
User receives Question
Result not empty
Result Empty, Min>0 or Max<10
Span=Span+Span
Assignment Finished
Result Empty, Min=0 and Max=10
Submit or skip
30
Array is empty
Array of questions Diff=Center+-span
Restart list (forward/back) to let all of the unanswered questions be available
Output next question
NO
Get last event info
Smart SkipCenter=round(difflast)
Span=.5
Center = round(difflast)+1
Span=.5
Center = round(difflast)-1
Span=.5
Answered question with submit
Score<=50
Answered question with submit
Score>50
Span = span + .5Until) center+-span
=(0,10)
First empty event
Randomize question from array
Yes
YesNO
No eventCenter = 5Span=.5
“Smart” submit and skip functionality
31
ExamplesExamples
• User submits (harder) question with diff=6.2– Next question comes from difficulty range 6.1-
6.45, but this bucket is empty– Bucket expands, question should come from
range 6.0-6.70. Bucket has at least one question, user receives a question
• User smart submits a matching question (2 of 5 correct) with diff=4.8– Next question comes from range 4.55-4.90
32
Automating Question SelectionAutomating Question Selection
• Using the mined difficulty and the student’s success at answering questions, the system is automated to give the student a custom-selected question, not just a random one
• Created 2 schemes:– Scheme of One– History Scheme
33
Groundwork:New Variables in Screen2.phpGroundwork:New Variables in Screen2.php
$last_id= query("SELECT question_id FROM stats_' . $this->id . ' ORDER BY id DESC LIMIT 1;");
- id is an auto-increment index of questions taken- DESC makes the last in on top- LIMIT 1 gives that value
$last_dif=query("SELECT difficulty FROM questions_difficulty WHERE q_id = $last_id;");
$last_event = query("SELECT score FROM stats_' . $this->id . ' WHERE question_id = $last_id;"); -NULL for skips
34
Scheme of OneGetting the next questionScheme of OneGetting the next question
• For any Null scores (skips)– Default to 0
• Changed from default query to 2 query statements depending on conditionals (if’s):• if they scored >=50%
on the last answered question (this accounts for Matching types etc.)
• if they scored <50% on the last question
If (is_null($last_event)){$last_event=”0”;
}
35
Scheme of One Running out of Acceptable QuestionsScheme of One Running out of Acceptable Questions
• When user has answered all questions in the desired difficulty range• Query is made again without difficulty restrictions• Could have future applications with query in
broader difficulty range (but History Scheme is more complex)
36
37
38
Scheme of One ExpandingScheme of One Expanding
• Expanded the queried history for the user• To include history of past three answers• This requires that at least 3 entries be in the
database• Future work may work around this DB
requirement• And grow to use a scheme of many past answers
39
Scheme of One and History SchemeLogical FlowScheme of One and History SchemeLogical Flow
The student’s last score: any skip>=50% or <50%
Harder Easier or the same
Next question is:
The student’s last 3 scores were NULL, NULL, NULL (all skips): Yes No
Harder
The average of the last 3 scores: >=50% <50%
The average of the last 2 scores: >=50% <50%
Last diff. -1/+2 Easier
40
History Scheme:CasesHistory Scheme:Cases
• NULL, NULL, NULL—When there are three skips (any kind) in a row—This prevents skipping until a suitably easy question
appears—Also alright if the user is skipping harder, this will give
harder• Average of 3 is >=50
• Doing well• Harder questions will challenge the student
• Average of 3 is <50• Consider average of most recent questions
41
History Scheme:CasesHistory Scheme:Cases
• Average of 2 is >=50— Improving—Questions are harder, but not too hard (-1/+2
range)—Could be implemented as if (Average of most
recent 2 > Average of 3 ~or~ Average of earliest 2)• Average of 2 is <50
• Not improving• Not only skipping, also trying• Easier questions will help the student
42
Final ResultsFinal Results
• General UI improvements for Instructor view• A variety of difficulty scores for existing questions and
the ability to dynamically update difficulties• Next Question selection was automated using scripts
based upon difficulty values and student answers• Next Question selection can be automated or user-
selected• The NQ algorithms and NQ/skip buttons enable a more
intelligent tutoring system
43
Future WorkFuture Work
• More complex selection algorithms can be developed and tested based on a longer history of student usage
• Student rating/grading can be implemented based on patterns of use
• A practical plan can be put in place to limit repetitive skipping/misuse of the NQ buttons and selection
• More advancements can be made to the UI to display information better for the students and professor
• Weighting the score of the questions based on their difficulty
• More complex algorithm/testing more percentage choices to get the best difficulty spread.
44
Bonus MaterialBonus Material
45
Groundwork:New Variables in Screen2.phpGroundwork:New Variables in Screen2.php
• Tested variable assignment queries – All returned results of one value– Values were correct (desired table location was
read)– NOTE: calls currently use difficulty field in
questions_difficulty
46
GroundworkVariable Assignments in _screen2GroundworkVariable Assignments in _screen2
• Revised assignment statements to be the following:
47
Groundwork$last_event fix for multiple entriesGroundwork$last_event fix for multiple entries
$last_event = & $mdb2->query("SELECT score FROM stats_' . $this->id . ' WHERE question_id = $last_id;");
$last_event =& $mdb2->query('SELECT score FROM stats_' . $this->id . ' ORDER BY id DESC LIMIT 1;');
• Score variable was revised to return the most recent incidence of that question in the user’s table (rather than NULL for any times skipped before answering)
48
Scheme of One Question SelectionScheme of One Question Selection
• When correct (>=50%)– Makes sure that the eligible questions
for the next question are only of greater or equal difficulty.
• When last question answered was incorrect- Eligible next questions are only of lesser difficulty.
49
Scheme of One Other StepsScheme of One Other Steps
• Compared and cleaned queries
• Set to display query for demos and testing
• Discovered occurrence of running out of <harder/easier> questions
50
Scheme of One ExpandingScheme of One Expanding
• Expanded the queried history for the user• To include history
of past three answers
• This requires that at least 3 entries be in the database
• Future work may work around this DB requirement
• And grow to use a scheme of many past answers
Recommended