Summer of Code/2015/Abhishek

About Me
What is your name?

Abhishek Kaushik

'''What is your email address? ''' kabhi2104@gmail.com

'''What is your Sugar Labs wiki username?  kabhi2104'''

'''What is your IRC nickname on irc.freenode.net? ''' Abhishek

'''What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.) ''' English

'''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.) ''' Location: Deoghar, India

Time Zone: UTC + 5:30 (Indian Standard Time)

Working hours: 13:00 to 24:00 UTC (Flexible)

'''Have you participated in an open-source 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 open-source. If not, why do you want to work on an open-source project this summer? ''' I am new to Open Source. However i have earned a little contribution to an open source organisation, Code for India. 1.Code for India Github Handle: @stndlkr200 2.'''[http://wiki.codeforindia.org/new-projects/report-and-track-corruption/ Mentor for Govt. Project] Education is something which is very close to my heart. Sugar labs is an outstanding organisation. I am excited by each effort this organisation takes for child education. I came to know about sugar labs through OLPC laptops which i want in Govt. schools of New Delhi for kids. Gsoc 15 was few months ahead, so realized to finish something cool for kids in summer & contribute to Sugar labs as well.

About my project
'''What is the name of your project? PhysicsJS and DimensionJS (Javascript port of Physics and Dimensions activities)

'''Describe your project in 10-20 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? ''' PhysicsJS and DimensionJS are Javascript ports of Sugar's Physics & Dimensions activities. When Physics is a natural playground and a physical world simulator,Dimensions is a pattern matching game-'a wonderful tool to test observable skills' of students.

I have divided PhysicsJS development into 3 phases:

1. Creatable Physics which is similar to a Web Paint Program and it will match to sl physics activity.

2. Visual Physics 3.Physics Quiz.

One Additional feature would be to let user drop their own physics simulator to run PhysicsJS. Further i am planning to cast a comparison model of how well users model does vs observed data.

DimensionJS would be same as python version with bunch of smart behaviours of Robot. As said, Dimensions encourages observable skills of users, i will try mostly to make Dimensions as smart as possible.I have good skills in Data structures & Algorithms. This would help me smartly scale the difficulty levels of Dimension based on user smartness.

Education has to be collaborative & competitive. Physics & Dimensions are nice attributes to these senses. They not only let you imagine physical world eye to eye & match pattern at first place, they also provide a progression of tools for users such that they can go from simple to rich interactions with the powerful ideas in computation. I believe these projects will head to a big success in future.

Javascript is the heart of entire develoment this year. I would build above Sugars's modular web-activity template. Further i would use better tools or simulators for precise & perfect collisions or other physics behaviour as well, e.g. Box2djs,Matterjs etc.

'''What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.

'''Convince us, in 5-15 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.
 * Gsoc is the top priority in Summer. No prior commitments as such.


 * Familiar with most of the Sugar activities. Physics & Dimensions at top. Have revised the codebase as well, Familiar with Git. These prior knowledge would up speed my coding.


 * Can freely work 40-45 hrs a week during my vacation (May 12-July 10) & 30-35 hrs a week during college days.


 * Prior experience with Javascript,C++,Data Structures,Algorithms,Python(Basics),Web Optimization,Version Control.


 * I have led number of projects in past & and have been fortunate to finish them. So i am confident to finish these as well.

Relevant Projects in Past:
Vengeance Game Pseudo 3d Game Demo
 * Made Pseudo 3d Game when i started learning Javascript. **Use Chrome.

Techfest App
 * Made Pragyan OC App for College Techfest.

Demos of Sugarlabs Hack
 * Made few educational puzzles & Games under Sugarlabs Hack.

Others
 * Other simple contributions & Hacks on my github

You and the community
'''If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 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 non-GSoC mentors. ''' My Opinion: Sugar believes that "Everyone is a teacher and a learner". My projects Physics & Dimensions would be one of the best available tools for learners    and teachers. Around 3 Million Children are sugar users. We want Sugar and Sugar activities freely and readily available to learners everywhere, hence web ports are a dire need saying web platform are a faster & cheapest. Kids at any corner of world would be able to learn Physics practically and Dimensions to increase their observational skills that helps them think quickly & enrich their mental skills.

Walter:  The Physics activity is one of the more popular Sugar activities. However, it is getting harder to maintain since the core libraries it is based on are deprecated. A fresh start is warranted. Migrating to JS makes sense because (1) there are some well supported libraries and (2) there is the opportunity to import data from real-world sources in a web-based approach. Looking forward to seeing what you come up with.

Gonzalo: I think a open ended physics emulator activity, with a simple but powerful interface and a few clever examples the kids can use and modify would be a great addition to Sugar.There are good libraries for JS to do it, and will solve the limitations we currently have with our actual pygame implementation.

Emails: sam@sugarlabs.org, ignacio@sugarlabs.org .

 What will you do if you get stuck on your project and your mentor isn't around?

If i am stuck i always like to move on and keep the doubt in my stack. Will produce it once my mentor is back. Depending on the issue i get i will try first finding solution on my own via relevant sources say Google,StackOverflow,Sugar IRC etc. I feel there are lot of ways i can tackle this situation. Hence i will try to look upon myself for the solution in case my mentor is not around.

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 am planning to update my progress every Sunday on my sugar wiki. I am quite active on IRC as well and i believe is the fastest medium for me. Once my mentor appears i will pass links to my code & wiki to him to have a quick check up. I will create a thread on Mailing List as well that would help other developers for regular updates on PhyscisJS and DimensionsJS Development.

Miscellaneous
Screenshot of sugar development environment Home view

Describe a great learning experience you had as a child.

It was when i was in 6th standard. My Physics teacher asked me to explain the class, differences between "Regular & Irregular Reflections of Light".

I had a jumping ball in my bag. I asked my teacher, will he allow me to show a demo. He allowed and i did two experiments:

1. I asked class will ball bounce to me back if i throw it on smooth blackboard. They said yes. ''Hence "Regular Reflection". You can predict reflection behaviour in advance.''

2. I asked class which direction ball would reflect if i throw it to the rough wall near window, they couldn't answer and everybody gave different answers. ''Hence "Irregular Reflections". You cannot predict the reflection behaviour in advance. ''

Teacher gave me a KitKat in Lunch break :).