Changes

Undo revision 95273 by Richa Sehgal (talk)
Line 1: Line 1:    −
=== <strong>About Me</strong> ===
+
== <strong>About Me</strong> ==
 
* <strong>What is your name?</strong>
 
* <strong>What is your name?</strong>
 
My name is Richa Sehgal.
 
My name is Richa Sehgal.
Line 18: Line 18:  
A small note: During the proposal making days, I developed a working prototype as a proof-of-concept. The prototype code is on Github:
 
A small note: During the proposal making days, I developed a working prototype as a proof-of-concept. The prototype code is on Github:
   −
<strong>About my Project</strong>
+
https://github.com/richaseh/Interactive-JavaScript-Shell-Prototype
 +
 
 +
==<strong>About my Project</strong>==
 
* <strong>What is the name of your project?</strong>
 
* <strong>What is the name of your project?</strong>
 
Interactive Javascript Shell.
 
Interactive Javascript Shell.
Line 28: Line 30:  
# A tool that can show “what wonders the theory can do”, i.e., give him a feel of the practical applications.
 
# A tool that can show “what wonders the theory can do”, i.e., give him a feel of the practical applications.
 
# Given that many students who use Sugar do not potentially have access to internet, it would be very useful if we can provide these in offline mode too.
 
# Given that many students who use Sugar do not potentially have access to internet, it would be very useful if we can provide these in offline mode too.
<gallery>File:3pillarslearning.jpg</gallery>
     −
Link: http://drive.google.com/uc?export=view&id=0B5M4lG4YNKr-VGdrYmNiS2h6d1E
+
 
 +
[[File:3pillarslearning.jpg|thumb|900x900px||centre]]
 +
 
 +
 
    
Keeping these 3 goals in mind, the current project aims to provide an offline-enabled integrated development environment to learn JavaScript.
 
Keeping these 3 goals in mind, the current project aims to provide an offline-enabled integrated development environment to learn JavaScript.
Line 43: Line 47:       −
Link: http://drive.google.com/uc?export=view&id=0B5M4lG4YNKr-Ym9uVExDdHEtNWs
+
[[File:TryNowPrototype.jpg|thumb|1100x1100px||centre]]
 +
 
      Line 49: Line 54:     
Technologies to be used: JavaScript, HTML and CSS for implementation of the Interactive Shell. I would also need Python to integrate this with Journal and Sugar in general.
 
Technologies to be used: JavaScript, HTML and CSS for implementation of the Interactive Shell. I would also need Python to integrate this with Journal and Sugar in general.
 +
 +
 
* <strong>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.</strong>
 
* <strong>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.</strong>
{|
+
{| class="wikitable"
|<strong>ffyyfffWeekfyffffff</strong>
+
! style="width: 150px;" | Week
|<strong>Task</strong>
+
!Task
 
|-
 
|-
 
|27 April-19 May
 
|27 April-19 May
Line 98: Line 105:  
|Firm pencil down and Final Evaluations.
 
|Firm pencil down and Final Evaluations.
 
|}
 
|}
 +
 +
 
* <strong>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.</strong>
 
* <strong>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.</strong>
 
I completed my Bachelor’s from Indian Institute of Technology - Delhi, India and am currently a Master’s student in University of Illinois at Urbana Champaign, USA. Being a part of such prestigious institutes famous for their strong competitive environment, I have excellent skills to manage time and deliver quality work within the prescribed deadline. I have done various projects.
 
I completed my Bachelor’s from Indian Institute of Technology - Delhi, India and am currently a Master’s student in University of Illinois at Urbana Champaign, USA. Being a part of such prestigious institutes famous for their strong competitive environment, I have excellent skills to manage time and deliver quality work within the prescribed deadline. I have done various projects.
Line 105: Line 114:  
The first step was to develop a tool where students can write and execute HTML, CSS and JavaScript code. I made a small prototype for this purpose. The following is its screenshot:
 
The first step was to develop a tool where students can write and execute HTML, CSS and JavaScript code. I made a small prototype for this purpose. The following is its screenshot:
   −
<gallery>File:Prototype1.jpg</gallery>
     −
Link: http://drive.google.com/uc?export=view&id=0B5M4lG4YNKr-NXpJQXMzTEZpdE0
+
[[File:Prototype1.jpg|thumb|1100x1100px||centre]]
 +
 
 +
 
    
Then we realized that the book “Eloquent JavaScript” employs heavy use of console, especially the functions console.log and console.error, and we discussed that it would be good if we can display console within the tool as the Browse Activity’s console is very inconvenient to checkout. I modified my prototype, and put in some code that would intercept calls to browser’s console and would display within my tool. The following is the screenshot:
 
