Summer of Code/2015/Objective Question Module

From Sugar Labs
Jump to navigation Jump to search

About You

What is your name? Rahul Phatak

What is your email address? rahul.hphatak at gmail dot com

What is your Sugar Labs wiki username? RahulHP

What is your IRC nickname on RahulHP

What is your first language? English

Where are you located, and what hours (UTC) do you tend to work? Goa/Pune, India 3pm to 7pm UTC

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? No, I have worked on my own doing projects for the past year or so. I now want to get used to working with others on bigger projects.

About your project

What is the name of your project? Objective Question Module

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? I want to implement a module based on objective questions.

It will contain 3 activities:

1. Objective Type Questions (One option or more than one options correct)


2. Fill in the blanks


3. Match the following


I am making it for teachers who want a way to easily create question sets for students without having to use a cumbersome GUI. They can just fill in a csv sheet which will then be used to generate random questions for the test. They shouldn't be wasting their time on creating questions slowly. They should have an easy way to add questions which will help them focus more on teaching.

I will be using (as of now) Python along with it various libraries. Right now I plan to store the questions in csv format with images in a directory. I may change this if needed. This will make it easier for them to share such question sets with other teachers and educators via the Internet.

If time permits, I also plan to make a version in which the teacher can send the students a short quiz (via the Share with teacher activity) and can check their understanding and score via a graphical interface. This will help them conduct quick short tests and see how the class is faring. Class Report.JPG

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.

19 May - 23 May Design Graphical Mock and research activities required
23 May - 30 May Design Graphical Mock and research activities required
31 May - 6 June Implement Basic Quiz Setup
7 June - 13 June Implement Basic Quiz Setup
14 June - 20 June Implement Multimedia module
21 June - 27 June Implement “Fill in the blanks”
28 June - 4 July Implement “Fill in the blanks”
5 July - 11 July Implement Scoring and Importing modules
12 July - 18 July Implement Sharing module
19 July - 25 July Implement Class Scores module
26 July - 1 Aug Fix UI, clean code
2 Aug - 8 Aug Buffer Week (In case of emergencies)
9 Aug - 15 Aug Finishing Touches
15 Aug - 22 Aug Final Report,etc

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. I have done (and am working on) quite a few projects mostly based on Python. While this certainly will be on the bigger projects I am trying, I feel confident that breaking it into modules with fixed objectives will help me complete it the same way as any other project. I will be on a summer internship so I will have the evenings and weekends free. I feel this should be enough time to complete most (if not all) the things I have planned.

A few of the projects I have done:


  • Reddit Image Grab

A python script to download JPEG images from a sub-reddit

  • Cricinfo Data Scraper for fantasy league

A python script to scrape info from ESPN Cricinfo to calculate player statistics for every player in every ICC WC 2015 squad

  • Music Tagger (on going)

A python script to tag all the songs in a given folder using API

  • Placement Statistics

A python script to analyse recruiter feedback from various companies


  • Kaggle Titanic-Getting Started

R scripts to attempt the Kaggle Competition "Titanic: Machine Learning from Disaster"

  • Data Science Track on Coursera

Series of assignments as part of the Data Science track conducted by Johns Hopkins University [1] [2] [3] [4]


  • Robocon

I was a part of my college's ROBOCON 2015 team where we had to create 2 badminton playing robots. [5]

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. Provide email contact information for non-GSoC mentors.

RahulHP: I believe this project will make the life of teachers’ easier. It will help them make better and more questions in an easier way and save time and effort. They can also see how the class is doing as a whole and which specific children and/or topics need more attention. Developers can also implement the sharing activity to make importing/exporting questions via the internet easier for other activities. The effect of various activities could be improved if they got data from teachers all over the world.

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

  1. Check Stack Overflow, Google,etc
  2. Check Sugar IRC
  3. Put in on hold and progress to another module until he/she returns

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?

  1. Maintain a blog
  2. My personal wiki user page
  3. Sugar IRC


We want to make sure that you can set up a development environment before the summer starts. Please do one of the following: 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". Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.

It's normal to need assistance with this, so please visit our IRC channel, #sugar on, and ask for help. << To Do>>

Describe a great learning experience you had as a child. Joining M Prakash Academy as a child in 8th grade. While I wasn’t exactly a child then, joining that place gave me a chance to get to know maths I wouldn’t have found in normal school. Learning proofs of Pythagoras Theorem, Incenter-Excenter configurations,etc was something I would never have gotten in regular school. This definitely changed my attitude towards maths.

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? My immediate family is involved in education which helps me get a first hand view of problems faced by educators. My mother and aunt are teachers whereas my uncle is also in a similar line. My project wants to make their job easier.

Please include the category tag at the bottom of your page the Catagory tag for 2015 GSoC applications.