Changes

no edit summary
Line 94: Line 94:     
Why am I making this project? As I mentioned earlier I consider programming to be a skill which must be honed by every person. According to me one of the best ways to begin programming is through web designing because children like to be creative and are fascinated by nice images and stuff they see. Consider, making a web page of the Solar System and clicking on the planet takes you to the web page of that planet. When someone immediately sees beautiful results, that is when the person gets the feel of programming and gets intrigued by it. So I think Web Confusion will serve as an important path for this aim.
 
Why am I making this project? As I mentioned earlier I consider programming to be a skill which must be honed by every person. According to me one of the best ways to begin programming is through web designing because children like to be creative and are fascinated by nice images and stuff they see. Consider, making a web page of the Solar System and clicking on the planet takes you to the web page of that planet. When someone immediately sees beautiful results, that is when the person gets the feel of programming and gets intrigued by it. So I think Web Confusion will serve as an important path for this aim.
 +
 +
The challenges will be divided into Beginner, Intermediate and Advanced levels based on the difficulty and level of thinking required for a topic.
 +
The speciality of these challenges will be that the user will know when to stop tweaking. The challenge will be from a spectrum of categories with each challenge giving the student a gist of problem solving skills that is required in programming. (Bug Fixing, Coding from scratch, Tweaking the code) The trick here is that the learner on solving the challenges will get the idea of the concepts inside out.
 +
 +
'''Example Challenges'''
 +
 +
* One example is shown in the above screenshots which has the learner modify the code in such a way as to align the images properly.
 +
 +
* The learner is challenged to make a Web Page similar to the image given below and has to modify the page and put the names and description of his/her friends.
 +
 +
http://i.imgur.com/KpY8iJp.png
 +
 +
 +
*Make a web page to display the following output:-
 +
 +
  ''Cradled in our cranium,
 +
  ''Is where you'll find our brain-ium,
 +
  ''Enables us to think and do,
 +
  ''Remembers what! Remembers who!<br>''
 +
  When we're feeling fine, or pained,
 +
  We're utilizing our large brain,
 +
  Like we do,
 +
  When we think...<br>
 +
  ''Let’s us see, makes us blink…
 +
  ''some functions are involuntary,
 +
  ''Breathing air is one of many,<br>''
 +
  Digesting food!
 +
  Our beating heart!
 +
  Controlled by brain!
 +
  Our crucial part!<br>
 +
  ''Connects straight-up with spinal cord,
 +
  ''Synapse, nerve,
 +
  ''It's never bored,
 +
  ''Gives us feelings,
 +
  ''Does great things!<br>''
 +
  Let's thank our brains for all they bring!
 +
  Link to the poem:-<br>
 +
  http://sciencepoems.net/sciencepoems/brain2new.aspx<br>
 +
  '''NOTE:-''' The text in italics is actually EMPHASIZED.
 +
  And for the link the students will use the <a href> tag.
 +
  Note that this is a relatively easier challenge which will be presented in the Beginner level of the challenges<br>
 +
 +
* One of the topics in Advanced Level of Challenges include the usage of SVG elements. One such challenge in the beginning of SVG Challenges requires the learner to make an SVG like the following:
 +
 +
 +
http://i.imgur.com/dZ7uP35.png
 +
 +
 +
* When the learner has knowledge of CSS, classes and divisions, he/she will be presented with the following challenge.
 +
 +
 +
http://i.imgur.com/kqcAeXX.png
 +
 +
 +
* One Advanced Challenge needs you to modify the classic cursor in https://www.sugarlabs.org to  http://i.imgur.com/l9i8xCh.png this type of cursor.
 +
 +
 +
*There are more challenges that I have decided and I have the given the link to those challenges below.
 +
 +
Link: https://github.com/DarkPrince304/Challenges-Web-Confusion/blob/master/Challenges.odt
 +
 +
    
'''Technologies to be used:'''
 
'''Technologies to be used:'''
   −