Then we realized that the book “Eloquent JavaScript” employs heavy use of console, especially the functions console.log and console.error, and we discussed that it would be good if we can display console within the tool as the Browse Activity’s console is very inconvenient to checkout. I modified my prototype, and put in some code that would intercept calls to browser’s console and would display within my tool. The following is the screenshot:
   −
Link: http://drive.google.com/uc?export=view&id=0B5M4lG4YNKr-OVZhQTRrRnBFajg
+
 
 +
[[File:Prototype2.jpg|thumb|1100x1100px||centre]]
 +
 
 +
 
    
Finally, to demonstrate how this tool would work in the Browse Activity in Sugar in offline mode, I integrated my prototype with the Sugar platform. I used the Browse.Activity/data folder to put my code files. The following screenshot shows the power of this tool for students using Sugar. Here Sugar is running on Ubuntu VM on VirtualBox and the prototype is opened in the Browse Activity.
 
Finally, to demonstrate how this tool would work in the Browse Activity in Sugar in offline mode, I integrated my prototype with the Sugar platform. I used the Browse.Activity/data folder to put my code files. The following screenshot shows the power of this tool for students using Sugar. Here Sugar is running on Ubuntu VM on VirtualBox and the prototype is opened in the Browse Activity.
   −
Link: http://drive.google.com/uc?export=view&id=0B5M4lG4YNKr-QWtoaS1fWmQ4Zms
+
 
 +
[[File:Prototype3.jpg|thumb|1100x1100px||centre]]
 +
 
 +
 
    
This proof-of-concept demonstrates my computer science skills and my ability to work with the community on complex problems to deliver the results in a very systematic, step-by-step fashion. After developing this prototype, I asked Tony, “What should be my next step?” to which he replied, “The last is a superb question. You have already accomplished what I feel is needed.” I am confident that I would be able to complete this project in the given timeline.
 
This proof-of-concept demonstrates my computer science skills and my ability to work with the community on complex problems to deliver the results in a very systematic, step-by-step fashion. After developing this prototype, I asked Tony, “What should be my next step?” to which he replied, “The last is a superb question. You have already accomplished what I feel is needed.” I am confident that I would be able to complete this project in the given timeline.
Line 121: Line 137:  
<strong>Note:</strong> The above prototype is an actual implementation and not just a design-on-paper, and was developed to demonstrate the core of the tool. The prototype uses primitive JavaScript functions and APIs, and has no dependency on any external library like jquery, etc. Although we can have these external libraries stored locally, but I felt this might be an overhead, and hence my decision for the prototype. The code can be found on Github:
 
<strong>Note:</strong> The above prototype is an actual implementation and not just a design-on-paper, and was developed to demonstrate the core of the tool. The prototype uses primitive JavaScript functions and APIs, and has no dependency on any external library like jquery, etc. Although we can have these external libraries stored locally, but I felt this might be an overhead, and hence my decision for the prototype. The code can be found on Github:
   −
<strong>Me and the Community</strong>
+
https://github.com/richaseh/Interactive-JavaScript-Shell-Prototype
 +
 
 +
 
 +
==<strong>Me and the Community</strong>==
 
* <strong>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.</strong>
 
* <strong>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.</strong>
 
<strong>My answer:</strong>
 
<strong>My answer:</strong>
Line 144: Line 163:  
If Richa's work can help some of our students delve into this text and to understand some of the concepts fundamental to computer science, they will not only have fun growing in their skills but be building an intellectual basis for continuing their education to an advanced level.
 
If Richa's work can help some of our students delve into this text and to understand some of the concepts fundamental to computer science, they will not only have fun growing in their skills but be building an intellectual basis for continuing their education to an advanced level.
   −
<strong><br>
+
 
<br>
+
<strong>Walter Bender (GSoC Mentor):</strong>
Walter Bender (GSoC Mentor):</strong>
      
Regarding why I think this is an important project for the community, it is quite straightforward: We provide the source code to all of Sugar and we provide a FOSS license so that the learner has the right to make changes, but it is only by giving the learner the means to make changes that the impact is realized. This project is about giving the means.
 
Regarding why I think this is an important project for the community, it is quite straightforward: We provide the source code to all of Sugar and we provide a FOSS license so that the learner has the right to make changes, but it is only by giving the learner the means to make changes that the impact is realized. This project is about giving the means.
 +
 +
 
* <strong>What will you do if you get stuck on your project and your mentor isn't around?</strong>
 
