GSoC/2017/StatusReports/RudraNilBasu
GCompris: Finishing started activities
GCompris is a high-quality educational suite which aims at making learning easier for children aged 2 to 10. GCompris currently has 137 activities on various topics such as science, maths, games with which it has successfully created a great learning environment for children. However, there were few activities which was started previously but was not yet complete. I strongly believe in what GCompris stands for and in this project, I aimed at taking GCompris one step forward by finishing three started activities: Pilot a Submarine, Family and Digital Electronics
View my full proposal here: GSoC_2017_KDE_Proposal
View my GSoC Project link here: GSoC_Project_link
Current Status
For Google Summer of Code 2017, I planned to finish the following started activities:
1. Pilot a Submarine Status: Merged 2. Family Status: Implementation done, currently in testing phase 3. Digital Electricity Status: Proposed implementations are done, currently in testing phase
All the activities are complete, with one activity being merged with master (Pilot a Submarine) and the other two (Family and Digital Electricity) are in testing phase.
Pilot a Submarine
Introduction
The Pilot a Submarine activity is aimed at teaching how a submarine works, focussing on the basic three elements of a submarine: the engine, rudders and the ballast tanks. It was originally started in the gsoc-submarine branch and this activity was present in the gtk+ version of GCompris. My task was to port the activity to the Qt version of GCompris.
Goals
Broadly, the items that were implemented for the task are listed as follows:
1. The components required for the levels in the submarine activity [DONE] 2. Implement tutorials for the initial levels [DONE] 3. Basic layout of the first 10 levels of the submarine activity [DONE] 4. Submarine components: Engine [DONE], Ballast Tanks [DONE], Rudders [DONE] 5. Collision detection [DONE] 6. Determine Win-Loss scenario [DONE] 7. Implement UI for controlling the submarine components [DONE] 8. FInal bug fixes and improvements [DONE for first version]
Related Blog Posts
- http://rudranilbasu.me/blog/kde/2017/05/29/Start-of-Coding-period/
- http://rudranilbasu.me/blog/kde/2017/06/09/GSoC-Week-2/
- http://rudranilbasu.me/blog/kde/2017/06/21/Pilot-a-Submarine-The-Submarine/
- http://rudranilbasu.me/blog/kde/2017/06/30/GSoC-month-1-analysis/
Links
The Pilot a Submarine activity was developed in the gsoc_rudra_submarine branch of Gcompris-qt
Phabricator task: https://phabricator.kde.org/T1529
Commit Links:
Merged with master: 4e5b91e9942a872f294a726ebf9897c648235091
View commits in the gsoc_rudra_submarine branch here
Screenshots
Submarine activity in action Pickups in the form of jewels in the Submarine activity
Family
Introduction
The Family activity is aimed at helping children understand how they are related to their relatives. It was started in GsoC-Family branch. My task was to improve the overall layout of the activity keeping same generation members at the same level in the tree representation, making the relation easy to understand, along with some cleaning up of the codebase. Additionally, I worked on adding another activity extending the "Family" activity, where given a relation, the user will have to click on the correct pair
Goals
Broadly, the items that were implemented are listed as follows:
1. Improve the current layout of the activity [DONE] 2. Implement the extended activity [DONE] 3. Test both of the above activities for possible improvements/bug fixes
Related Blog Posts
- http://rudranilbasu.me/blog/kde/2017/07/10/GSoC-phase2-week-1/
- http://rudranilbasu.me/blog/kde/2017/07/19/family-grid-wise-layout/
- http://rudranilbasu.me/blog/kde/2017/07/27/family-find-relatives/
- http://rudranilbasu.me/blog/kde/2017/07/28/GSoC-second-phase-analysis/
Links
The Family activity is being developed in the GSoC-family branch of Gcompris-qt
Phabricator task: https://phabricator.kde.org/T6096
Commit links:
View my commit in the GSoC-family branch here
Mockups
Current layout of Family activity Expected final layout
Screenshots
Few "Before and After" screenshots for the Family activity
Left: Before
Right: After
Working of Family_find_relatives activity
Digital Electricity
Introduction
The Digital Electricity activity is aimed at simulating digital circuits real-time. A Free Mode already exists, and my task was to implement a Tutorial Mode which is aimed at teaching the children about how each of the components work in a digital circuit and their behaviours.
Goals
Broadly, the items that were implemented are listed as follows:
1. Create two modes accessible via the config option in the bar [DONE] 2. For tutorial mode, import level components from dataset [DONE] 3. Implement pre-built circuit for tutorial mode [DONE] 4. Complete tutorials levels [DONE] 5. Increase Toolbar button size [DONE] 6. Increase playArea size, zoom in and out [DONE] 7. Navigate through the playArea [Testing / IN PROGRESS]
Related Blog Posts
- http://rudranilbasu.me/blog/kde/2017/08/07/Digital-electricity/
- http://rudranilbasu.me/blog/kde/2017/08/15/Digital-electricity-tutorial-mode/
- http://rudranilbasu.me/blog/kde/2017/08/23/Digital-electricity-tutorial-levels/
Links
The Digital Electricity activity is being developed in the gsoc_pulkit_digital_electricity branch of Gcompris-qt
Phabricator task: https://phabricator.kde.org/T1524
Commit Links:
View my commits for the activity in the gsoc_pulkit_digital_electricity branch here
Screenshots
Tutorial Modes of Digital Electricity activity:
Tutorial on using BCD counter using a signal generator and displaying the count on the seven segment display
A Basic tutorial on the NOR gate
Contact
Blog: http://rudranilbasu.me/blog/
IRC nickname: rudra
IRC channel: #gcompris