Educational Toolkit

About you
Q.1 : What is your name?

Ans : Deepank Gupta

Q.2 : What is your email address?

Ans : deepankgupta [AT] gmail [DOT] com

Q.3 : What is your Sugar Labs wiki username?

Ans : deepankgupta

Q.4 : What is your IRC nickname?

Ans : deepank

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

Ans : English and Hindi

Q.6 : '''Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)'''

Ams : Located in New Delhi, India, UTC +530.

I am flexible about my work-timings and can match up with a US Timezone too since I usually stay up late at night.

Q.7 : '''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?'''

Ans : Following are the projects I have been associated in :
 * 1) Bibliographic Reference Parsing : http://code.google.com/p/bibliographic-reference-parsing/ OR http://code.google.com/p/google-summer-of-code-2008-plazi/
 * 2) Foodforce2 : http://code.google.com/p/foodforce/
 * 3) AI Challenge : http://code.google.com/p/ai-challenge/

About your project
Q.1 : What is the name of your project?

Ans : Educational Toolkit

Q.2 : '''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?'''

a) : What are you making

The educational toolkit is a software to facilitate discussion in classroom with the help of technology. The software will aim at providing teachers and students with a tool to pose problems and then compare and discuss solutions. It can also be used as a formal testing tool for class tests and provide a better gauge of a student's progress to the teacher.

Features


 * 1) Teacher/Student makes questions. Note that a question here means a document in Write, HTML in Browse OR MORE SUCH FILES.
 * 2) Students give answers via collaboration or individually. Students split in groups and go from their individual answers to a collaborative answer
 * 3) Teacher can review all answers later
 * 4) Teacher gives individual or group feedback

Specifications


 * 1) Individual Test Distribution Story
 * 2) A teacher shares the Question files(Usually Write Docs or HTML Files) to all the students in the class. This means that the file is sent to all the children in the Class Group. A teacher usually classifies all the students according to classes as groups on her XO, and when she selects a group, the file is sent to all the members of that group.
 * 3) The question file is displayed in the Educational Toolkit GUI with all the questions present rendered as links in the original GUI. Clicking on a link opens up the respective Widget to display the question.
 * 4) The students work individually on the problems and the answer files generated by each student are sent back to the teacher.
 * 5) Question Generation Story :
 * 6) Please note that a question can mean:
 * 7) A text file
 * 8) A Document
 * 9) Images
 * 10) An HTML Document
 * 11) A GUI to enable a person(teacher/student) to select a file as a question. Note that a question can span mutiple files also.
 * 12) No rendering information of the question needs to be provided as it will be rendered automatically.
 * 13) Stretch Goal : Enable the user to specify rendering information for links through GUI.
 * 14) Question Package file will be generated.
 * 15) Group Test Taking Story
 * 16) Teacher/Student has distributed the question Package file to all the students. The person who starts this test also forms the group i.e. sends an invite to the neighbouring xos to join to form a group. (Or a pre-formed group can be used). This will be implemented using the groups in the Group View.
 * 17) The students are sharing their activities in the form of groups.
 * 18) A student marks an answer of any question.
 * 19) The changes made by a student are reflected on every student of the group i.e. it is sent to all the members of the group. Two ways of doing it: By calling a remote method on every person in the group using DBUS.
 * 20) Review Answers
 * 21) Teacher has got 3 files : question Package; answer Package and student_answer Package
 * 22) The two answer files are displayed along with the question Package to enable a teacher to review the answers of the students.
 * 23) A marks file is generated if teacher wishes to give numerical marks. Though this feature is subject to discussion. Since, this software does not want to promote the current examination system of awarding marks in tests. We have already seen a lot of suicides by students after scoring less marks who were under tremendous peer/teacher/parent pressure to advocate it

b) : Who are you making it for

Primary, Secondary and Higher Secondary Students and Teachers.

The students will use it for the following:
 * 1) Self Revision
 * 2) Answering class tests.
 * 3) Group problem Solving.

The teachers will use it for the following:
 * 1) Enabling Classroom Discussion
 * 2) Teach children to solve problem in groups.
 * 3) Monitor and impact the student's learning.

c) : Why do they need it 

It aims to act like a tool which does not take over the job of teaching, but promotes natural class environment and will aim to fit in the classroom environment. The software promotes better examination methods and encourages group work which is vital in any learning environment.

Comparison with Moodle

First of all, although Moodle has provided with a great learning system, it does not solve all the problems for teachers and students. Many-a-times, students or teachers are looking forward to engage in a group problem solving exercise which is often impromptu. It seems a lot of work to start up a course page or assignment page, asking all the students to log into Moodle using Browse; start the course and search for the newly made assignment or post. Afterwards everybody will need to submit this problem as assignment individually. The act of collaboration is missing here. Apart from this, there is always this chance of not having internet in the first place at the school.