* <strong>What will you do if you get stuck on your project and your mentor isn't around?</strong>
 
One thing in which I have developed a real proficiency over the past few years is how to use Google effectively. So this would be the first place where I would look for the answers. This would cover the technology part like frameworks and languages like JavaScript, etc. In case my problem is related to Sugar platform, like getting some error while using my code or not understanding how one module interacts with another and so on, I would reach to the community through mailing lists and IRC. While discussing the project ideas, in addition to my mentor, I also had helpful discussions with Sam and Sebastian, so I am sure the community would help me. In the worst case, which seems unlikely, I will try to take help from my professors and a few friends who have guided me in the past, or use online resources like stack overflow, Quora, etc to get the solutions.
 
One thing in which I have developed a real proficiency over the past few years is how to use Google effectively. So this would be the first place where I would look for the answers. This would cover the technology part like frameworks and languages like JavaScript, etc. In case my problem is related to Sugar platform, like getting some error while using my code or not understanding how one module interacts with another and so on, I would reach to the community through mailing lists and IRC. While discussing the project ideas, in addition to my mentor, I also had helpful discussions with Sam and Sebastian, so I am sure the community would help me. In the worst case, which seems unlikely, I will try to take help from my professors and a few friends who have guided me in the past, or use online resources like stack overflow, Quora, etc to get the solutions.
 +
    
<strong><strong> </strong></strong>
 
<strong><strong> </strong></strong>
Line 158: Line 179:  
<strong><strong> </strong></strong>
 
<strong><strong> </strong></strong>
   −
<strong>Miscellaneous</strong>
+
==<strong>Miscellaneous</strong>==
 
* <strong>We want to make sure that you can set up a development environment before the summer starts. Please do one of the following:</strong>
 
* <strong>We want to make sure that you can set up a development environment before the summer starts. Please do one of the following:</strong>
 
* <strong>Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "logout".</strong>
 
* <strong>Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "logout".</strong>
<strong><br>
+
<strong><br></strong>
</strong>
+
 
 +
[[File:SugarHWRicha.jpg|thumb|1100x1100px||centre]]
 +
 
 +
 
 +
* <strong>Describe a great learning experience you had as a child.</strong>
 +
I was having chat with Walter on IRC when he referred to the Lego movie. The reference to Lego brought back a great memory which I would like to share here. When I was a child, I loved to play with Lego blocks. Once, I had a complex task to accomplish - it was to build a small car. I put several hours and completed it. I was feeling really happy, when I suddenly dropped it and it broke. My father looked at me and said, "Reputation, honor and trust are like these Lego blocks - they take years to build, but one wrong move, and everything vanishes in an instant." I looked back with determination to build it again, and put few hours to assemble the car. My father then said, "All of these can be build again. But depending on your wrong move, you may have to start from step 0." I have always kept his words in my mind as a guiding principle ever since.
 +
 
   −
<strong>Link:  </strong>https://drive.google.com/file/d/0B5M4lG4YNKr-UmtCdzBDSDFDT1E/view?usp=sharing
   
* <strong>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?</strong>
 
* <strong>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?</strong>
During my bachelors, I used to teach underprivileged students during the evenings. One thing I realized was that it is very difficult to keep them motivated to come to class regularly, student retention was a major problem. While they were excited at first, but slowly the excitement turned into boredom, primarily because they could not see the scope of what they were learning, and the regular black-board teaching was not helping. Once I showed them my smartphone and a game, they became crazy. At that point, I realized how technology can be an effective medium to develop applications that can help students learn. While going through the various organizations, I came across Sugar Labs and how it was developed for one laptop per child netbook. And when I read about the current project, I could feel students enjoying and playing with web technologies. My interests and thoughts match closely with the project, and I feel that the project itself has a lot of potential.
+
During my bachelors, I used to teach underprivileged students during the evenings. One thing I realized was that it is very difficult to keep them motivated to come to class regularly, student retention was a major problem. While they were excited at first, but slowly the excitement turned into boredom, primarily because they could not see the scope of what they were learning, and the regular black-board teaching was not helping. Once I showed them my smartphone and a game, they became crazy. At that point, I realized how technology can be an effective medium to develop applications that can help students learn. While going through the various organizations, I came across Sugar Labs and how it was developed for One Laptop Per Child netbook. And when I read about the current project, I could feel students enjoying and playing with web technologies. My interests and thoughts match closely with the project, and I feel that the project itself has a lot of potential.
 +
 
 +
 
 +
[[Category:2015 GSoC applications]]
27

edits