GSoC/2017/StatusReports/RudraNilBasu: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2017‎ | StatusReports
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
==GCompris: Finishing started activities==
==GCompris: Finishing started activities==


GCompris is a high-quality educational suite which aims at making learn-
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
ing easier for children aged 2 to 10.  GCompris currently has 137 activities on
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:
various topics such as science, maths, games with which it has successfully
created a great learning environment for children.  However,  there are few
activities which were started previously but is not yet complete.  I strongly
believe  in  what  GCompris  stands  for  and  in  this  project,  I  aim  at  taking
GCompris one step forward by finishing three started activities:
Pilot a Submarine, Family and Digital Electronics
Pilot a Submarine, Family and Digital Electronics


View my full proposal here: [http://rudranilbasu.me/docs/gsoc_2017_proposal.pdf  GSoC_2017_KDE_Proposal]
View my full proposal here: [http://rudranilbasu.me/docs/gsoc_2017_proposal.pdf  GSoC_2017_KDE_Proposal]
View my GSoC Project link here: [https://summerofcode.withgoogle.com/projects/#6332354560786432 GSoC_Project_link]


==Current Status==
==Current Status==


For Google Summer of Code 2017, I will be finishing the following started activities:
For Google Summer of Code 2017, I planned to finish the following started activities:


         1.  '''Pilot a Submarine'''
         1.  '''Pilot a Submarine'''
             Status: In Progress
             Status: Merged
         2.  '''Family'''
         2.  '''Family'''
             Status:  Will be started after the completion of ''Pilot a Submarine''
             Status:  Implementation done, currently in testing phase
         3.  '''Digital Electricity'''
         3.  '''Digital Electricity'''
             Status:  Will be started after the completion of ''Family''
             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==
==Pilot a Submarine==


===Introduction===
===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. In this project, I will be porting the activity to the Qt version of GCompris.
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===
===Goals===


Broadly, the items to be implemented are listed as follows:
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]'''
         1.  The components required for the levels in the submarine activity '''[DONE]'''
Line 40: Line 40:
         5.  Collision detection '''[DONE]'''
         5.  Collision detection '''[DONE]'''
         6.  Determine Win-Loss scenario '''[DONE]'''
         6.  Determine Win-Loss scenario '''[DONE]'''
         7.  Implement UI for controlling the submarine components [TBD]
         7.  Implement UI for controlling the submarine components '''[DONE]'''
         8.  FInal bug fixes and improvements
         8.  FInal bug fixes and improvements '''[DONE for first version]'''


===Related Blog Posts===
===Related Blog Posts===
Line 48: Line 48:
* http://rudranilbasu.me/blog/kde/2017/06/09/GSoC-Week-2/
* 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/21/Pilot-a-Submarine-The-Submarine/
* http://rudranilbasu.me/blog/kde/2017/06/30/GSoC-month-1-analysis/


===Links===
===Links===


The ''Pilot a Submarine'' activity is being developed in the [https://cgit.kde.org/gcompris.git/log/?h=gsoc_rudra_submarine  gsoc_rudra_submarine] branch of [https://cgit.kde.org/gcompris.git/ Gcompris-qt]
The ''Pilot a Submarine'' activity was developed in the [https://cgit.kde.org/gcompris.git/log/?h=gsoc_rudra_submarine  gsoc_rudra_submarine] branch of [https://cgit.kde.org/gcompris.git/ Gcompris-qt]


Phabricator task: https://phabricator.kde.org/T1529
Phabricator task: https://phabricator.kde.org/T1529
Commit Links:
Merged with master:
[https://github.com/gcompris/GCompris-qt/commit/4e5b91e9942a872f294a726ebf9897c648235091 4e5b91e9942a872f294a726ebf9897c648235091]
View commits in the gsoc_rudra_submarine branch [https://github.com/gcompris/GCompris-qt/commits/gsoc_rudra_submarine?author=RudraNilBasu here]
===Screenshots===
[[File:Submarine_scr_1.png]]
''Submarine activity in action''
[[File:Submarine_pickups.png]]
''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 [https://cgit.kde.org/gcompris.git/log/?h=GSoC-family 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 [https://cgit.kde.org/gcompris.git/log/?h=GSoC-family  GSoC-family] branch of [https://cgit.kde.org/gcompris.git/ Gcompris-qt]
Phabricator task: https://phabricator.kde.org/T6096
Commit links:
View my commit in the GSoC-family branch [https://github.com/gcompris/GCompris-qt/commits/GSoC-family?author=RudraNilBasu here]
===Mockups===
[[File:Family.png]]
''Current layout of Family activity''
[[File:Family_test_2.png]]
''Expected final layout''
===Screenshots===
Few "Before and After" screenshots for the ''Family'' activity
Left: Before
Right: After
[[File:family_before.jpg]]          [[File:family_after.jpg]]
Working of ''Family_find_relatives'' activity
[[File:Result.gif]]
==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 [https://cgit.kde.org/gcompris.git/log/?h=gsoc_pulkit_digital_electricity  gsoc_pulkit_digital_electricity] branch of [https://cgit.kde.org/gcompris.git/ Gcompris-qt]
Phabricator task: https://phabricator.kde.org/T1524
Commit Links:
View my commits for the activity in the gsoc_pulkit_digital_electricity branch [https://github.com/gcompris/GCompris-qt/commits/gsoc_pulkit_digital_electricity?author=RudraNilBasu here]


===Screenshots===
===Screenshots===
[[File:Submarine 2017 06 05.png]]
 
Tutorial Modes of Digital Electricity activity:
 
[[File:Level 21.png]]
''Tutorial on using BCD counter using a signal generator and displaying the count on the seven segment display''
 
[[File:Level 10.png]]
''A Basic tutorial on the NOR gate''


==Contact==
==Contact==
Line 63: Line 172:


'''IRC nickname''': rudra
'''IRC nickname''': rudra
'''IRC channel''': #gcompris

Latest revision as of 17:12, 27 August 2017

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

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

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

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