Educational toolkit does not require either server or internet to start working with. Just make up a problem and share it with others and start working on it together.

Thus, the proposed activity is better than Moodle in the following ways:
 * 1) It promotes real-time group collaboration.
 * 2) Does not require internet/school server.
 * 3) Is native to sugar and does not require students/teachers to go through a lot of steps before accessing it.
 * 4) Discourages the assignment/test feedback cycle kind of routine.

It also has the following disadvantages as compared to Moodle:
 * 1) This is a new project while Moodle has lots of developers and a very healthy community.
 * 2) Moodle caters to students who do not have xos but other computers. It will need to be made specifically for other computers.

d) : What technologies (programming languages, etc.) will you be using?

The software is being developed in Python with emphasis on easy User Interface. The software will use : PyGTK for User Interface; Telepathy and DBus Tubes for connectivity; XML DOM API for xml I will be reusing widgets. For instance, the Write activity uses the abiword widget from pyabiword and the Browse activity uses the gecko widget from hulahop.

The major work in this project is to provide a consistent method to share information over the mesh network. Currently, there are three scenarios which need to be supported:
 * 1) Unicast
 * 2) GroupCast
 * 3) Broadcast

D-Bus provides signals and methods:
 * Signals are multicast - they are sent to all participants in the shared activity (including the sender). They send data and have no return value.
 * Method calls are called on a single participant, and they do have a return value.

We can either use them as illustrated by the HelloMesh Activity directly or we can use their wrappers written by olpcgames folder in the package olpcgames.mesh. This package contains functions like Unicast, Broadcast, lookupBuddy, myHandle etc. which can be used as-is.

The Sugar.Presence Service will also be imported to find out our own name(owner's name), buddies around you and shared activites.

TALK : Another interesting idea can be its integration with GroupThink later which is another GSoC Project, but I am not very familiar with all its details. -Deepank

Please find some of the diagrams shown below to aid in implementation of the project :

Q.3 : '''What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; 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 (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.'''

Ans : As can be seen from the system diagrams above, 0.1 refers to the first Milestone which will be released as version 0.1. 0.3 to M2 which will be released as Ver 0.3. 0.5 as M3 which will be released as Ver 0.5. The point of making systematic releases in a period of 15-30 days each is to promote early testing and critcism of software. Also it helps since people can see working versions of the activity.

April 20 - May 23 Work on the following:
 * Provide UI Images Screenshots to the community and ask them to comment over it.
 * Provide Question Package Specifications to the community to approve it.
 * Incorporate feedback to make the System Spec - UI and Question Package Specfications be totally ready.
 * We won't be using most of the previous code since it was aimed at XML based questions and answers which we will be discarding in favor of questions being a set of files.

Milestone 1

May 24 - May 31 :  Work on connection manager to provide : Unicast, Broadcast, Group-cast of messages and also to make the activity shareable. (Note that we are avoiding the term multicast as it has a specific technical meaning and is very difficult to achieve on the physical layer in a mesh network.)

June 1 - June 9 :  Work on the viewer to enable display of question/slides, with facility to open up various activities according to the question type and a facility to mark/type answers/comments according to the UI Specs generated in the Community Bonding period.

June 9 - June 12 :  Make an AnswerSheetCollector and Marker Module.

June 12 - June 18 :  Testing and feedback cycle for MileStone 1

Milestone 2

June 19 - June 25 :  Make the interface for Demo Mode at the controller side. The Demo Mode should work seamlessly by June 25.

June 26 - July 6 :  Make the Editor for making selecting files in the Questions/Slides.

July 6 - July 12 :  Provide a way to show comments/answers package along-with original questions/slides.

July 13 :  Fill up mid-term evaluation.

July 13 - July 20 :  Testing and Feedback cycle for MileStone 2

Milestone 3

July 21 - July 28 :  Do feasibility study of integrating it with Moodle

July 29 - August 5 :  Work on documentation

August 5 - August 17 :  Internal Alpha release cycle.

August 17 - August 23 :  Feedback incorporation.

August 24 :  Final Evaluation

August 25 - later :  Alpha Release. This will be for a period of 1 month. After this a beta release of a period of 2 months. After this I will try to push it to be a part of the official distributed activties in Sugar.

Q.4 : '''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.'''

Ans : I can work on the project in the given timeline, since the technology is there and I can give sufficient time over the summers. The work being proposed is not unreachable or require resources which I won't have access to. Thus, I see no reason why I should fail to complete the project.

I was also thinking how to make above paragraph more convincing. And frankly speaking, I could not come up with anything. But, this idea is mine, this is what I want to see getting done. If this idea gets selected, it will be me who will be getting kicks out of finally seeing my idea come to implementation.

Apart from this, I have also got some experience of coding. Particularly:


 * 1) I have been a part of GSoC 2008 as a student in Plazi.
 * 2) Two internships at Microsoft in the Office Mobile Division. Worked on the build system for Office Mobile and developed and implemented a sync story for exchange mails and tasks.
 * 3) Worked on development and project management of Foodforce which is an activity for Sugar, runs on Windows and Linux platforms too.
 * 4) Worked on PCard and UnoLipi.
 * 5) Developed and organised Linux Challenge and AI Challenge during technical fests. Been a winner at Linux Challenge, Technical Paper Presentation, Open Software Display in various colleges. ACM ICPC Regional contest participant.

