Summer of Code/2016/BeyondFlashcardsProgrammingtoReadJS

From Sugar Labs
Jump to navigation Jump to search

About Me

Name: Kimberly Sookoo

Email: or

Sugar Labs wiki username: Kimsookoo

IRC nickname: kimsookoo

First language: English

Location: New York, USA UTC-05:00

Working Hours: 9 AM - 5 PM, but I am flexible.

Open Source Experience

I do not have experience working with open source projects, but I do have a good deal of experience working in teams assigned in my software engineering courses, with whom I successfully complete our assigned projects, and with research team with whom I have worked on developing an iOS application called AccessMath for the past 9 months. Google’s Summer of Code program stirred my interest in contributing to open source projects, especially when I learned about Sugar Labs. Learning of Sugar Labs’ aim is to innovate learning software for children, and all of the amazing projects listed on the wiki, inspired me to want to contribute to this environment even after the summer is over.

About the Project

I’ll list below the details of the project that caught my absolute interest.

  • Name of project: Beyond Flashcards: Programming to ReadJS
  • Mentor: Walter Bender
  • Description: Back in the 1980s, IBM had a literacy program, "Writing to Read". The gist was that writing was a great way to spark a child's interest in reading. What if writing code could achieve a similar result? The project is to explore how programming might be incorporated into a literacy program. Like turtle, only simple sentences instead of stacks. It would be a "whole word" approach rather than a "phonics" approach: they can take "sentences" and make paragraphs that result in animations.

I had discussed this project a bit with its mentor, Walter Bender, and he had in mind the Turtle Blocks activity as a good point of departure for Beyond Flashcards. I intend to utilize the puzzle aspect of Turtle Blocks to aid the children using this project to create sentences. Each piece would be color-coded to build a particular sentence, which would then be translated into a corresponding animation, much like how certain combinations on Turtle Blocks can be executed according to the pieces used. For instance, the red pieces can all be fitted together in a particular order and will spell out a sentence (for example: Mr. Turtle moves forward), and the resulting animation will show what took place in that sentence to reinforce the meaning of it for the child. The project will allow children to be able to understand how the unique meanings of single words can be combined into structured sentences to create meanings of greater complexity.


Prior to mid-May: Get myself further familiarized with my the Sugar Labs environment (especially Turtle Blocks) and mentor, further discuss the details of the project with my mentor, and create mockups of the activity.

Week of May 16th.: Begin implementation of major functionality (as discussed with my mentor) of the activity. Establish version control. Share Google documentation of project with my mentor.

Week of May 23rd.: Continue refining functionality and keep track of any issues or bugs.

Week of May 30th.: Create tests for current functionality to ensure that nothing has been broken upon furthering the project. Keep track of any issues in a document to be shared with the mentor as well. Establish a basic user interface for testing purposes.

Week of June 6th.: Major functionality should be near completed by this point. Continue to refine interface and functionality, and test for bugs. Check in with mentor to see if everything is on par with what he’s expecting.

Week of June 13th.: Ensure that there will be no bugs with current code.

Week of June 20th.: Have all documentation updated for mentor’s review. Have several pictures and a working demonstration of the project thus far prepared.

Week of June 27th.: After midterm evaluation, have further discussions with mentor about what other functionality should be worked on. Ideally, test out the current version of the activity with children and get some feedback.

Week of July 4th.: Use the feedback to make improvements where necessary.

Week of July 11th.: Work on implementing any additional features that have been specifically asked for to improve overall quality and usability.

Week of July 18th.: Continue to both polish the activity and implement bonus features and test to ensure that there are no bugs. Update documents to reflect changes made and any issues encountered for mentor’s review.

Week of July 25th.: Continue testing. Ensure that hints and even a complete, working tutorial will be available to anyone using the activity.

Week of August 1st.: Make sure that hints and the tutorial are available. Update the documentation.

Week of August 8th.: Add any final touches to the activity and to the documentation.

Week of August 15th.: Project wrap up.

Why I Can Successfully Complete the Project

I am currently a proud member of a research project for the Center for Accessibility and Inclusion Research at the Rochester Institute of Technology called AccessMath. It is oriented around iOS development and written in Objective-C. Dr. Stephanie Ludi gave me the great honor of working for her over the summer of 2015, despite the fact that I had no experience with Objective-C. Within two days of completing several tutorials, I was able to create the skeleton of the feature using the SpriteKit framework. By the summer’s end, the work that I had completed was ready to be integrated into the overall project architecture, which was the official aim during that 10-week frame. As a result, I was able to continue working on this project during my fall and spring sessions at RIT, in addition to completing my assignments and projects from the various classes I took, and maintaining my position on the Honors Program. Even now, whilst working on this proposal, I have been putting in my allotted time to the AccessMath research project, debugging and implementing additional functionality to Java project for my software engineering course focused on subsystem design, and completing my Alloy project for my other software engineering course focused on math models. I strongly believe that - if I can complete a research project that I went into having zero experience in that domain - I can complete this Sugar Activity within the timeline that I have specified above.

Me and the Community

Upon Successful Completion

Pure and simple, this activity’s intent is to help children learn. I strongly believe that when this project is successfully completed, it was become a tool of both learning and fun for many children to enjoy. They will be able construct sentences and enhance their reading ability and comprehension through animations that are associated with those sentences. The mentor of this activity, Walter Bender, wants to get the kids to use programming as a way to get them talking in narrative form. Essentially allowing the children to piece together sentences and paragraphs that result in animations to reinforce the understanding of what they are creating. Without Available Mentor Research the issue! I strongly believe that so long as a problem exists, there will always be a solution for it. Even without a mentor, there will be the Sugar Labs community to turn to for advice, and there are always online resources to help with fixing an issue and progressing from there.

Keeping the Community Informed

I intend to create a blog that will be updated weekly to keep the Sugar Labs community informed on how far I have progressed with this project. I will post text or a combination of text and pictures in order to relay my progress.


Development Environment

I had been in the process of setting up the development environment on my Mac, and I encountered the following issues, beginning with the ./osbuild pull command, which resulted in: When I checked on the buildbot’s status, I was met with at server error. I assume that I will be able to successfully complete the installation when this is all fixed up.

Great Learning Experience I had as a Child

At the age of 5, my mother bought a Dell laptop and set me down in front of it. She showed me how to open up the word processor and said, “I know you like to write. Write me a story on here.” It was because of this, that I learned from this young age how to type on a computer, in addition to how to navigate through its directories and how to save what I had typed down. It made me so gleeful as a child that I could accomplish such a feat! It also formed the basis of my interest in using the laptop to do more to help children learn. At that age, something so small made me so happy. I’d like to do the same for today’s children.

Anything Else

I would first like to say thank you for taking the time to read and review my proposal. I truly hope that I could be a contributor for Sugar Labs during Google’s Summer of Code and even further along the line, and especially getting involved with the community. It’s truly amazing to meet a group of individuals who are so dedicated to helping the children to grow and learn, and I would be both honored and humbled to be considered a part of this group.