Ascending order activity
Closed, ResolvedPublic

Description

Description: The activity is focused on arranging a given set of numbers in ascending order.

Pre-requisites: Basic maths

Goal: Learn how to arrange few numbers in a given order

Link: https://github.com/gcompris/GCompris-qt/pull/172

Manual: Few tiles containing numbers as their labels are provided. They can be dragged and dropped using any pointing device to another location to change their position. In this way, arrange the tiles in the increasing order of the numbers present as their labels.

Details

Differential Revisions
Restricted Differential Revision
jjazeix moved this task from Backlog to WIP on the GCompris: Activities board.Feb 25 2017, 6:06 PM
rudranilbasu updated the task description. (Show Details)
dmadaan moved this task from Need review to WIP on the GCompris: Activities board.Nov 25 2017, 8:08 PM
dmadaan added a project: Season of KDE.
jjazeix removed rudranilbasu as the assignee of this task.Dec 3 2017, 12:26 PM

can i work on this activity as my sok project

What is left to complete in this activity, can someone let me know so that i may complete it.

jjazeix added a subscriber: jjazeix.EditedDec 21 2018, 3:09 PM

Sorry for delay.

  • Renaming the activities to Ordering numbers, Ordering letters.

If possible we want to have the elements ordered inside the json file. This way, we can add a new mode with images (for example, containing a number of butterflies to order).

  • Randomly generate the level, and use the ordering of the json file instead of a specific function.
  • In the dataset, we'll probably have bigger words/number than 1000. They need to be correctly displayed (not going other their boxes).
  • Add a words mode (probably using the dataset from lang/words activity).
AkshayCHD added a revision: Restricted Differential Revision.Jan 29 2019, 5:51 PM

When I reduce the window size, numbers are disappearing (see level 3). They should be reordered on a lower line.

Improving reordering:

DelegateModelGroup Move function take in charge the move behaviour, creating empty spaces between components (placeholder). This should be included for a better user experience.
https://doc.qt.io/qt-5/qml-qtqml-models-delegatemodelgroup.html

Here is an example:
Creation of VisualModel
https://github.com/allon49/taskView/blob/master/TaskBoard.qml#L33
Using VisualModel move
Used when a component enters an other component to reorder:
https://github.com/allon49/taskView/blob/master/TasksColumn.qml#L245.

Make it a generic multipledataset activity
Now that we have multipledataset implemented we should make this activity fully customizable.
Ordering can be used in many fields of education:
math: ordering in numbers, but also fractional numbers, decimal numbers
preschool: ordering chronological images
french: ordering letters, knowing that alphabetical order is not the same in every country. Ordering words.

Taking Johnny's idea from the last comment we should have in our multipledataset the choice to:

  • allowing to choose per level if we are ascending or descending
  • Randomly generate levels from given elements
  • adding objectives
  • adapt the ordering boxes to the size of the biggest content (image, words numbers)
  • having an input string in dataset allowing to take
    • words: "apple","bees",trumpet"
    • numbers: 1;2;2.5;2.6 or in french 1;2;2,5;2,6 or and I do not know how to display it 1/4;1/2;1;3/2
    • images: "ignition";"flying";"landing" pointing to a set of images
hadron added a subscriber: hadron.EditedJan 7 2021, 5:37 PM

Can I work on this? What all needs to be done?

Hi,
This is a huge task, not that easy. If you have time it is ok for me, but this will be a long one to do.
I can help you on it if Tim and Johnny are ok for you to do it.

Sure! @timotheegiet @jjazeix Can I work on this?

It's ok for me if you want to work on it.

good for me too, but it needs to be clear on what to do.

@echarruau : There are already 2 branches (https://invent.kde.org/education/gcompris/-/tree/gsoc-alphabetical_order and more recently https://invent.kde.org/education/gcompris/-/tree/ascending_order), so are they reusable? If yes, what is missing (functionnally) except what I wrote on https://phabricator.kde.org/T5461#170684 and multiple dataset (which didn't exist at that time)?

Or should @hadron starts from scratch again because the existing base is not good enough?

hadron added a comment.Jan 9 2021, 5:01 PM

Could you please summarize what needs to be done? @echarruau

echarruau added a comment.EditedJan 10 2021, 1:44 PM

gsoc alphabetical order isn't usable, just hardcoded and not much to reuse.
You can restart from ascending order but using

specification:
1- activity name: ordering (this will be a generic activity used to create many other one)
2- multipledataset will contain sets of symbols: [1,2,3,4,5] or [a,â,ä,b,c,ĉ,d] or [a,abricot,appel] there will be no logic there made to chck alphabetical order, activity will only associate an order according to the given element places
3- DelegateModelGroup QML Type needs to be used to be able to have good experience use and clean code, be caregul delegate model do not change anything to the order. To understand delegate model you need to try it using this tutorial
https://doc.qt.io/qt-5/qtquick-tutorials-dynamicview-dynamicview1-example.html
4- elements should be presented on multiple lines, giving input element at the bottom and presenting it on a line, you can find an example here used in duolingo https://youtu.be/g1Pg5tpxsek?t=81
5- if screen is too small presenting elements in the final ordering zone
6- It should be able to present images too!

I will see if I think about more specification.

hadron claimed this task.Jan 21 2021, 4:12 PM

I removed the right to left text point.

hadron moved this task from WIP to Need review on the GCompris: Activities board.Jan 30 2021, 2:08 PM
hadron closed this task as Resolved.Jan 31 2021, 6:21 PM
hadron moved this task from Need review to WIP on the GCompris: Activities board.
hadron reopened this task as Open.
hadron closed this task as Resolved.May 22 2021, 3:38 AM