Difference between revisions of "Summer of Code/2015/Abhishek"

From Sugar Labs
Jump to navigation Jump to search
m
(answered)
Line 26: Line 26:
 
I am new to Open Source. However i have earned a little contribution to an open source organisation Code for India.
 
I am new to Open Source. However i have earned a little contribution to an open source organisation Code for India.
 
  1.'''[https://github.com/orgs/code-for-india/people Code for India]''' Github Handle: '''[https://github.com/stndlkr200 @stndlkr200]'''
 
  1.'''[https://github.com/orgs/code-for-india/people Code for India]''' Github Handle: '''[https://github.com/stndlkr200 @stndlkr200]'''
  2.'''[http://wiki.codeforindia.org/new-projects/report-and-track-corruption/ Mentor for Govt. Project]  
+
  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 my capital with the help of existing Govt. Soon i explored the organisation and i started loving it. Fortunately Gsoc 15 was a step ahead so realized to finish something cool for kids & contribute to sugar labs as well.  
 
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 my capital with the help of existing Govt. Soon i explored the organisation and i started loving it. Fortunately Gsoc 15 was a step ahead so realized to finish something cool for kids & contribute to sugar labs as well.  
 
== About my project ==
 
== About my project ==
Line 33: Line 33:
  
 
'''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?<br>'''
 
'''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?<br>'''
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 which is a wonderful tool to test observable skills of students.
+
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 which is a wonderful tool to test observable skills of students.  
 +
 
 +
I have divided PhysicsJS development into 3 phases:
 +
 
 +
1. Making a Creatable Physics which is similar to a Paint Program and this section will be same as python version of our physics activity.
 +
 
 +
2. Developing Visual Physics 3. Developing 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 in smartly scale the difficulty levels of Dimension based on user smartness.
 +
 
 +
Education has to be collaborative & competitive. Physics & Dimensions are a 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. These project will head to a big success in future. Hence it is a dire need to make it for geeks who loves science & puzzle especially.
 +
 
 +
Javascript is the heart of entire develoment this year. I would build above already available Sugars's modular web-activity. Further i would use better tools or simulators for precise & perfect collisions or other physics behaviour as well, e.g. Box2djs. 
  
 
'''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.<br>
 
'''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.<br>

Revision as of 00:19, 20 March 2015

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.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 my capital with the help of existing Govt. Soon i explored the organisation and i started loving it. Fortunately Gsoc 15 was a step ahead so realized to finish something cool for kids & 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 which is a wonderful tool to test observable skills of students.

I have divided PhysicsJS development into 3 phases:

1. Making a Creatable Physics which is similar to a Paint Program and this section will be same as python version of our physics activity.

2. Developing Visual Physics 3. Developing 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 in smartly scale the difficulty levels of Dimension based on user smartness.

Education has to be collaborative & competitive. Physics & Dimensions are a 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. These project will head to a big success in future. Hence it is a dire need to make it for geeks who loves science & puzzle especially.

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

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.

Weeks Expected Tasks
April 28 - May 8 Discussing the core Functionalities & Features of PhysicsJS & DimensionJS with my mentor Walter. Conclude the expected features.
May 10 Document a brief Report of the project features & implementation details discussed above & send it to my mentor for a quick review.
May 10-May 13 Workout on design aspects of both Physics & Dimensions. Keep the design & UI/UX aspects ready. Get approved from Walter.
May 14-May 24 Create a basic Paint Environment (Physics Project) for Physics: Add following Tool Buttons that exist in current python version.

1.Draw-Lets you draw any shape by clicking & holding.

2.Circle-Lets you draw circle of any arbitrary radius.

3.Triangle-Equilateral Triangles of any size.

4.Box-Rectangles of any size.

5.Polygon-N edged polygon.

6.Grab-Used to drag existing objects on Screen with Mouse or Arrow Keys.

7.Motor-Add motors to object that is used to drive it with rotation once object is pinned.

8.Pin-Used to pin any shape on screen.If you impulse to object, it would rotate about the pin

9.Joint-Used to connect two objects with a rod.

10.Chain-Used to connect two objects via a flexible chain.

11.Palette Menu-To adjust properties of object like Mass,Bounciness,Friction. Also add palette menu for Motor & Chain.

May 25 - May 30 Add physics to above constructions similar to python version.For example: If a circular object drawn is released and falls over a rectangular object then collision

should be behavioural. I learnt box2d js a few days ago and currently strengthening my concepts into it to add physics robustly to above constructions.

June 15 Optimization of my code and give a final presentation of Creatable physics ( Physics Project Section) i.e "Physics Paint Program" to my mentor.

This Physics will match to current python version.

June 17 Discuss with Walter the other two plans of mine:

1.Visual Physics (Physics Lab): This section has basic real life physics simulation."Ideas to try" will be my first priority to for this section.

This section would encourage students to understand nature phenomenon beautifully and imagine physics eye on eye.

2.Answerable Physics (Physics Quiz): This section has a Quiz room with every question based on a physical simulation.

Users answer the questions and run simulation to check correct answer. Scoreboard to be made global & could be shared among schools to organise

sugar physics camps or quizzes across educational centers.

June 17 Document the above 2 idea and send it to Walter for a brief review. Keep the document in my stack & start Dimensions for now.
June 18- 20 Prepare a workflow of Prime Dimensions,Word Dimensions & Pattern Dimensions.

Plan out the role of Robot to make sure cards are delivered to kids as per aspired difficulty level.

June 20-26 Finish one out of three levels. Write a Scalable Code to make sure levels can be extended to any count in future.

Also Add Journal support to make sure game states are well recorded.

June 27 Apply for Mid Term Evaluation
June 28-June 29 Break if allowed. I will go for a day trip.
June 30-July 17 Finish Dimensions. Also Add Palette for category of cards. Work on increasing intelligence of Robot. Give it a finishing touch.

Take a quick review from Mentor & improvise if needed in a day or 2.

July 18-July 30 Work on Visual Physics. Adding Idea's to try simulations to Physics.
July 31-Aug 5 Code Physics Quiz Section. Plan to make 10-15 such Quizzes.
Aug 6-Aug 10 Wrap up optimization & UI improvements to Dimensions.
Aug 12 - Aug 20 Wrap up optimization & UI improvements to Physics.
August 22 Get Walter Quick Review.
Aug 23-Aug 25 Implement Mentor's suggestions if any. Write up documentation & wiki for PhysicsJS & DimensionJS
August 27-28 Organise the entire code & host all demos on relevant sugar domains.

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.
Okay

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.
Okay

Provide email contact information for non-GSoC mentors.
Okay

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

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? Okay

Miscellaneous

Screenshot of sugar development environment Home view

Describe a great learning experience you had as a child.