Difference between revisions of "Summer of Code/2015"

From Sugar Labs
Jump to navigation Jump to search
Line 60: Line 60:
 
;Expected results: Integration into the Physics Activity
 
;Expected results: Integration into the Physics Activity
 
;Knowledge prerequisite: Strong background in Javascript/Python
 
;Knowledge prerequisite: Strong background in Javascript/Python
|-
 
!valign=top | [[File:Gsoc2015 llaske.svg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Sugar Web Basic Activity Set||valign=top width="15%" |Lionel Laské||align=left valign=top|
 
Using Sugar Web Framework - the JavaScript Framework for Sugar - you will have to develop and enhance basic Sugar activity set including activities: Calculate, Paint, Memorize and Record. All activities should use Sugar features (specific UI, journal and collaboration) and should work both on Sugar/Fedora and Sugarizer/Web.
 
Pre-requisite:
 
* Good level on HTML5/JavaScript and knowledge of frameworks to handle Canvas objects.
 
* Knowledge of PhoneGap/Cordova
 
* Understanding of Python
 
* Good capacity to do reverse engineering on existing code.
 
More information: Sugar Web [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]
 
[https://github.com/sugarlabs/sugar-docs/blob/master/activity.md], Sugarizer [http://sugarizer.org], Calculate [http://activities.sugarlabs.org/en/sugar/addon/4076], Paint [http://activities.sugarlabs.org/en/sugar/addon/4082][http://activities.sugarlabs.org/en/sugar/addon/4695], Memorize [http://activities.sugarlabs.org/en/sugar/addon/4063][http://activities.sugarlabs.org/en/sugar/addon/4693] and Record [http://activities.sugarlabs.org/en/sugar/addon/4081].
 
 
 
|-
 
|-
 
!valign=top | [[File:mouse-music.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Music Blocks||valign=top width="15%" |Devin Ulibarri and Walter Bender||align=left valign=top|
 
!valign=top | [[File:mouse-music.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Music Blocks||valign=top width="15%" |Devin Ulibarri and Walter Bender||align=left valign=top|
 
;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.
 
;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
 
;Expected results: Working code
 +
;Knowledge prerequisite: Strong background in Javascript
 +
|-
 +
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Beyond Flashcards: Programming to ReadJS||valign=top width="15%" | and Walter Bender||align=left valign=top|
 +
;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
 
;Knowledge prerequisite: Strong background in Javascript
 
|}
 
|}
Line 85: Line 79:
 
  |-style="background:#787878; color: white;"
 
  |-style="background:#787878; color: white;"
 
!  !! Title !! Mentor !! Project
 
!  !! Title !! Mentor !! Project
 +
|-
 +
!valign=top | [[File:Gsoc2015 llaske.svg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Sugar Web Basic Activity Set||valign=top width="15%" |Lionel Laské||align=left valign=top|
 +
Using Sugar Web Framework - the JavaScript Framework for Sugar - you will have to develop and enhance basic Sugar activity set including activities: Calculate, Paint, Memorize and Record. All activities should use Sugar features (specific UI, journal and collaboration) and should work both on Sugar/Fedora and Sugarizer/Web.
 +
Pre-requisite:
 +
* Good level on HTML5/JavaScript and knowledge of frameworks to handle Canvas objects.
 +
* Knowledge of PhoneGap/Cordova
 +
* Understanding of Python
 +
* Good capacity to do reverse engineering on existing code.
 +
More information: Sugar Web [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]
 +
[https://github.com/sugarlabs/sugar-docs/blob/master/activity.md], Sugarizer [http://sugarizer.org], Calculate [http://activities.sugarlabs.org/en/sugar/addon/4076], Paint [http://activities.sugarlabs.org/en/sugar/addon/4082][http://activities.sugarlabs.org/en/sugar/addon/4695], Memorize [http://activities.sugarlabs.org/en/sugar/addon/4063][http://activities.sugarlabs.org/en/sugar/addon/4693] and Record [http://activities.sugarlabs.org/en/sugar/addon/4081].
 
|-
 
|-
 
!valign=top | [[File:abacus.jpg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Abacus JS||valign=top width="15%" | Walter Bender||align=left valign=top|
 
!valign=top | [[File:abacus.jpg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Abacus JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:  
+
;Brief explanation: Port of the Abacus activity.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
 
!valign=top | [[File:fototoon.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Fototoons JS||valign=top width="15%" |Gonzalo Odiard||align=left valign=top|
 
!valign=top | [[File:fototoon.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Fototoons JS||valign=top width="15%" |Gonzalo Odiard||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Fototoons.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:Activity-physics-55x55.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Physics JS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | [[File:Activity-physics-55x55.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Physics JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Physics.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:Dimensions-icon.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Dimensions JS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | [[File:Dimensions-icon.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Dimensions JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Dimensions.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:Spirolaterals-icon.svg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Spirolaterals JS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | [[File:Spirolaterals-icon.svg|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Spirolaterals JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Spirolaterals.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:Turtle-Flags.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Flags JS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | [[File:Turtle-Flags.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Flags JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Turtle Flags.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Confusion JS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Confusion JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;Brief explanation:
+
;Brief explanation: Port of Turtle Confusion.
 
;Expected results:  
 
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|-
 
|-
!valign=top | [[File:confusion.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Beyond Flashcards: Programming to ReadJS||valign=top width="15%" | and Walter Bender||align=left valign=top|
+
!valign=top | ||valign=top width="15%" style="background:#e3e4e5;" |Image Viewer JS||valign=top width="15%" | Walter Bender||align=left valign=top|
;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.
+
;Brief explanation: Port of Image Viewer (including image processing package)
;Expected results: Working prototype
+
;Expected results:  
 
;Knowledge prerequisite: Strong background in Javascript
 
;Knowledge prerequisite: Strong background in Javascript
 
|}
 
|}

Revision as of 10:12, 20 February 2015

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 0
These are project ideas from Sugar Labs contributors. Students, feel free to propose your ideas as well.
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 logo.png
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 sugar.png
Cordova/PhoneGap container for Sugar Puneet Kaur and Lionel Laské
Brief explanation
Expected results
Working prototype
Knowledge prerequisite
Strong background in JavaScript, don't be put off by Python.

Sugar Activities

Title Mentor Project
Turtlejs.png
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
Turtlejs.png
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
Turtlejs.png
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
Turtlejs.png
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
Turtlejs.png
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
Mouse-music.png
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
Confusion.png
Beyond Flashcards: Programming to ReadJS and Walter Bender
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

Sugar Activities (Ports)

These are existing Python activities we'd like to see ported to JavaScript. In porting we expect that the activities will take on new UI features and pedagogical significance.

Title Mentor Project
Gsoc2015 llaske.svg
Sugar Web Basic Activity Set Lionel Laské

Using Sugar Web Framework - the JavaScript Framework for Sugar - you will have to develop and enhance basic Sugar activity set including activities: Calculate, Paint, Memorize and Record. All activities should use Sugar features (specific UI, journal and collaboration) and should work both on Sugar/Fedora and Sugarizer/Web. Pre-requisite:

  • Good level on HTML5/JavaScript and knowledge of frameworks to handle Canvas objects.
  • Knowledge of PhoneGap/Cordova
  • Understanding of Python
  • Good capacity to do reverse engineering on existing code.

More information: Sugar Web [1] [2], Sugarizer [3], Calculate [4], Paint [5][6], Memorize [7][8] and Record [9].

Abacus.jpg
Abacus JS Walter Bender
Brief explanation
Port of the Abacus activity.
Expected results
Knowledge prerequisite
Strong background in Javascript
Fototoon.png
Fototoons JS Gonzalo Odiard
Brief explanation
Port of Fototoons.
Expected results
Knowledge prerequisite
Strong background in Javascript
Activity-physics-55x55.png
Physics JS Walter Bender
Brief explanation
Port of Physics.
Expected results
Knowledge prerequisite
Strong background in Javascript
Dimensions-icon.png
Dimensions JS Walter Bender
Brief explanation
Port of Dimensions.
Expected results
Knowledge prerequisite
Strong background in Javascript
Spirolaterals-icon.svg
Spirolaterals JS Walter Bender
Brief explanation
Port of Spirolaterals.
Expected results
Knowledge prerequisite
Strong background in Javascript
Turtle-Flags.png
Turtle Flags JS Walter Bender
Brief explanation
Port of Turtle Flags.
Expected results
Knowledge prerequisite
Strong background in Javascript
Confusion.png
Turtle Confusion JS Walter Bender
Brief explanation
Port of Turtle Confusion.
Expected results
Knowledge prerequisite
Strong background in Javascript
Image Viewer JS Walter Bender
Brief explanation
Port of Image Viewer (including image processing package)
Expected results
Knowledge prerequisite
Strong background in Javascript

Subpages