50
Team Difficulty, UI, and NQ Mi Seon Park Caitlyn Seim David Fleischhauer Charles Ethan Hayes Weiqing Li

Team Difficulty, UI, and NQ

  • Upload
    zalman

  • View
    28

  • Download
    0

Embed Size (px)

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

Page 1: Team Difficulty,  UI, and NQ

Team Difficulty, UI, and NQ

Team Difficulty, UI, and NQ

Mi Seon Park

Caitlyn Seim

David Fleischhauer

Charles Ethan Hayes

Weiqing Li

Page 2: Team Difficulty,  UI, and NQ

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

Page 3: Team Difficulty,  UI, and NQ

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

Page 4: Team Difficulty,  UI, and NQ

4

DifficultyDifficulty

• Compiled data from Fall 2011 semester onward• This data was stored in the MinedData and

MinedDataMC tables

Page 5: Team Difficulty,  UI, and NQ

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.

Page 6: Team Difficulty,  UI, and NQ

6

Questions_DifficultyQuestions_Difficulty

Page 7: Team Difficulty,  UI, and NQ

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.

Page 8: Team Difficulty,  UI, and NQ

8

Regular Difficulty Regular Difficulty

Page 9: Team Difficulty,  UI, and NQ

9

Difficulty 2Difficulty 2

Page 10: Team Difficulty,  UI, and NQ

10

Difficulty STDDifficulty STD

Page 11: Team Difficulty,  UI, and NQ

11

Difficulty Drop N (N=5%)Difficulty Drop N (N=5%)

Page 12: Team Difficulty,  UI, and NQ

12

The Overall Plot of difficulty ordered by the original The Overall Plot of difficulty ordered by the original

Page 13: Team Difficulty,  UI, and NQ

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.

Page 14: Team Difficulty,  UI, and NQ

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

Page 15: Team Difficulty,  UI, and NQ

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

Page 16: Team Difficulty,  UI, and NQ

16

Improvements to UIImprovements to UI

Page 17: Team Difficulty,  UI, and NQ

17

Improvements to UIImprovements to UI

Page 18: Team Difficulty,  UI, and NQ

18

Improvements to UIImprovements to UI

Page 19: Team Difficulty,  UI, and NQ

19

Old ITS SystemOld ITS System

Submit

Random Question

Score

Skip

Page 20: Team Difficulty,  UI, and NQ

20

Created a new ITS_NQ class to handle the Next Question Selection

Page 21: Team Difficulty,  UI, and NQ

21

Sample of a function in ITS_NQFunctions are commented and clean to make additions in the future easier

Page 22: Team Difficulty,  UI, and NQ

22

Screen shot of the new proposed ITS system

Page 23: Team Difficulty,  UI, and NQ

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

Page 24: Team Difficulty,  UI, and NQ

24

Each database event correlates to a case in ITS_NQ

Page 25: Team Difficulty,  UI, and 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

Page 26: Team Difficulty,  UI, and NQ

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

Page 27: Team Difficulty,  UI, and NQ

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

Page 28: Team Difficulty,  UI, and NQ

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

Page 29: Team Difficulty,  UI, and NQ

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

Page 30: Team Difficulty,  UI, and NQ

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

Page 31: Team Difficulty,  UI, and NQ

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

Page 32: Team Difficulty,  UI, and NQ

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

Page 33: Team Difficulty,  UI, and NQ

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

Page 34: Team Difficulty,  UI, and NQ

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”;

}

Page 35: Team Difficulty,  UI, and NQ

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)

Page 36: Team Difficulty,  UI, and NQ

36

Page 37: Team Difficulty,  UI, and NQ

37

Page 38: Team Difficulty,  UI, and NQ

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

Page 39: Team Difficulty,  UI, and NQ

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

Page 40: Team Difficulty,  UI, and NQ

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

Page 41: Team Difficulty,  UI, and NQ

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

Page 42: Team Difficulty,  UI, and NQ

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

Page 43: Team Difficulty,  UI, and NQ

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.

Page 44: Team Difficulty,  UI, and NQ

44

Bonus MaterialBonus Material

Page 45: Team Difficulty,  UI, and NQ

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

Page 46: Team Difficulty,  UI, and NQ

46

GroundworkVariable Assignments in _screen2GroundworkVariable Assignments in _screen2

• Revised assignment statements to be the following:

Page 47: Team Difficulty,  UI, and NQ

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)

Page 48: Team Difficulty,  UI, and NQ

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.

Page 49: Team Difficulty,  UI, and NQ

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

Page 50: Team Difficulty,  UI, and NQ

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