diff --git a/pmwiki_recipes/exercises.php b/pmwiki_recipes/exercises.php index 9ec4af7..ea7a2d2 100644 --- a/pmwiki_recipes/exercises.php +++ b/pmwiki_recipes/exercises.php @@ -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 + 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 .= ""; foreach ($availableexercisetypes as $exercisetype){ - $past_scores .= ""; + $past_scores .= ""; } $past_scores .= ""; foreach ($availableexercisetypes as $exercisetype){
$exercisetype$exercisetype