Difference between revisions of "Summer of Code/2016/LearnForFun"
Love Mehta (talk  contribs) 
Love Mehta (talk  contribs) 

Line 47:  Line 47:  
#*Compare to Conquer  <br />In this game the user is shown two expressions and an equality option. The player has to click on the expression which has greater value or the equals sign if the numbers are equal. With each wrong answer one life is deducted. Also an another game can be implemented which shows different measuring units (example gram and kilogram) to compare.  #*Compare to Conquer  <br />In this game the user is shown two expressions and an equality option. The player has to click on the expression which has greater value or the equals sign if the numbers are equal. With each wrong answer one life is deducted. Also an another game can be implemented which shows different measuring units (example gram and kilogram) to compare.  
#*Math Ship  <br />In this game the player is given two mathematical operations simultaneously and a space racer is shown on the screen moving in space. To dodge the meteors one has to answer either the expression given on the left which makes the spaceship move left or the expression on the right which makes the spaceship move to the right. Also a simple vedic maths trick for multiplication of a two digit number with 11 can be included in this game by showing tutorial in the beginning and using expressions based on this trick in the game.  #*Math Ship  <br />In this game the player is given two mathematical operations simultaneously and a space racer is shown on the screen moving in space. To dodge the meteors one has to answer either the expression given on the left which makes the spaceship move left or the expression on the right which makes the spaceship move to the right. Also a simple vedic maths trick for multiplication of a two digit number with 11 can be included in this game by showing tutorial in the beginning and using expressions based on this trick in the game.  
+  #*MasterMind  <br />Mastermind is a traditional codebreaking game. In this game the player has to guess a 4 digit number using as much less steps as possible.  
#'''Reasoning and Understanding '''  #'''Reasoning and Understanding '''  
+  #*Color Trio  An advanced port for Sugar activityImplode. The link for this activity is https://wiki.sugarlabs.org/go/Activities/Implode  
#*Grammar Game<br />A game which tests the grammatical reasoning of the player by showing a set of statement and a corresponding image. The player has to check the validity of the statement from the image and answer by clicking on true or false.  #*Grammar Game<br />A game which tests the grammatical reasoning of the player by showing a set of statement and a corresponding image. The player has to check the validity of the statement from the image and answer by clicking on true or false.  
#*Odd One Out  <br />This is a game in which the player has to select the odd one out from the images shown on the screen. The participant must work out which of the three is the odd one out, solving as many problems as possible within given time.  #*Odd One Out  <br />This is a game in which the player has to select the odd one out from the images shown on the screen. The participant must work out which of the three is the odd one out, solving as many problems as possible within given time.  
#*Seesaw Time  <br />In this game two seesaw orientations are given showing a certain relationship between three different items. The player has to identify which of the three items is the heaviest.  #*Seesaw Time  <br />In this game two seesaw orientations are given showing a certain relationship between three different items. The player has to identify which of the three items is the heaviest.  
#*Motion Capture <br />Leaves of a particular color will be shown flying in a particular direction on the screen. For the green leaves the player has to answer the direction of motion while for the brown leaves player will have to answer the direction in which they are pointing. Each round shows one type of leaves flying in a random direction (up, down, left or right) and pointing in a random direction (up, down, left or right). Player has to reply according to the color of the leaves. This game helps enhance the presence and flexibility of mind.  #*Motion Capture <br />Leaves of a particular color will be shown flying in a particular direction on the screen. For the green leaves the player has to answer the direction of motion while for the brown leaves player will have to answer the direction in which they are pointing. Each round shows one type of leaves flying in a random direction (up, down, left or right) and pointing in a random direction (up, down, left or right). Player has to reply according to the color of the leaves. This game helps enhance the presence and flexibility of mind.  
−  #'''Quick  +  #'''Quick Learning ''' 
+  #*Garden Walk It is a port of the sugar game activity falabracman. The link for this game is  http://activities.sugarlabs.org/enUS/sugar/addon/4215. This game helps children learn new words.  
#*Quick Time <br />This game teaches a nice and simple way to add hours and minutes together using simple vedic maths trick. It can help children to learn to tell time faster and in a fun way.<br />For Example<br />To add 1 hour and 40 minutes to 3 hrs and 35 minutes. We write 1 Hour 40 minutes as 140 and 3 Hours 35 minutes as 335 and then add these two numbers.<br />140 + 335 = 475<br />Now just add time constant of 40 to the subtotal and reconvert the time to hours and minutes. The obtained time will be the answer. In our example if we add 40<br />40 + 475 = 515<br />we get 515 which is equivalent to 5 hours and 15 minutes (Correct Answer!!).  #*Quick Time <br />This game teaches a nice and simple way to add hours and minutes together using simple vedic maths trick. It can help children to learn to tell time faster and in a fun way.<br />For Example<br />To add 1 hour and 40 minutes to 3 hrs and 35 minutes. We write 1 Hour 40 minutes as 140 and 3 Hours 35 minutes as 335 and then add these two numbers.<br />140 + 335 = 475<br />Now just add time constant of 40 to the subtotal and reconvert the time to hours and minutes. The obtained time will be the answer. In our example if we add 40<br />40 + 475 = 515<br />we get 515 which is equivalent to 5 hours and 15 minutes (Correct Answer!!).  
#*Quick Temp  <br />This game teaches fast but approximate temperature conversion trick to children. To convert temperature from Fahrenheit to Celsius just subtract 30 and divide the answer by 2. And to convert from celsius to Fahrenheit we just have to do the reverse of the trick. Multiply the value by 2 and add 30 to it.Remember, the answer is not exact but it gives you a rough idea.  #*Quick Temp  <br />This game teaches fast but approximate temperature conversion trick to children. To convert temperature from Fahrenheit to Celsius just subtract 30 and divide the answer by 2. And to convert from celsius to Fahrenheit we just have to do the reverse of the trick. Multiply the value by 2 and add 30 to it.Remember, the answer is not exact but it gives you a rough idea. 
Revision as of 18:19, 23 March 2016
Learn For Fun  Sugar Activity
About You
What is your name?
My name is Love Mehta. I am a Bachelor of Technology (B.Tech), Sophomore Year, Computer Science and Engineering undergraduate student at Indian Institute of Technology, Ropar.
What is your email address?
My Primary Email  lovemehta.me@gmail.com
Alternate Email  2014csb1018@iitrpr.ac.in
What is your Sugar Labs wiki username?
Love Mehta
What is your IRC nickname on irc.freenode.net?
lovemehta
What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)
I am a native speaker of Hindi, But I am fluent in English as well.
Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)
I live in Punjab, India. And I tend to work from 11.00am to 9.30pm UTC on weekdays and 3.30 am to 9.30pm UTC on weekends but this is adjustable.
Have you participated in an opensource project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in opensource. If not, why do you want to work on an opensource project this summer?
I am new in open source and I want to work in open source because I believe in software freedom. I use GNU/Linux for my daytoday work and software development. I also use several other open source services like Libreoffice, Moodle, MozillaFirefox etc. OpenSource development has introduced me to a whole new world of software development which I was unaware of previously. It has been a great experience to learn new frameworks and to work on building something new using them from my sophomore year itself. I have enjoyed my journey of getting to know people on irc and mailing lists while applying for GSoC and learning from them. It's amazing how people from different time zones can come together to work as a community. I think it would be the best utilization of my summer holidays to work on an opensource project this summer.
About your project
What is the name of your project?
Learn For Fun
Describe your project in 1020 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?
The soul ambition of this project is to implement such games which can help children learn mathematical concepts and increase their reasoning capabilities using some well known techniques like vedic maths, abacus and various other game activities.
I will be implementing 11 different games under this activity. These games are divided further into subcategories like Mental Maths, Reasoning, Quick Science and Memory. Descriptions of these games are given below.
In all of these games the player gets three lives and the game ends if the player runs out of lives by answering incorrectly .
 Mental Maths 