The HTML and the CSS to be used for creating the challenges will be HTML5 and CSS5 compatible with the latest version of webkit supported by the XO. I will be using the CodeMirror API for providing layout to the code (such as line numbers, identation,etc). For the Gallery feature the model of deployment suggests that the school will have a server with about 1 TB or so of space where children can upload their creations in a compressed format which will then be replaced by a new uncompressed folder. This is relatively straightforward since the school server has Apache and in Apache we just need to create a folder and give it a url (e.g. http://schoolserver/school/username (where the directory is given the name of the school and username is the XO nickname).
+
The HTML and the CSS to be used for creating the challenges will be HTML5 and CSS3 compatible with the latest version of webkit supported by the XO. I will be using the CodeMirror API for providing layout to the code (such as line numbers, identation,etc). For the Gallery feature the model of deployment suggests that the school will have a server with about 1 TB or so of space where children can upload their creations in a compressed format which will then be replaced by a new uncompressed folder. This is relatively straightforward since the school server has Apache and in Apache we just need to create a folder and give it a url (e.g. http://schoolserver/school/username (where the directory is given the name of the school and username is the XO nickname).
    
Automated testing of results has also been planned for this project which could require the use of Regular Expression or having the user click at a particular feature of the page to test its layout.
 
Automated testing of results has also been planned for this project which could require the use of Regular Expression or having the user click at a particular feature of the page to test its layout.
   −
Some Ajax techniques are also to be used to show the content on the Web Page.
+
I'll be using Javascript and some of its libraries like AngularJS, jQuery for the front-end work. Some Ajax techniques are also to be used to show the content on the Web Page.
      −
'''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.'''
+
'''What is the timeline for development of your project? The Summer of Code work period is from May 25 - August 28; 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 (3 July); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.'''
    
{| class="wikitable"
 
{| class="wikitable"
Line 120: Line 182:  
| '''21st June – 27th June'''  || Add the automated testing feature to the deployment, testing it and getting feedback from various people. (IRC, Mentors, Mailing Lists and other places)
 
| '''21st June – 27th June'''  || Add the automated testing feature to the deployment, testing it and getting feedback from various people. (IRC, Mentors, Mailing Lists and other places)
 
|-
 
|-
| '''28th June – 3rd July'''  || Searching and fixing of bugs. Prepare a report of the project made so far and submitting it for Mid – Term Evaluations
+
| '''28th June – 3rd July'''  || Searching and fixing of bugs. Brush up the modules. Prepare a report of the project made so far and submitting it for Mid – Term Evaluations
 
|-
 
|-
 
| '''4th July – 11th July'''  || Start implementing the features for the “Gallery” part of Web Confusion and create working “Save” and “Share” buttons, testing them and adding them to the deployment.
 
| '''4th July – 11th July'''  || Start implementing the features for the “Gallery” part of Web Confusion and create working “Save” and “Share” buttons, testing them and adding them to the deployment.
Line 128: Line 190:  
| '''26th July – 2nd August'''  || Testing the complete project, deploying it for the XO and then put a working version of the project for the schools to get a feedback of the problems faced by them.
 
| '''26th July – 2nd August'''  || Testing the complete project, deploying it for the XO and then put a working version of the project for the schools to get a feedback of the problems faced by them.
 
|-
 
|-
| '''3rd August – 15th August''' || Making a list of the feedback and solving the issues priority wise.Cleaning up the UI and wrapping up.
+
| '''3rd August – 15th August''' || Making a list of the feedback and solving the issues priority wise. Cleaning up the UI, sandbox the code, preparing final modules and wrapping up
 
|-
 
|-
| '''16th August – 28th August'''  || Adding finishing touches, making a small guide and a little documentation for making the work for the learner easier. Submitting the project for final evaluation.
+
| '''16th August – 28th August'''  || Adding finishing touches, little tweaking, making a small guide and a little documentation for making the work for the learner easier. Submitting the project for final evaluation.
 
|}
 
|}
   Line 140: Line 202:  
Link: https://github.com/DarkPrince304/HTML-CSS-playground
 
Link: https://github.com/DarkPrince304/HTML-CSS-playground
   −
I have also started compiling a list of challenges already and have thought of many ideas. Here is where you can see the list.
+
And as I have shown above I have also started compiling a list of challenges already and have thought of many ideas.
 
  −
Link: https://github.com/DarkPrince304/Challenges-Web-Confusion/blob/master/Challenges.odt
      
I was the admin of a site 6 years ago when I was 15 and did most of the HTML/CSS related work in it. Like adding a stylized mouse cursor which was an easy task.
 
I was the admin of a site 6 years ago when I was 15 and did most of the HTML/CSS related work in it. Like adding a stylized mouse cursor which was an easy task.
Line 156: Line 216:  
I have good skills in Algorithms and Data Structures. I take part in competitve programming on an Online Judge platform called “CodeChef” and have a Long Challenge Global rank 3384 and Long Challenge Country rank of 2449.
 
I have good skills in Algorithms and Data Structures. I take part in competitve programming on an Online Judge platform called “CodeChef” and have a Long Challenge Global rank 3384 and Long Challenge Country rank of 2449.
   −
Link to my Codechef profile: http://www.codechef.com/users/darkprince  
+
Link to my Codechef profile: http://www.codechef.com/users/darkprince
 
      
== '''You and the community''' ==
 
== '''You and the community''' ==
Line 173: Line 232:  
'''What will you do if you get stuck on your project and your mentor isn't around?'''
 
'''What will you do if you get stuck on your project and your mentor isn't around?'''
   −
Well, no organization has ever been succesful without team effort. No man has been succesful who has tried to do everything all by himself, that's what friends, comrades and co-workers are for. If I get stuck I will try to find the solution of the problem by myself if I think that it is an easy problem and I should be knowing this. If not, then #sugar channel has plenty of helpful people who care for your work and always have a valuable feedback to give. My problem should be solved by now but if all else fails I will try diverting my mind to something different for some time and work on something else and then come back to this problem. Besides books always have everything to offer. So I'll not give up trying to solve the problem. My College also has loads of helpful people and there's also an Open Source community here so I could also get help from them.
+
Well, no organization has ever been succesful without team effort. No man has been succesful who has tried to do everything all by himself, that's what friends, comrades and co-workers are for. If I get stuck I will try to find the solution of the problem by myself if I think that it is an easy problem and I should be knowing this. If not, then #sugar channel has plenty of helpful people who care for your work and always have a valuable feedback to give. I have learned most of the things myself through the internet. The internet has a lot of resources. My problem should be solved by now but if all else fails I will try diverting my mind to something different for some time and work on something else and then come back to this problem. Besides books always have everything to offer. So I'll not give up trying to solve the problem. My College also has loads of helpful people and there's also an Open Source community here so I could also get help from them.
    
Link to the Open Source community of my College:
 
Link to the Open Source community of my College:
Line 183: Line 242:     
I will be using IRC, Github and Mailing Lists to keep the community informed about the progress of my project along with that I with that I'll also be requesting feedback from them.
 
I will be using IRC, Github and Mailing Lists to keep the community informed about the progress of my project along with that I with that I'll also be requesting feedback from them.
 +
I am also planning to create a Wiki Page which will also include the Documentation of the project. I will be updating the Documentation as I succesfully complete the tasks little by little.
      Line 204: Line 264:  
'''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?'''
 
'''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?'''
   −
Well, nothing much really but I think there aren't many interactive HTML/CSS tutorials available for beginners so this project would really serve its purpose.
+
Well, nothing much really but I think there aren't many interactive HTML/CSS tutorials available for beginners so this project would really serve its purpose. I won't be having any commitments during the summer so this project will be my top priority. I would have my academic activities beginning from first week of August but that won't be a problem since I will be able to devote 10-12 hours a day to the project.
 +
 
 +
<br>
 +
[[Category:2015 GSoC applications]]