|
|
|
@ -4,22 +4,22 @@ |
|
|
|
|
Generate exercises based on wiki content and its structure |
|
|
|
|
|
|
|
|
|
exercises idea to implement (cf http://fabien.benetou.fr/Cookbook/Cognition#DailyExercisesFeed ) |
|
|
|
|
random type is not implemented properly enough for score tracking |
|
|
|
|
e.g. highest score from random appear as other exercise |
|
|
|
|
after 1 random exercise, going back to the same type of the last picked exercise |
|
|
|
|
which of those group corresponds the graph visualization V, A, B or C? |
|
|
|
|
using groupnetworkvisualization.php |
|
|
|
|
what is the correct order for pages A, B and C on descending criteria i A>B>C? A>C>B? B>C>A? B>A>C? C>B>A? C>A>B? |
|
|
|
|
e.g. size, frequency update, last edition, ... |
|
|
|
|
what is the color hashing used in RevertedPIM for this group, color A, B or C? |
|
|
|
|
might require JS |
|
|
|
|
keyword or URL in pages |
|
|
|
|
definition of word and vice versa |
|
|
|
|
limited to pages with definitions (e.g. some languages) |
|
|
|
|
list lines with "* word = definition" |
|
|
|
|
split word and definition |
|
|
|
|
pick one and display the other with alternatives |
|
|
|
|
extend type=pagehasexpression |
|
|
|
|
keyword or URL in pages or specific "word" per type |
|
|
|
|
which of those update visualizations VA, VB or VC corresponds the page P ? (invert of type=historyvisualization) |
|
|
|
|
note that overall most exercise which is about assign a set to another have a mirror |
|
|
|
|
this mirror might have a completely different difficulty though |
|
|
|
|
difficulty parameter |
|
|
|
|
should be linked to the counter |
|
|
|
|
e.g. increasing the number of possibilities (at least 1 out of 5 pages instead of at least 1 out of 3) |
|
|
|
@ -28,16 +28,30 @@ do a graph traversal rather than random jumps |
|
|
|
|
i.e. if pick randomly from the linked pages or from the group or from the the whole wiki of the previous page |
|
|
|
|
consider https://research.cc.gatech.edu/inc/game-forge |
|
|
|
|
improve parsing |
|
|
|
|
discard more pages |
|
|
|
|
structuring e.g. PmWiki. , RecentChanges, GroupFooter, GroupHeader, Template, ... |
|
|
|
|
page with just one line, especially markups, typically redirections |
|
|
|
|
filters |
|
|
|
|
structuring e.g. PmWiki. , RecentChanges, GroupFooter, GroupHeader, Template, ... |
|
|
|
|
strictly limited to "new" pages (e.g. less than a month ago) |
|
|
|
|
strictly limited to "old" pages (e.g. more than 2 years ago) |
|
|
|
|
support bias |
|
|
|
|
X% of page from an existing filter |
|
|
|
|
e.g. 80% of "new" pages |
|
|
|
|
support other interfaces |
|
|
|
|
e.g. http://www.cs.cmu.edu/~listen/ listed in Content/Education#SeeAlso |
|
|
|
|
e.g. http://www.cs.cmu.edu/~listen/ listed in http://fabien.benetou.fr/Content/Education#SeeAlso |
|
|
|
|
ideally also more visual, animated, ... |
|
|
|
|
Vimperator with predictable link numbers to go faster |
|
|
|
|
track time require for answering each question |
|
|
|
|
display a clock |
|
|
|
|
could improve excitment, e.g. answer the maximum number of questions correctly in X minutes |
|
|
|
|
|
|
|
|
|
better manage the whole process |
|
|
|
|
random type is not implemented properly enough for score tracking |
|
|
|
|
e.g. highest score from random appear as other exercise |
|
|
|
|
random type happens just once, not as a sequence like the other types |
|
|
|
|
mix types |
|
|
|
|
support non equally divided session |
|
|
|
|
e.g. 50% of exercice type A, 30% type B, 10% C and 10% D |
|
|
|
|
dynamically divise based on score history |
|
|
|
|
e.g. 40% of exercice type B with the lowest high score, 30% D with 2nd lowest high score, 20% A with difficulty increase, 10% C diff++ |
|
|
|
|
|
|
|
|
|
implemented |
|
|
|
|
is word X from page A, B, C or D? (type=expressioninpage) |
|
|
|
@ -64,6 +78,7 @@ function Exercises($pagename, $auth){ |
|
|
|
|
$availableexercisetypes[] = "historyvisualization"; |
|
|
|
|
|
|
|
|
|
if ($type=="random" || $type=="") { |
|
|
|
|
// XXX after 1 random exercise, going back to the same type of the last picked exercise |
|
|
|
|
$type= $availableexercisetypes[array_rand($availableexercisetypes)]; |
|
|
|
|
$random=true; |
|
|
|
|
} |
|
|
|
@ -439,7 +454,7 @@ function ExercisesResults(){ |
|
|
|
|
// could instead filter by exercise and sort by highest score, listing the top3 score per per exercise |
|
|
|
|
$past_scores .= "<table><tr>"; |
|
|
|
|
foreach ($availableexercisetypes as $exercisetype){ |
|
|
|
|
$past_scores .= "<td><a href=\"AllPages/AllPages?action=Exercises&type=$exercisetype\">$exercisetype</a></td>"; |
|
|
|
|
$past_scores .= "<td><a href=\"n=AllPages.AllPages&action=Exercises&type=$exercisetype\">$exercisetype</a></td>"; |
|
|
|
|
} |
|
|
|
|
$past_scores .= "</tr><tr>"; |
|
|
|
|
foreach ($availableexercisetypes as $exercisetype){ |
|
|
|
|