This section includes games based on mathematical operations like counting, addition, subtraction, multiplication, division, divisibility tests etc. I am going to add 3 games in this section. Polygon Shower 
In this game polygons will be falling from the sky and player has to identify their names in order to collect points. This game helps children to learn about different types of polygons in a fun way. Player loses a life if a polygon touches the ground.  Compare to Conquer 
In this game the user is shown two expressions and an equality option. The player has to click on the expression which has greater value or the equals sign if the numbers are equal. With each wrong answer one life is deducted. Also an another game can be implemented which shows different measuring units (example gram and kilogram) to compare.  Math Ship 
In this game the player is given two mathematical operations simultaneously and a space racer is shown on the screen moving in space. To dodge the meteors one has to answer either the expression given on the left which makes the spaceship move left or the expression on the right which makes the spaceship move to the right. Also a simple vedic maths trick for multiplication of a two digit number with 11 can be included in this game by showing tutorial in the beginning and using expressions based on this trick in the game.  MasterMind 
Mastermind is a traditional codebreaking game. In this game the player has to guess a 4 digit number using as much less steps as possible.
 Polygon Shower 
 Reasoning and Understanding 
 Color Trio  An advanced port for Sugar activityImplode. The link for this activity is https://wiki.sugarlabs.org/go/Activities/Implode
 Grammar Game
