Changes

Undo revision 95273 by Richa Sehgal (talk)
Line 17: Line 17:     
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:
 +
 +
https://github.com/richaseh/Interactive-JavaScript-Shell-Prototype
    
==<strong>About my Project</strong>==
 
==<strong>About my Project</strong>==
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.
[[File:3pillarslearning.jpg|thumb|1100x1100px||centre]]
+
 
 +
 
 +
[[File:3pillarslearning.jpg|thumb|900x900px||centre]]
 +
 
      Line 40: Line 45:     
The following screenshot shows the "Try Now" and the console functionality - There is a block of code in Tony's JS course which calculates power of an integer raised to an integer and we print that on console. When the student clicks "Try Now" button, the code would automatically get copied to JavaScript section of the shell, and after clicking "Run", the output comes on the console of the tool:
 
The following screenshot shows the "Try Now" and the console functionality - There is a block of code in Tony's JS course which calculates power of an integer raised to an integer and we print that on console. When the student clicks "Try Now" button, the code would automatically get copied to JavaScript section of the shell, and after clicking "Run", the output comes on the console of the tool:
 +
    
[[File:TryNowPrototype.jpg|thumb|1100x1100px||centre]]
 
[[File:TryNowPrototype.jpg|thumb|1100x1100px||centre]]
Line 48: 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 97: 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 103: Line 113:     
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:
 +
    
[[File:Prototype1.jpg|thumb|1100x1100px||centre]]
 
[[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:
 +
    
[[File:Prototype2.jpg|thumb|1100x1100px||centre]]
 
[[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.
 +
    
[[File:Prototype3.jpg|thumb|1100x1100px||centre]]
 
[[File:Prototype3.jpg|thumb|1100x1100px||centre]]
Line 119: Line 136:     
<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:
 +
 +
https://github.com/richaseh/Interactive-JavaScript-Shell-Prototype
 +
    
==<strong>Me and the Community</strong>==
 
==<strong>Me and the Community</strong>==
Line 143: 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 157: 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>
Line 163: Line 185:     
[[File:SugarHWRicha.jpg|thumb|1100x1100px||centre]]
 
[[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>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