You and the community
Q.1 : '''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.'''

Ans :

If the project is successfully completed, one more piece of the puzzle will fall in place. The "Education Through Computers" Story remains incomplete without an activity like Educational Toolkit. We need to make sure that Children not only learn to read (Read Activity), google(Browse Activity), entertain(Foodforce, Maze etc.), write(Write & Chat activity); but also collaborate and do problem solving. Any learning is incomplete without testing; much like no software is ship-quality without proper testing and code coverage. - Me

There was a nice project done in Chile using Ipacks: the "teacher" would pose a problem and the children would formulate an answer. Then they'd gather in groups of four and pool their answers. Each group of four would then reach consensus on an answer they thought was correct. All of the group answers would be shared with the entire class. Then a class discussion would ensue: why did Group A come up with that answer? The role of the computer and the teacher was to facilitate the discussion among the students and to focus discussion around problem areas that revealed themselves in discussion. A nice use of collaboration that has nothing to do with taking control or "all eyes forward". - Walter Bender

One of the major aims of Sugar is to promote constructive learning. By using the power of mesh network this activity seems to satisfy the teachers and students needs of a learning platform on XO in an interactive environment. The idea of collaborative problem solving seems powerful and enabling for students and teachers. This activity if completed will prove out to be an integral part of the sugar activity package. Looking forward to see work on the same. - Assim

This project will help meet two of the most important goals of free software communities - 1. To make the learning platform and activities readily available to learners everywhere; 2. To explore and share best tools and practices. In most developing countries, the teacher student ratio is 1:35. An activity like educational toolkit ensures that the teacher is able to give personalized attention to each and every student in the classroom learning. Also, this activity brings collaboration to the driving seat. Collaborative learning helps build a learning eco-system in its true sense. This has been missing in most classroom learning environments. I wish to see this proposal getting selected and changing this current state of the educational system.

Manusheel Gupta

Q.2 : '''Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?'''

Ans : I would like the deployment to be at my old school since I have good relations with my teachers and principal there. I will approach them about the pilot project and will love to be involved in the pilot.

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

Ans : I will do the following things in the same order:
 * 1) Google.
 * 2) Ask on IRC a specific query.
 * 3) Again Google and make the query specific in case it is not resolved or people don't respond.
 * 4) Ask on mailing list.

Q.4 : '''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? '''

Ans : I will do the following things :
 * 1) Write about it on my blog : http://deepank.blogspot.com (1 or 2 posts/week)
 * 2) Update WIKI Page with Progress (when a milestone reached)
 * 3) Problems/Questions : IRC and Mailing Lists.

Miscellaneous
Q.1 : '''We want to make sure that you can set up a development environment before the summer starts. Please 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 "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.'''

Ans : The screenshot is attached on the right.

Q.2 : '''What is your t-shirt size? (Yes,we know Google asks for this already; humor us.)'''

Ans : Large

Q.3 : Describe a great learning experience you had as a child.

Ans : In India, most of the schools promote rote learning. We always mug up things at school. And to be frank I have been very good at it, always being the first in class and likes. Especially Social Studies is one of those subjects in which you always mug up dates of history, places of Geography, Constitutional Amendments in Civics and so on.

But there was one teacher of mine Ms. Vandana Sahai who took an altogether different approach towards teaching Social Studies. She used to bring pictures of places, hostorical events in class. She asked us to not just submit homework, but scourge for pictures in our old books, newspapers etc. and paste them in our homework copy. She used to divide us in groups and used to ask one of us to come forward to teach a particular topic in class. Those were usually fun, since everybody made fun of the new teacher. But that was one great learning experience, one different way of looking at things. She always said: A Picture is better than a thousand words.

Q.4 : 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?

Ans : None