A game which tests the grammatical reasoning of the player by showing a set of statement and a corresponding image. The player has to check the validity of the statement from the image and answer by clicking on true or false.  Odd One Out 
This is a game in which the player has to select the odd one out from the images shown on the screen. The participant must work out which of the three is the odd one out, solving as many problems as possible within given time.  Seesaw Time 
In this game two seesaw orientations are given showing a certain relationship between three different items. The player has to identify which of the three items is the heaviest.  Motion Capture 
Leaves of a particular color will be shown flying in a particular direction on the screen. For the green leaves the player has to answer the direction of motion while for the brown leaves player will have to answer the direction in which they are pointing. Each round shows one type of leaves flying in a random direction (up, down, left or right) and pointing in a random direction (up, down, left or right). Player has to reply according to the color of the leaves. This game helps enhance the presence and flexibility of mind.
 Quick Learning 
 Garden Walk It is a port of the sugar game activity falabracman. The link for this game is  http://activities.sugarlabs.org/enUS/sugar/addon/4215. This game helps children learn new words.
 Quick Time 
This game teaches a nice and simple way to add hours and minutes together using simple vedic maths trick. It can help children to learn to tell time faster and in a fun way.
For Example
To add 1 hour and 40 minutes to 3 hrs and 35 minutes. We write 1 Hour 40 minutes as 140 and 3 Hours 35 minutes as 335 and then add these two numbers.
140 + 335 = 475
Now just add time constant of 40 to the subtotal and reconvert the time to hours and minutes. The obtained time will be the answer. In our example if we add 40
40 + 475 = 515
we get 515 which is equivalent to 5 hours and 15 minutes (Correct Answer!!).  Quick Temp 
This game teaches fast but approximate temperature conversion trick to children. To convert temperature from Fahrenheit to Celsius just subtract 30 and divide the answer by 2. And to convert from celsius to Fahrenheit we just have to do the reverse of the trick. Multiply the value by 2 and add 30 to it.Remember, the answer is not exact but it gives you a rough idea.
 Memory 
 Flashing Numbers 
Random digits will be flashed on the screen one by one and after all the digits are shown the player will have to enter the digits in the same order as flashed earlier to win the round. The number of digits flashed increases with each round.  MindMath 
Random digits will be shown on the screen in random places. The player has to click the digits in ascending order and also add them as he/she goes. Finally clicking the correct sum will earn you points.
 Flashing Numbers 
