GSoC/2017/StatusReports/RudraNilBasu: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2017‎ | StatusReports
 
(7 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: Implementation done, currently in testing phase
             Status: Merged
         2.  '''Family'''
         2.  '''Family'''
             Status:  Implementation done, currently in testing phase
             Status:  Implementation done, currently in testing phase
         3.  '''Digital Electricity'''
         3.  '''Digital Electricity'''
             Status:  In Progress
             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 41: Line 41:
         6.  Determine Win-Loss scenario '''[DONE]'''
         6.  Determine Win-Loss scenario '''[DONE]'''
         7.  Implement UI for controlling the submarine components '''[DONE]'''
         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 52: Line 52:
===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===
===Screenshots===
Line 66: Line 73:
===Introduction===
===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. I will be improving 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 will be adding another activity extending the current "Family", where given a relation, the user will have to click on the correct pair
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===
===Goals===


Broadly, the items to be implemented are listed as follows:
Broadly, the items that were implemented are listed as follows:


         1.  Improve the current layout of the activity '''[DONE]'''
         1.  Improve the current layout of the activity '''[DONE]'''
Line 89: Line 96:


Phabricator task: https://phabricator.kde.org/T6096
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===
===Mockups===
Line 116: Line 127:
===Introduction===
===Introduction===


The ''Digital Electricity'' activity is aimed at simulating digital circuits real-time. A ''Free Mode'' already exists, and I will be implementing a ''Tutorial Mode'' which is aimed at teaching the children about how each of the components work in a digital circuit and their behaviours.
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===
===Goals===


Broadly, the items to be implemented are listed as follows:
Broadly, the items that were implemented are listed as follows:


         1.  Create two modes accessible via the config option in the bar  '''[DONE]'''
         1.  Create two modes accessible via the config option in the bar  '''[DONE]'''
         2.  For tutorial mode, import level components from dataset  '''[DONE]'''
         2.  For tutorial mode, import level components from dataset  '''[DONE]'''
         3.  Implement pre-built circuit for tutorial mode  '''[DONE]'''
         3.  Implement pre-built circuit for tutorial mode  '''[DONE]'''
         4.  Complete tutorials levels  '''[IN PROGRESS]'''
         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===
===Related Blog Posts===
Line 131: Line 145:
* http://rudranilbasu.me/blog/kde/2017/08/07/Digital-electricity/
* 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/15/Digital-electricity-tutorial-mode/
* http://rudranilbasu.me/blog/kde/2017/08/23/Digital-electricity-tutorial-levels/


===Links===
===Links===
Line 137: Line 152:


Phabricator task: https://phabricator.kde.org/T1524
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===
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 145: 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