Students: See our guide on how to participate in Google Summer of Code for more information.
Project candidates
In the table below is a list of projects potential participants might contribute to in the GSoC program.
- Note 1
- We are focusing on the Javascript components within Sugar this summer.
- Note 2
- Potential mentors, please feel free to add ideas to this list. Also, feel free to add your name to a project you'd be willing to co-mentor.
- Note 3
- Potential students, more project ideas can be found on our Features page.
- Note 4
- Accepted projects are in Green
Sugar Core
|
Title |
Mentor |
Project
|
|
Git backend |
Martin Abente and Walter Bender |
- Brief explanation
- The Sugar Journal doesn't do a great job of supporting versioning or forking. This project is to build a backend for the Journal that is based on git, which does support versioning and forking. By building on top of a git hosting site we get the added benefit of network access as well.
- Expected results
- Working code and an integration with Turtle Blocks
- Knowledge prerequisite
- Strong background in Python
|
|
Cordova/PhoneGap container for Sugar |
Lionel Laské and Puneet Kaur |
- Brief explanation
- 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.
- Expected results
- Working prototype
- Knowledge prerequisite
- Strong background in JavaScript, don't be put off by Python.
|
Sugar Activities
|
Title |
Mentor |
Project
|
|
Turtle Blocks 3D Javascript |
Tony Forster and Walter Bender |
- Brief explanation
- The Python version of Turtle Blocks 3D is based on GTK since Sugar uses GTK and GTK is largely incompatible with OpenGL. In a Javascript version, we could use OpenGL and take advantage of many more graphics libraries, such as 3D lighting models and texture mapping.
- Expected results
- A new Turtle Blocks spin that adds basic 3D transforms to Turtle Blocks (e.g., setxyz, pitch, roll, yaw); camera and lighting models; surface texture mapping; and a rich set of example projects.
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Blocks export as Javascript |
Walter Bender |
- Brief explanation
- The Python version of Turtle Blocks allows the user to export their project as Python code. We need an equivalent Javascript export for the Javascript version.
- Expected results
- Working code integrated into Turtle Blocks JS
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Blocks inline Javascript |
Walter Bender |
- Brief explanation
- There are several block-based programming environments that allow the user to extend the language in line, such as Blocky and Pencil Code. (Turtle Blocks uses plugins for this, but they are imported). The goal of this project is to write an in-line block editor for Turtle Blocks (Javascript version).
- Expected results
- Working code integrated into Turtle Blocks JS
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Blocks debugging tools |
Cynthia Solomon and Walter Bender |
- Brief explanation
- There are several debugging tools in Turtle Blocks: the ability to set breakpoints, step through code, and inspect variables. But we could use a more comprehensive approach, including a mechanism for tracking progress over time.
- Expected results
- Working code integrated into Turtle Blocks JS
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Blocks for in-line programming |
Gonzalo Odiard and Walter Bender |
- Brief explanation
- Often we'd like users to be able to extend or modify an activity. Rather than doing this by writing Pyhton or Javascript, why not let them use the block language of Turtle Blocks as an in-line editor. For example, in the Turtle Pond activity, the user can upload Python code representing search algorithms for the turtle as it tries to find its way out of the pond. Why not use a block editor to write the search algorithm?
- Expected results
- Integration into the Physics Activity
- Knowledge prerequisite
- Strong background in Javascript/Python
|
|
Music Blocks |
Devin Ulibarri and Walter Bender |
- Brief explanation
- Using a framework similar to Turtle Blocks Javascript, build a suite of music tools for introducing the basic concepts of scale, beat, chord, phrasing, sequencing, transformations, etc.
- Expected results
- Working code
- Knowledge prerequisite
- Strong background in Javascript
|
|
Abacus JS |
Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Fototoons JS |
Gonzalo Odiard |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Physics JS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Dimensions JS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Spirolaterals JS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Flags JS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Turtle Confusion JS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
|
Beyond Flashcards: Programming to ReadJS |
and Walter Bender |
- Brief explanation
- Expected results
- Knowledge prerequisite
- Strong background in Javascript
|
Subpages