For development of these games I'll be using web development languages like HTML , CSS and Javascript for basic game shell. The framework I'll be using for game development is Phaser (http://phaser.io/). It provides a fast, free and fun open source framework for canvas and WebGL powered browser games. It provides the Arcade/P2 Physics System which can be used according to the physics interaction required in the game. Along with these I'll be using Inkscape or any other similar tool to produce artworks used in the games.
What is the timeline for development of your project? The Summer of Code work period is from midMay to midAugust; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (end of June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
In my understanding this project requires the following main tasks which can be completed by using the given languages and frameworks:
 Designing the overall architecture or main page module of the activity : Mainly using the web development languages like HTML,CSS and Javascript. Buildup will be on the basic Sugarizer design.
 Designing the artworks to be used in the games and using the artworks available through various free sources and developing new ones using InkScape.
 Writing programs for the games explained above .
Timeline 
Week  Scheduled Work 

April 22May 22
(Community Bonding period) 
* Discuss the ideas of the games in the community.

Week 1 (May 23May 29)  Mental Maths Activity  Polygon Shower:
Start working on  Reasoning Game  Grammar Game 
Week 2 ( May 30  June 5)  Reasoning Game  Grammar Game:
Start Quick Science Game  Quick Time

Week 3 (June 6  June 12)  Finish working on Quick Time
Work on Memory Game  Flashing Numbers

Week 4 (June 13 June 20)  Finish the code for Game Flashing Numbers.
First Deliverable  Learn for Fun activity with five different games (at least one game under each category) Start working on Mental Maths Game  Compare to Conquer Prepare the activity for midterm Evaluations. 
Week 5 (Midterm Evaluations)  Finish the code for Compare to Conquer.
Reasoning and understanding Game  Odd One Out

Week 6 (June 29 July 3)  Responding to MidTerm Evaluations:
Going through the evaluations and improving activities and fixing bugs accordingly. 
Week 7 (July 4  July 10)  Quick Science Game  Quick Temp

Week 8 (July 11  July 17)  Memory Game  Mind Math

Week 9 (July 18  July 24)  Mental Math Game  Math Ship

Week 10 (July 25  July 31)  Reasoning and Understanding Game  Seesaw Time
Second Deliverable Completed Learn for Fun activity with 11 games under four different categories. 
Week 11 (August 1  August 7)  Buffer Week
Work on Documentation Host the activity on a github page and share the link in Sugar Labs community for feedback and bugs. 
Week 12 (August 8  August 16)  Address all the feedback and fix bugs.
Test all the games, clean and organize the code. 
Week 13 (Code Submission and Evaluations )  Clean the code, improve documentation, and submit code . 
Other commitments during this period 
April 22(Fri) – May 05 (Thu) : I have Major Examination for this semester. So, I will be less active in this duration. This duration comes under the community Bonding Period. But I will be devoting more time for the rest of the period or before exams (around ten hours a day) to compensate for this.
Convince us, in 515 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
I have been a programming enthusiast since my school days. I enjoy developing websites and doing front end work. Following are some of my projects:
 Developed an Official Mentorship Website for Indian Institute of Technology, Ropar, which helps guide freshers to have a smooth transition from school life to college life. The link to the website is  https://www.iitrpr.ac.in/smp
 Developed an Ecommerce website for a 24 hour Webathon Event held at Indian Institute of Technology, Ropar. Link to the website is  http://freecommerce.freevar.com
 Developed a game Meteor Shower using Phaser.io. It is shared on github here  https://github.com/lovemehta/MeteorShower
You can also play the game here http://lovemehta.github.io/MeteorShower
 Developed a simple platform game interface Jumping Jack using Phaser.io. It's source code is shared on github here – https://github.com/lovemehta/TheJumpingJack
And it can be played here  http://lovemehta.github.io/TheJumpingJack
Given below is the detailed information about time contribution to the GSoC project. As I do not have any other long term commitments this summer, completion of this project is my top priority.
During the length of this semester (i.e. Until May 06)  I can easily manage to squeeze at least 6 hours a day (due to classes in the daytime) on weekdays and 810 Hours a day on weekends. In total around 45 hours a week.
Most active period ( May 6 to July 25) – I will be having summer vacations during this period and can dedicate avg. 810 hours of work per day accordingly to the requirement of the project. On an average around 5060 hours a week.
My next semester will start from July 25 and as the workload is very less in the starting of the semester I think I can dedicate 78 hours daily in this duration (July 25  August 23).
You and the community
If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 13 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for nonGSoC mentors.
Among kids learning mathematics and taking up mental ability exercise is usually associated with anything but fun. But learning can be a lot easier if we move from learning to playing. When we play we level up , when we level up we get interested , when we are interested we grow , when we grow  that's when we learn.
By the end of this project, Sugarizer will be having a whole new Sugarizer Activity which provides various games that help enhance the mental ability, mathematical and logical reasoning and scientific aptitude of children. This activity provides a different learning experience using games which can make Sugarizer more content rich and enjoyable educational platform.
Also more game developers who like this idea of making learning fun will be attracted towards this activity and the Sugar Labs Community as they can dedicate their innovative ideas for teaching based games to such activities.
What will you do if you get stuck on your project and your mentor isn't around?
Being a computer science major and a programmer from the past two years, I have developed great proficiency in using Google to solve my problems effectively. So my first resort will be to try to find out the solution to the problem myself.
My second resort will be the community members and other mentors I have interacted with when I was new to the community.
My third resort will be my college faculties. As IIT's are the most prestigious institutions in India, we have the most dedicated and knowledgeable teachers who are always there when it comes to helping students.
How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?
I will be writing a blog frequently about my work which can be a good tracking record of the project and will share it with mentors if required. Also I'll be sharing each game on a Github Page for reviews which can help in tracking my progress.
Miscellaneous
If you plan to work on SugarWeb projects we want to be sure that you're familiar with web technologies, so:
 Clone the Sugarizer repository
 Using instructions here develop your first SugarWeb activity
 Send us a screenshot of your new activity executed in Sugarizer
I have written a simple snake and apple game for Sugarizer. The screenshots of which are shown below.
Describe a great learning experience you had as a child.
As a child I was a very curious one. I always used to annoy people with my how's and why's about a lot of things. This curiosity instinct has helped me till now to achieve good marks and perform well in my studies. But in the start I wasn't so much fond of studying. One day when I was in fifth standard our science teacher took us to the computer lab and showed us a very nice presentation on the projector. It was about our solar system. That day I was really mesmerized by the animations and the special type of class we had for the first time. Owing to that experience I learned how to make such powerpoint slideshow and present them in the class. I also won a prize for the same in the sixth standard.
Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?
Can't think of anything as such right now. Will edit this answer if something crosses my mind.