GSoC/2020/StatusReports/DeepakKumar: Difference between revisions
Deepak Kumar (talk | contribs) |
Deepak Kumar (talk | contribs) |
||
Line 157: | Line 157: | ||
# When selecting the BuiltIn mode, the activity must use the content of the datasets for the multiple datasets. | # When selecting the BuiltIn mode, the activity must use the content of the datasets for the multiple datasets. | ||
Firstly, I separated both modes in such a way that loading one of the | Firstly, I separated both modes in such a way that loading one of the modes should not affect the other. I added the multiple datasets to it as for this I implemented an algorithm to find that should use the same function used to build the admin mode datasets. I did this as I thought it won't be good to rewrite the same function twice with slight changes. After the review of the datasets by the mentors there was some improvement suggested for multiple datasets 4. As for it, there was only 1 level so I added more two-levels to it. Also, it was mentioned in the multiple datasets parent task description that when selecting one of the modes it should disable the other mode. For this, I need to make changes to the core DialogChooseLevel.qml file. I used a boolean to disable one mode in case another mode is active. | ||
Also, it was mentioned in the multiple datasets parent task description that when selecting one of the modes it should disable the other mode. For this, I need to make changes to the core DialogChooseLevel.qml file. I used a boolean to disable one mode in case | |||
After testing the builtin mode it was all good but there were some issues with the admin mode. I have fixed a few of the issues as mentioned by my mentors but still left with few of them. | After testing the builtin mode it was all good but there were some issues with the admin mode. I have fixed a few of the issues as mentioned by my mentors but still left with few of them. | ||
[[File:Peek 2020-08-28 22-23.gif|400px|frame|center|Guesscount working demo]] | [[File:Peek 2020-08-28 22-23.gif|400px|frame|center|Guesscount working demo]] |
Revision as of 06:57, 30 August 2020
GCompris: Multiple Datasets
Project Overview
GCompris offers many activities related to reading, maths, science and since it is free software, everyone can adapt it to one’s own needs, improve it and, most importantly, share it with children everywhere around the world. Currently, most of the activities had generalized datasets so for some of the age groups like 3-5 yrs the activities were quite difficult to play, while for older age groups the activities were easy.
For this, we have the concept of multiple datasets. Multiple datasets help to make the activities adaptive for children of all age groups. Multiple datasets mean having different datasets file for each age group.
My project goals include adding of multiple datasets to the following activities:
- Enumeration memory game
- Addition memory game
- Subtraction memory game
- Multiplication memory game
- Division memory game
- Addition and subtraction memory game
- Multiplication and division memory game
- All operations memory game
- Addition memory game against Tux
- Subtraction memory game against Tux
- Multiplication memory game against Tux
- Division memory game against Tux
- Addition and subtraction memory game against Tux
- Multiplication and division memory game against Tux
- All operations memory game against Tux
Mentors
Milestones Achieved
Adding multiple datasets to Enumeration Memory Game Activity
In this activity, the child needs to turn the cards to count the number of elements of an image and match with the corresponding number cards. I started my work on implementing multiple datasets to memory activities with this activity. To do this I needed to change the logic of the code to support both the default datasets and the multiple datasets. This activity is one of the sub-activity of memory activities. The datasets for this activity are defined on the basis of an increasing number of images for each difficulty level.
Link to the task description: https://phabricator.kde.org/T13121
Link to the commits: 7be23091
Adding multiple datasets to Addition Memory Game Activity
In this activity, the child needs to turn the cards to match addition and its result, until all the cards are gone. The goal of this activity is to practice addition. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13122
Link to the commits: 56342bc7
Adding multiple datasets to Subtraction Memory Game Activity
In this activity, the child needs to turn the cards to match a subtraction and its result, until all the cards are gone. The goal of this activity is to practice subtraction. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to the task description: https://phabricator.kde.org/T13123
Link to the commits: 8a90b65e
Adding multiple datasets to Multiplication Memory Game Activity
In this activity, the child needs to turn the cards to match a multiplication and its result, until all the cards are gone. The goal of this activity is to practice multiplication. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13124
Link to the commits: e2e2240c
Adding multiple datasets to Division Memory Game Activity
In this sub-activity of memory, the child needs to turn the cards to match a division and its result, until all the cards are gone. The goal of this activity is to practice division. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13125
Link to the commits: a23cda77
Adding multiple datasets to Addition and Subtraction Memory Game Activity
In this sub-activity of memory, the child needs to turn the cards to match addition and subtraction and its result until all cards are gone. The levels of previous memory activities were based on only a single arithmetic operation as only-addition or only-division, but this memory activity has two different operations for a particular level. As in the case of this activity for any level, there would be few cards on addition operation and few of them upon subtraction. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13126
Link to the commits: 41c4f7f9
Adding multiple datasets to Multiplication and Division Memory Game Activity
In this sub-activity of memory, the child needs to turn the cards to match multiplication and division and its result until all cards are gone. This memory activity also has two different operations for a particular level. As in the case of this activity for any level, there would be few cards on multiplication operation and a few of them upon division. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13127
Link to the commits: 47607bd4
Adding multiple datasets to All Operations Memory Game Activity
In this sub-activity of memory, the child needs to turn the cards to match any arithmetic and its result until all cards are gone. This previous memory activities have a single operation or two different operations for a particular level. This memory activity has all arithmetic operations as addition, subtraction, multiplication, and division for a particular level. the operation for a particular level. As in the case of this activity for any level, there would be few cards on addition, few on subtraction, and few on multiplication or division. This activity has two modes as one of them as single-player mode while another as a two-player mode. The two-player mode is called as one "with Tux". I have implemented multiple datasets for both modes of this activity.
Link to task description: https://phabricator.kde.org/T13128
Link to the commits: a0aa5a3f
Overall Summary of multiple datasets for Memory Activities
Multiple datasets have been added to all memory activities as mentioned in my task. Luckily, the implementation process was smooth for me as I didn't stuck anywhere for too long. The other details about the regression and the testing process can be found here: https://deepak2431.github.io/GSOC9W/
Multiple Datasets to Mirror the Given Image
In this activity, the child needs to draw the mirror of the given grid image using different colors. The multiple datasets were already present in this activity. My work was to improve the multiple datasets to make it more adaptive as per different age groups. After improving one of the multiple datasets I found a bug while testing it that color couldn't be filled in the last grids. It was fixed in one of the commits and after that, I have worked to implement the further multiple datasets.
Link to phabricator task: https://phabricator.kde.org/T13105
Link to the commits: 53a6d203
Multiple Datasets to Guess Count Activity
In this activity, the child needs to drag the given operands to calculate the arithmetic result as per the given guess count. This activity was having two different mode one as the "Builtin" and the other one as the "Admin" mode. There were no multiple datasets in this activity. After having a discussion with the mentors as to how to add multiple datasets to this activity we agreed to separate the mode in this way:
- When selecting the Admin mode, the selection of the dataset must have no effect on the activity, as the activity must follow the levels/content specified in the Admin mode options.
- When selecting the BuiltIn mode, the activity must use the content of the datasets for the multiple datasets.
Firstly, I separated both modes in such a way that loading one of the modes should not affect the other. I added the multiple datasets to it as for this I implemented an algorithm to find that should use the same function used to build the admin mode datasets. I did this as I thought it won't be good to rewrite the same function twice with slight changes. After the review of the datasets by the mentors there was some improvement suggested for multiple datasets 4. As for it, there was only 1 level so I added more two-levels to it. Also, it was mentioned in the multiple datasets parent task description that when selecting one of the modes it should disable the other mode. For this, I need to make changes to the core DialogChooseLevel.qml file. I used a boolean to disable one mode in case another mode is active.
After testing the builtin mode it was all good but there were some issues with the admin mode. I have fixed a few of the issues as mentioned by my mentors but still left with few of them.
Link to the task on phabricator: https://phabricator.kde.org/T13104
Link to the merge request: gsoc_2020_deepak_guess_count
Link to the Blogs
Link to the proposal
Proposal: https://docs.google.com/document/d/1sGlQubqKtjY51OliWoYucH4kdHUE84u189SqrvqAyhk/edit?usp=sharing
About me
- Name: Deepak Kumar
- Email: [email protected]
- IRC nickname: deepak_ / deepak-M
- Linkedln
- Portfolio