From: Siddharth K. <sid...@gm...> - 2011-04-27 13:01:32
|
Hi everyone, My project proposal on "Personalized, adaptive game-play to improve learning in Tuxmath" has been accepted in GSoC (link<http://www.google-melange.com/gsoc/project/google/gsoc2011/sidi/14001>). Bart Massey from PSU will be my mentor who would be helping me in the design of the Bayesian network for knowledge representation and making inferences based on it. I look forward to the Tuxmath community members to have discussions regarding the implementation details, and some occasional code-related help. I will start exploring the code-base in about a week once my semester exams are over. Thanks, Siddharth |
From: David B. <dav...@gm...> - 2011-04-27 13:20:19
|
Hi Siddarth, On Wed, Apr 27, 2011 at 1:01 PM, Siddharth Kothari <sid...@gm...> wrote: > Hi everyone, > > My project proposal on "Personalized, adaptive game-play to improve learning > in Tuxmath" has been accepted in GSoC (link). Bart Massey from PSU will be > my mentor who would be helping me in the design of the Bayesian network for > knowledge representation and making inferences based on it. I look forward > to the Tuxmath community members to have discussions regarding the > implementation details, and some occasional code-related help. I will start > exploring the code-base in about a week once my semester exams are over. That's great - let me know how I can help. David Bruce |
From: Tim H. <ho...@wu...> - 2011-04-27 16:41:47
|
On Wednesday, April 27, 2011 08:01:22 am Siddharth Kothari wrote: > Hi everyone, > > My project proposal on "Personalized, adaptive game-play to improve > learning in Tuxmath" has been accepted in GSoC > (link<http://www.google-melange.com/gsoc/project/google/gsoc2011/sidi/14001 > >). Bart Massey from PSU will be my mentor who would be helping me in the > design of the Bayesian network for knowledge representation and making > inferences based on it. I look forward to the Tuxmath community members to > have discussions regarding the implementation details, and some occasional > code-related help. I will start exploring the code-base in about a week > once my semester exams are over. That's great! Congrats! --Tim |
From: Siddharth K. <sid...@gm...> - 2011-05-20 12:44:00
|
Hi everyone, I made a blog (gscbbn.wordpress.com) which I will keep updating the details with regards to the project. I would appreciate a feedback. The approach and deliverables are tentative, let me know if there is something I should incorporate. Thanks, Siddharth On Wed, Apr 27, 2011 at 10:11 PM, Tim Holy <ho...@wu...> wrote: > On Wednesday, April 27, 2011 08:01:22 am Siddharth Kothari wrote: > > Hi everyone, > > > > My project proposal on "Personalized, adaptive game-play to improve > > learning in Tuxmath" has been accepted in GSoC > > (link< > http://www.google-melange.com/gsoc/project/google/gsoc2011/sidi/14001 > > >). Bart Massey from PSU will be my mentor who would be helping me in the > > design of the Bayesian network for knowledge representation and making > > inferences based on it. I look forward to the Tuxmath community members > to > > have discussions regarding the implementation details, and some > occasional > > code-related help. I will start exploring the code-base in about a week > > once my semester exams are over. > > That's great! Congrats! > > --Tim > > > ------------------------------------------------------------------------------ > WhatsUp Gold - Download Free Network Management Software > The most intuitive, comprehensive, and cost-effective network > management toolset available today. Delivers lowest initial > acquisition cost and overall TCO of any competing solution. > http://p.sf.net/sfu/whatsupgold-sd > _______________________________________________ > Tuxmath-devel mailing list > Tux...@li... > https://lists.sourceforge.net/lists/listinfo/tuxmath-devel > |
From: Tim H. <ho...@wu...> - 2011-05-20 13:59:36
|
Hi Siddarth, I like it very much. Some concrete feedback, mostly a set of questions asking for more detail: 1. When you say, "topic suggestion," are you thinking of some interactive interface from which the user chooses a task? Or is the "suggestion" an internal one, and the game will execute whatever parameters are suggested? 2. What are your thoughts about per-user storage? Are you going to employ the Linux model (store in the user's home directory), or are you going to use the infrastructure in the "school mode"? Or are you planning on not saving data across sessions at all? (Without saving, it will be hard to test and debug, so I don't recommend the latter.) 3. I have the sense that kids differ quite a lot in terms of how much negative- outcome they can tolerate: some will plunge right back in after they lose all their igloos, others will be bothered if even a single igloo gets hit by a comet. Those that enjoy the tension will appreciate being challenged, those that do not will probably feel more comfortable if they are consistently performing at 95% or higher. It would be really interesting if it were possible to model not just the student's mastery, but also what level of failure/challenge is acceptable to the student. Naturally, this seems hard. One option would be to ask for feedback from the student, and a second might be to pay attention to the latency in re-starting a new game of tuxmath. If it is a few seconds, the kid seems ready for more. If it's a few months, perhaps the kid got scared off. But obviously it's questionable how reliable such information will be. 4. In your section on "modifying the game variables," certainly the speed is an important parameter. But a more interesting---and more conceptually challenging---issue is how to decide which _type_ of problems to pose. Is the kid ready for addition facts up to 10, or should we stick with 0 to 5? How can you tell when the kid is ready for multiplication? 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to think somewhat about creating mechanisms to explicitly teach, rather than just let them practice things they've already been taught? Again, it looks like lots of fun ahead. I'm glad you're tackling this. Best, --Tim On Friday, May 20, 2011 07:43:52 am Siddharth Kothari wrote: > Hi everyone, > > I made a blog (gscbbn.wordpress.com) which I will keep updating the details > with regards to the project. > > I would appreciate a feedback. The approach and deliverables are tentative, > let me know if there is something I should incorporate. > > Thanks, > Siddharth > > On Wed, Apr 27, 2011 at 10:11 PM, Tim Holy <ho...@wu...> wrote: > > On Wednesday, April 27, 2011 08:01:22 am Siddharth Kothari wrote: > > > Hi everyone, > > > > > > My project proposal on "Personalized, adaptive game-play to improve > > > learning in Tuxmath" has been accepted in GSoC > > > (link< > > > > http://www.google-melange.com/gsoc/project/google/gsoc2011/sidi/14001 > > > > > >). Bart Massey from PSU will be my mentor who would be helping me in > > > >the > > > > > > design of the Bayesian network for knowledge representation and making > > > inferences based on it. I look forward to the Tuxmath community members > > > > to > > > > > have discussions regarding the implementation details, and some > > > > occasional > > > > > code-related help. I will start exploring the code-base in about a week > > > once my semester exams are over. > > > > That's great! Congrats! > > > > --Tim > > > > > > ------------------------------------------------------------------------- > > ----- WhatsUp Gold - Download Free Network Management Software > > The most intuitive, comprehensive, and cost-effective network > > management toolset available today. Delivers lowest initial > > acquisition cost and overall TCO of any competing solution. > > http://p.sf.net/sfu/whatsupgold-sd > > _______________________________________________ > > Tuxmath-devel mailing list > > Tux...@li... > > https://lists.sourceforge.net/lists/listinfo/tuxmath-devel |
From: Siddharth K. <sid...@gm...> - 2011-05-20 16:05:01
|
Hi Tim, Thanks for the feedback. :) 1. When you say, "topic suggestion," are you thinking of some interactive > interface from which the user chooses a task? Or is the "suggestion" an > internal one, and the game will execute whatever parameters are suggested? > I had an interactive interface in mind, where the final decision would be on the player if he would like to follow the topic the game suggests or choose another one as per his wish. 2. What are your thoughts about per-user storage? Are you going to employ > the > Linux model (store in the user's home directory), or are you going to use > the > infrastructure in the "school mode"? Or are you planning on not saving data > across sessions at all? (Without saving, it will be hard to test and debug, > so > I don't recommend the latter.) I will initially implement a storage structure for the Linux model, and than for the "school mode". Imo, this should be more valuable if I implement it for the "school mode", but I am not familiar with the code. I will try to do that :) For 3.), modelling how much challenge a user is willing to take seems difficult. Rather than making decision on the latency in re-starting the game, we can base it on the progress: If the student is able to save the igloos, adjust the other game variables to provide more challenge; if a student is performing poorly, we may want to slow the speed of comets and likewise, adjust other game variables. But again, this approach assumes the amount of difficulty one is willing to take. What are your opinions? > 4. In your section on "modifying the game variables," certainly the speed > is > an important parameter. But a more interesting---and more conceptually > challenging---issue is how to decide which _type_ of problems to pose. Is > the > kid ready for addition facts up to 10, or should we stick with 0 to 5? How > can > you tell when the kid is ready for multiplication? There is an interesting approach Animalwatch<http://animalwatch.arizona.edu/> (It's a tutor for pre-algebra mathematics) uses for this which is described here Using the student model to control problem difficulty<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.7068&rep=rep1&type=pdf>. I am thinking of using a approach on similar lines, will post it shortly. 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to think > somewhat about creating mechanisms to explicitly teach, rather than just > let > them practice things they've already been taught? iiuc, this means using different teaching strategies to cater to the varying needs of the students (like some may like to receive more feedback to stay motivated, a pedagogical agent may be more of help to others). But given that the domain here is elementary Mathematics, I find it hard to think of an explicit teaching mechanism. Do you have some suggestions? Thanks, Siddharth On Fri, May 20, 2011 at 7:29 PM, Tim Holy <ho...@wu...> wrote: > Hi Siddarth, > > I like it very much. Some concrete feedback, mostly a set of questions > asking > for more detail: > > 1. When you say, "topic suggestion," are you thinking of some interactive > interface from which the user chooses a task? Or is the "suggestion" an > internal one, and the game will execute whatever parameters are suggested? > > 2. What are your thoughts about per-user storage? Are you going to employ > the > Linux model (store in the user's home directory), or are you going to use > the > infrastructure in the "school mode"? Or are you planning on not saving data > across sessions at all? (Without saving, it will be hard to test and debug, > so > I don't recommend the latter.) > > 3. I have the sense that kids differ quite a lot in terms of how much > negative- > outcome they can tolerate: some will plunge right back in after they lose > all > their igloos, others will be bothered if even a single igloo gets hit by a > comet. Those that enjoy the tension will appreciate being challenged, those > that do not will probably feel more comfortable if they are consistently > performing at 95% or higher. > It would be really interesting if it were possible to model not just the > student's mastery, but also what level of failure/challenge is acceptable > to > the student. Naturally, this seems hard. One option would be to ask for > feedback from the student, and a second might be to pay attention to the > latency in re-starting a new game of tuxmath. If it is a few seconds, the > kid > seems ready for more. If it's a few months, perhaps the kid got scared off. > But > obviously it's questionable how reliable such information will be. > > 4. In your section on "modifying the game variables," certainly the speed > is > an important parameter. But a more interesting---and more conceptually > challenging---issue is how to decide which _type_ of problems to pose. Is > the > kid ready for addition facts up to 10, or should we stick with 0 to 5? How > can > you tell when the kid is ready for multiplication? > > 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to think > somewhat about creating mechanisms to explicitly teach, rather than just > let > them practice things they've already been taught? > > Again, it looks like lots of fun ahead. I'm glad you're tackling this. > > Best, > --Tim > > On Friday, May 20, 2011 07:43:52 am Siddharth Kothari wrote: > > Hi everyone, > > > > I made a blog (gscbbn.wordpress.com) which I will keep updating the > details > > with regards to the project. > > > > I would appreciate a feedback. The approach and deliverables are > tentative, > > let me know if there is something I should incorporate. > > > > Thanks, > > Siddharth > > > > On Wed, Apr 27, 2011 at 10:11 PM, Tim Holy <ho...@wu...> wrote: > > > On Wednesday, April 27, 2011 08:01:22 am Siddharth Kothari wrote: > > > > Hi everyone, > > > > > > > > My project proposal on "Personalized, adaptive game-play to improve > > > > learning in Tuxmath" has been accepted in GSoC > > > > (link< > > > > > > http://www.google-melange.com/gsoc/project/google/gsoc2011/sidi/14001 > > > > > > > >). Bart Massey from PSU will be my mentor who would be helping me in > > > > >the > > > > > > > > design of the Bayesian network for knowledge representation and > making > > > > inferences based on it. I look forward to the Tuxmath community > members > > > > > > to > > > > > > > have discussions regarding the implementation details, and some > > > > > > occasional > > > > > > > code-related help. I will start exploring the code-base in about a > week > > > > once my semester exams are over. > > > > > > That's great! Congrats! > > > > > > --Tim > > > > > > > > > > ------------------------------------------------------------------------- > > > ----- WhatsUp Gold - Download Free Network Management Software > > > The most intuitive, comprehensive, and cost-effective network > > > management toolset available today. Delivers lowest initial > > > acquisition cost and overall TCO of any competing solution. > > > http://p.sf.net/sfu/whatsupgold-sd > > > _______________________________________________ > > > Tuxmath-devel mailing list > > > Tux...@li... > > > https://lists.sourceforge.net/lists/listinfo/tuxmath-devel > |
From: David B. <dav...@gm...> - 2011-05-20 17:32:17
|
Hi Siddarth, >> 4. In your section on "modifying the game variables," certainly the speed >> is >> an important parameter. But a more interesting---and more conceptually >> challenging---issue is how to decide which _type_ of problems to pose. Is >> the >> kid ready for addition facts up to 10, or should we stick with 0 to 5? How >> can >> you tell when the kid is ready for multiplication? > > There is an interesting approach Animalwatch (It's a tutor for pre-algebra > mathematics) uses for this which is described here Using the student model > to control problem difficulty. I am thinking of using a approach on similar > lines, will post it shortly. I don't know how much you've looked at how tuxmath generates math question lists, but basically a lesson file sets a series of criteria for questions: - allowed math operations (addition, subtraction, multiplication, division) - ranges of allowed numbers for operands - whether to allow negative numbers - format of question (i.e. 1 + 1 = ?, 1 + ? = 2, or ? + 1 = 2) and so forth. There are also some variables related to how answered questions are handled - in the "lesson" games, correctly answered questions are considered "done", and the lesson ends with a win when all the questions have been handled correctly. In the "arcade" games, all questions get reinserted into the list so the game goes on indefinitely until the player runs out of lives. In both modes, questions which are not answered correctly get reinserted so the player sees them again. There is an option to reinsert multiple copies of missed questions so as to give extra practice on those facts. Finally, the code contains functions to support the use of the just the "missed questions" from the previous game as the question list for the next game, although we've never implemented a way to use this feature. So, some of these features might be useful in your project, but they might not be sufficiently flexible for your needs. What tuxmath does not currently provide is the reading of a list of arbitrary functions from a text file. I think we may want to do something like that for your project. I read your blog, and am eager to hear more about specifics, or to help you work them out. It seems to me that there are at least two ways in which this adaptive instruction can be applied: 1. Within the same math game, use the player's initial performance to adjust the subsequent questions. 2. For subsequent games, adjust the questions based on results from previous games. >> 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to think >> somewhat about creating mechanisms to explicitly teach, rather than just >> let >> them practice things they've already been taught? Yes - I've thought for some time that this was a shortcoming of the program. The only "teaching" is when we show the answer when the igloo gets hit, plus the factoring hints we put in at the start of each level in factoroids. But there isn't any illustration of the concepts of math. There are plenty of ways that new activities could be designed for these purposes, e.g. having Tux combine groups of fish to illustrate addition, or having him build stacks of ice blocks in a grid layout to illustrate multiplication. I think the existing games have been shaped a lot by the ages of our kids at the time when the games were written. My daughter was a second-grader when I started trying to make Bill's original comet game more flexible, and she was a fourth-grader doing a lot of factoring stuff when I proposed the factoroids game. Maybe we need someone with pre-school or kindergarten kids to get interested in coding up a new activity. David Bruce |
From: Siddharth K. <sid...@gm...> - 2011-05-23 04:00:48
|
Hi all, Adding Bart to the loop. :) I added a new post on question generation, but it still needs work. I posted it since I won't be able to update it before a couple of days (i will be travelling). Tim - The documentation for the "school mode" would be helpful. David - I had a brief idea of the code for generating questions. Thanks for the details. Thanks, Siddharth On Fri, May 20, 2011 at 11:02 PM, David Bruce <dav...@gm...>wrote: > Hi Siddarth, > > >> 4. In your section on "modifying the game variables," certainly the > speed > >> is > >> an important parameter. But a more interesting---and more conceptually > >> challenging---issue is how to decide which _type_ of problems to pose. > Is > >> the > >> kid ready for addition facts up to 10, or should we stick with 0 to 5? > How > >> can > >> you tell when the kid is ready for multiplication? > > > > There is an interesting approach Animalwatch (It's a tutor for > pre-algebra > > mathematics) uses for this which is described here Using the student > model > > to control problem difficulty. I am thinking of using a approach on > similar > > lines, will post it shortly. > > I don't know how much you've looked at how tuxmath generates math > question lists, but basically a lesson file sets a series of criteria > for questions: > > - allowed math operations (addition, subtraction, multiplication, division) > - ranges of allowed numbers for operands > - whether to allow negative numbers > - format of question (i.e. 1 + 1 = ?, 1 + ? = 2, or ? + 1 = 2) > > and so forth. There are also some variables related to how answered > questions are handled - in the "lesson" games, correctly answered > questions are considered "done", and the lesson ends with a win when > all the questions have been handled correctly. In the "arcade" games, > all questions get reinserted into the list so the game goes on > indefinitely until the player runs out of lives. In both modes, > questions which are not answered correctly get reinserted so the > player sees them again. There is an option to reinsert multiple > copies of missed questions so as to give extra practice on those > facts. Finally, the code contains functions to support the use of the > just the "missed questions" from the previous game as the question > list for the next game, although we've never implemented a way to use > this feature. So, some of these features might be useful in your > project, but they might not be sufficiently flexible for your needs. > > What tuxmath does not currently provide is the reading of a list of > arbitrary functions from a text file. I think we may want to do > something like that for your project. > > I read your blog, and am eager to hear more about specifics, or to > help you work them out. It seems to me that there are at least two > ways in which this adaptive instruction can be applied: > 1. Within the same math game, use the player's initial performance to > adjust the subsequent questions. > 2. For subsequent games, adjust the questions based on results from > previous games. > > > >> 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to > think > >> somewhat about creating mechanisms to explicitly teach, rather than just > >> let > >> them practice things they've already been taught? > > Yes - I've thought for some time that this was a shortcoming of the > program. The only "teaching" is when we show the answer when the > igloo gets hit, plus the factoring hints we put in at the start of > each level in factoroids. But there isn't any illustration of the > concepts of math. There are plenty of ways that new activities could > be designed for these purposes, e.g. having Tux combine groups of fish > to illustrate addition, or having him build stacks of ice blocks in a > grid layout to illustrate multiplication. > > I think the existing games have been shaped a lot by the ages of our > kids at the time when the games were written. My daughter was a > second-grader when I started trying to make Bill's original comet game > more flexible, and she was a fourth-grader doing a lot of factoring > stuff when I proposed the factoroids game. Maybe we need someone with > pre-school or kindergarten kids to get interested in coding up a new > activity. > > David Bruce > |
From: Tim H. <ho...@wu...> - 2011-05-23 15:46:35
|
On Sunday, May 22, 2011 11:00:40 pm Siddharth Kothari wrote: > Hi all, > > Adding Bart to the loop. :) > > I added a new post on question generation, but it still needs work. I > posted it since I won't be able to update it before a couple of days (i > will be travelling). > > Tim - The documentation for the "school mode" would be helpful. Can't help you right now: I deleted my own git tree (I was a git newbie and managed to massacre it), and since alioth seems to be down still I can't check out a new one. But I _think_ this is pretty thoroughly documented in the doc/ directory. --Tim > > David - I had a brief idea of the code for generating questions. Thanks for > the details. > > Thanks, > Siddharth > > On Fri, May 20, 2011 at 11:02 PM, David Bruce <dav...@gm...>wrote: > > Hi Siddarth, > > > > >> 4. In your section on "modifying the game variables," certainly the > > > > speed > > > > >> is > > >> an important parameter. But a more interesting---and more conceptually > > >> challenging---issue is how to decide which _type_ of problems to pose. > > > > Is > > > > >> the > > >> kid ready for addition facts up to 10, or should we stick with 0 to 5? > > > > How > > > > >> can > > >> you tell when the kid is ready for multiplication? > > > > > > There is an interesting approach Animalwatch (It's a tutor for > > > > pre-algebra > > > > > mathematics) uses for this which is described here Using the student > > > > model > > > > > to control problem difficulty. I am thinking of using a approach on > > > > similar > > > > > lines, will post it shortly. > > > > I don't know how much you've looked at how tuxmath generates math > > question lists, but basically a lesson file sets a series of criteria > > for questions: > > > > - allowed math operations (addition, subtraction, multiplication, > > division) - ranges of allowed numbers for operands > > - whether to allow negative numbers > > - format of question (i.e. 1 + 1 = ?, 1 + ? = 2, or ? + 1 = 2) > > > > and so forth. There are also some variables related to how answered > > questions are handled - in the "lesson" games, correctly answered > > questions are considered "done", and the lesson ends with a win when > > all the questions have been handled correctly. In the "arcade" games, > > all questions get reinserted into the list so the game goes on > > indefinitely until the player runs out of lives. In both modes, > > questions which are not answered correctly get reinserted so the > > player sees them again. There is an option to reinsert multiple > > copies of missed questions so as to give extra practice on those > > facts. Finally, the code contains functions to support the use of the > > just the "missed questions" from the previous game as the question > > list for the next game, although we've never implemented a way to use > > this feature. So, some of these features might be useful in your > > project, but they might not be sufficiently flexible for your needs. > > > > What tuxmath does not currently provide is the reading of a list of > > arbitrary functions from a text file. I think we may want to do > > something like that for your project. > > > > I read your blog, and am eager to hear more about specifics, or to > > help you work them out. It seems to me that there are at least two > > ways in which this adaptive instruction can be applied: > > 1. Within the same math game, use the player's initial performance to > > adjust the subsequent questions. > > 2. For subsequent games, adjust the questions based on results from > > previous games. > > > > >> 5. Given this tuxmath-as-the-teacher mode of thinking, do we need to > > > > think > > > > >> somewhat about creating mechanisms to explicitly teach, rather than > > >> just let > > >> them practice things they've already been taught? > > > > Yes - I've thought for some time that this was a shortcoming of the > > program. The only "teaching" is when we show the answer when the > > igloo gets hit, plus the factoring hints we put in at the start of > > each level in factoroids. But there isn't any illustration of the > > concepts of math. There are plenty of ways that new activities could > > be designed for these purposes, e.g. having Tux combine groups of fish > > to illustrate addition, or having him build stacks of ice blocks in a > > grid layout to illustrate multiplication. > > > > I think the existing games have been shaped a lot by the ages of our > > kids at the time when the games were written. My daughter was a > > second-grader when I started trying to make Bill's original comet game > > more flexible, and she was a fourth-grader doing a lot of factoring > > stuff when I proposed the factoroids game. Maybe we need someone with > > pre-school or kindergarten kids to get interested in coding up a new > > activity. > > > > David Bruce |
From: Siddharth K. <sid...@gm...> - 2011-05-31 15:28:01
|
Hi everyone, I have worked on the question generation<http://gscbbn.wordpress.com/2011/05/23/question-generation/>part and the structure for the BBN<http://gscbbn.wordpress.com/2011/05/31/student-modelling-using-bayesian-belief-networks-bbn-2/>. Though, some explanations might be hodgepodge. Let me know the feedback on this. Also, I would like if the question generation happens for every wave instead of happening once in a game. The reason is to account for learner's performance of the past waves for question generation of the present wave. This wouldn't affect a Math command training lesson, but on tux missions and for arcade games, this can make a difference in the question selection. Thanks, Siddharth |
From: David B. <dav...@gm...> - 2011-05-31 16:56:25
|
Hi Siddarth, > Also, I would like if the question generation happens for every wave instead > of happening once in a game. The question list is generated at the beginning of the game. The waves affect things like the background image and the speed of the comets, but not the questions. The question-generation code is in mathcards.[ch], which doesn't know anything about waves. Depending on a few config file variables (see e.g. ~/.tuxmath/options or any of the files under data/missions/), answered or missed questions are handled differently (I apologize about some of the variable names, which now seem rather confusing) PLAY_THROUGH_LIST (boolean) - if set to 1 ("true"), correctly-answered questions are removed from the list, so that the game ends in victory when there are no remaining questions. If set to 0 ("false"), the questions are reinserted in a random question and the game goes on indefinitely ("arcade mode"). REPEAT_WRONGS (boolean) - controls the equivalent behavior for questions the player misses (i.e. the ones that hit the igloos). However, for this one, 1 means the questions are reinserted, and 0 means they are discarded, the opposite of the behavior for PLAY_THROUGH_LIST. This is set to 1 for all of the bundled lessons. COPIES_REPEATED_WRONGS (int) controls how many copies of the missed question get put back in. For example, if this is set to 2, if a player misses "3 + 3 = ?", he/she will have to answer it twice correctly after that to "win" the game. This provides a minimal form of adaptive learning, but it could be extended to include questions closely related to the question that was missed. > The reason is to account for learner's > performance of the past waves for question generation of the present wave. > This wouldn't affect a Math command training lesson, but on tux missions and > for arcade games, this can make a difference in the question selection. All very valid goals! It seems clear that our current scheme isn't sufficiently flexible to do everything needed for your project. If you are going to have "intra-game/inter-wave" feedback, we need to add some functions to mathcards to support generating and inserting additional questions during the game. Best, -- David Bruce For all your software needs, visit The Apt Store: deb http://ftp.us.debian.org/debian stable main |
From: Tim H. <ho...@wu...> - 2011-05-31 21:43:30
|
Hi Siddarth, I'd also add that perhaps it might be best to confine this to "training academy." The intent behind the arcade games is that everyone is on equal footing, so getting the high score for your class represents an "absolute" achievement rather than "you did very well given what we expected of you" (i.e., what the Bayesian algorithm decided to set as problems). But for the training academy, the latter is indeed probably more appropriate . Best, --Tim On Tuesday, May 31, 2011 11:55:44 am David Bruce wrote: > Hi Siddarth, > > > Also, I would like if the question generation happens for every wave > > instead of happening once in a game. > > The question list is generated at the beginning of the game. The > waves affect things like the background image and the speed of the > comets, but not the questions. The question-generation code is in > mathcards.[ch], which doesn't know anything about waves. > > Depending on a few config file variables (see e.g. ~/.tuxmath/options > or any of the files under data/missions/), answered or missed > questions are handled differently (I apologize about some of the > variable names, which now seem rather confusing) > > PLAY_THROUGH_LIST (boolean) - if set to 1 ("true"), correctly-answered > questions are removed from the list, so that the game ends in victory > when there are no remaining questions. If set to 0 ("false"), the > questions are reinserted in a random question and the game goes on > indefinitely ("arcade mode"). > > REPEAT_WRONGS (boolean) - controls the equivalent behavior for > questions the player misses (i.e. the ones that hit the igloos). > However, for this one, 1 means the questions are reinserted, and 0 > means they are discarded, the opposite of the behavior for > PLAY_THROUGH_LIST. This is set to 1 for all of the bundled lessons. > > COPIES_REPEATED_WRONGS (int) controls how many copies of the missed > question get put back in. For example, if this is set to > 2, if a player misses "3 + 3 = ?", he/she will have to answer it twice > correctly after that to "win" the game. This provides a minimal form > of adaptive learning, but it could be extended to include questions > closely related to the question that was missed. > > > The reason is to account for learner's > > performance of the past waves for question generation of the present > > wave. This wouldn't affect a Math command training lesson, but on tux > > missions and for arcade games, this can make a difference in the > > question selection. > > All very valid goals! It seems clear that our current scheme isn't > sufficiently flexible to do everything needed for your project. If > you are going to have "intra-game/inter-wave" feedback, we need to add > some functions to mathcards to support generating and inserting > additional questions during the game. > > Best, |
From: Siddharth K. <sid...@gm...> - 2011-07-09 14:09:02
|
Hi everyone, An update how far I have got: * I have made a separate branch 'bbn' in tuxmath's git repo. where I am committing all the changes. * As for the progress, I have a Bayesian Network library which supports to create, set initial probabilities and allows inference on bayesian networks. It uses Pearl's message-passing algorithm<http://en.wikipedia.org/wiki/Belief_propagation>for inferencing. Initially, I wanted to use an existing library with a compatible license to handle the inference part, but I had hard luck finding C implementations and so decided to write one myself. * My current implementation supports only tree topology, which is good enough when I don't include global nodes in a topic cluster. Refer to this figure <http://gscbbn.files.wordpress.com/2011/05/topic-cluster.png> for a topic cluster's structure. So, while I work on implementing the inference part for singly-connected networks, I can start testing the BBN in the game. There are also a couple of things which I need help and suggestions with: * I have added the new source files in src/bayesian. How do I include them in the build? I have not worked with GNU autotools and cmake before. * Earlier in this thread, we discussed about modelling acceptable failure/challenge for a user and the solution was something on the lines of the system giving user recommended options for lessons based on difficulty. On the back-end part, I take this into account by making a global node for "challenge level" [Figure<http://gscbbn.files.wordpress.com/2011/06/global_nodes.png>]. On the interface part, this would require changes. I have some initial thoughts on that and am write it in a separate mail. As the mid-term evaluations are only a week now, my priority will be to add documentation and error checks to the existing code, and update the blog. Thanks, Siddharth On Wed, Jun 1, 2011 at 3:13 AM, Tim Holy <ho...@wu...> wrote: > Hi Siddarth, > > I'd also add that perhaps it might be best to confine this to "training > academy." The intent behind the arcade games is that everyone is on equal > footing, so getting the high score for your class represents an "absolute" > achievement rather than "you did very well given what we expected of you" > (i.e., what the Bayesian algorithm decided to set as problems). But for the > training academy, the latter is indeed probably more appropriate . > > Best, > --Tim > > > On Tuesday, May 31, 2011 11:55:44 am David Bruce wrote: > > Hi Siddarth, > > > > > Also, I would like if the question generation happens for every wave > > > instead of happening once in a game. > > > > The question list is generated at the beginning of the game. The > > waves affect things like the background image and the speed of the > > comets, but not the questions. The question-generation code is in > > mathcards.[ch], which doesn't know anything about waves. > > > > Depending on a few config file variables (see e.g. ~/.tuxmath/options > > or any of the files under data/missions/), answered or missed > > questions are handled differently (I apologize about some of the > > variable names, which now seem rather confusing) > > > > PLAY_THROUGH_LIST (boolean) - if set to 1 ("true"), correctly-answered > > questions are removed from the list, so that the game ends in victory > > when there are no remaining questions. If set to 0 ("false"), the > > questions are reinserted in a random question and the game goes on > > indefinitely ("arcade mode"). > > > > REPEAT_WRONGS (boolean) - controls the equivalent behavior for > > questions the player misses (i.e. the ones that hit the igloos). > > However, for this one, 1 means the questions are reinserted, and 0 > > means they are discarded, the opposite of the behavior for > > PLAY_THROUGH_LIST. This is set to 1 for all of the bundled lessons. > > > > COPIES_REPEATED_WRONGS (int) controls how many copies of the missed > > question get put back in. For example, if this is set to > > 2, if a player misses "3 + 3 = ?", he/she will have to answer it twice > > correctly after that to "win" the game. This provides a minimal form > > of adaptive learning, but it could be extended to include questions > > closely related to the question that was missed. > > > > > The reason is to account for learner's > > > performance of the past waves for question generation of the present > > > wave. This wouldn't affect a Math command training lesson, but on tux > > > missions and for arcade games, this can make a difference in the > > > question selection. > > > > All very valid goals! It seems clear that our current scheme isn't > > sufficiently flexible to do everything needed for your project. If > > you are going to have "intra-game/inter-wave" feedback, we need to add > > some functions to mathcards to support generating and inserting > > additional questions during the game. > > > > Best, > |
From: Bart M. <bar...@gm...> - 2011-07-09 16:30:14
|
On Sat, Jul 9, 2011 at 7:08 AM, Siddharth Kothari <sid...@gm...> wrote: > Hi everyone, > An update how far I have got: Seems pretty darn far. Nice work. > * I have added the new source files in src/bayesian. How do I include them > in the build? I have not worked with GNU autotools and cmake before. I don't really know cmake. With automake, there's a whole bunch of recursive directory support, but I think that doesn't apply here. Bart |
From: David B. <dav...@gm...> - 2011-07-09 22:07:04
|
Hi, >> * I have added the new source files in src/bayesian. How do I include them >> in the build? I have not worked with GNU autotools and cmake before. > > I don't really know cmake. With automake, there's a whole bunch of > recursive directory support, but I think that doesn't apply here. The primary build system for tuxmath is automake, but we try to support both. The cmake build has been used for some Mac releases in the past, but everything else (source tarballs, distro packaging, windows binaries) is done with automake. For automake, the quickest thing is just to add the files to the tuxmath_SOURCES (for *.c files) and EXTRA_DIST (for other files) variables in src/Makefile.am with relative paths, e.g.: tuxmath_SOURCES = tuxmath.c \ setup.c \ titlescreen.c \ menu.c \ menu_lan.c \ game.c \ factoroids.c \ fileops_media.c \ options.c \ credits.c \ highscore.c \ audio.c \ network.c \ mathcards.c \ campaign.c \ multiplayer.c \ fileops.c \ SDL_rotozoom.c \ lessons.c \ server.c \ bayesian/bayesian_network.c \ and so forth. The recursive way, which is what is usually done, is to create a SUBDIRS = bayesian variable in src/Makefile.am, and create src/bayesian/Makefile.am to handle the new directory. I know less about cmake, but AFAIK the process is very similar. -- David Bruce For all your software needs, visit The Apt Store: deb http://ftp.us.debian.org/debian stable main |
From: Siddharth K. <sid...@gm...> - 2011-08-24 10:56:47
|
Hi, GSoC has come to an end, and here's a summary of my project: http://gscbbn.wordpress.com/2011/08/22/project-summary/. Overall, GSoC has been an enriching experience. I learnt many new new things along the way - familiarity with build systems, vim+ack combo for code management, and a better understanding on the literature about BBNs. Also, this was my first major open-source contribution. List of things that I haven't been able to do in the time-line: - Model game difficulty based on user’s tolerance of difficulty, - Enhance user interface to show suggested lessons clearly, - Implement per-user storage in "school infrastructure" mode. I would like to work on getting the project to a state where it would be useful for tuxmath community. Feedback would be appreciated. Thanks everyone for your help and inputs during the course of the project. Thanks, Siddharth |
From: David B. <dav...@gm...> - 2011-08-24 12:56:15
|
Hi Siddharth, I hope you had a great summer, and I really appreciate your contribution to our project. I haven't had much time for Tux4Kids recently. I see you have used github as well as alioth for your scm repo. Is the bbn branch at alioth kept current with what you have in github? I would like to get your project integrated with our main build before the next release. Thanks, -- David Bruce For all your software needs, visit The Apt Store: deb http://ftp.us.debian.org/debian stable main |
From: Siddharth K. <sid...@gm...> - 2011-08-24 16:54:47
|
Hi David, The bbn branch at alioth is current with the github branch. Thanks, Siddharth On Wed, Aug 24, 2011 at 6:26 PM, David Bruce <dav...@gm...>wrote: > Hi Siddharth, > > I hope you had a great summer, and I really appreciate your > contribution to our project. I haven't had much time for Tux4Kids > recently. > > I see you have used github as well as alioth for your scm repo. Is > the bbn branch at alioth kept current with what you have in github? I > would like to get your project integrated with our main build before > the next release. > > Thanks, > > -- > David Bruce > > For all your software needs, visit The Apt Store: > deb http://ftp.us.debian.org/debian stable main > |