Line 6: |
Line 6: |
| | | |
| ;Note 0: These are project ideas from Sugar Labs contributors. Students, feel free to propose your ideas as well. | | ;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 1: We are focusing on the Javascript components within Sugar this summer. It means that you've got to write activities for Sugar Web and Sugarizer. More information: on Sugar Web [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md][https://github.com/sugarlabs/sugar-docs/blob/master/activity.md] and on Sugarizer [http://sugarizer.org] |
| ;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 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 3: Potential students, more project ideas can be found on our [[Features]] page. |
Line 67: |
Line 67: |
| |- | | |- |
| !valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Blocks for in-line programming||valign=top width="15%" | Gonzalo Odiard and Walter Bender||align=left valign=top| | | !valign=top | [[File:turtlejs.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Turtle Blocks for in-line programming||valign=top width="15%" | Gonzalo Odiard and Walter Bender||align=left valign=top| |
− | ;Brief explanation: Often we'd like users to be able to extend or modify an activity. Rather than doing this by writing Python 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? | + | ;Brief explanation: Often we'd like users to be able to extend or modify an activity. Rather than doing this by writing Python 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? Using the Turtle Blocks engine as an editor inside existing activities would be the preferred mechanism, as oppose to constantly extending Turtle Blocks itself. This would (1) let the editor be more specific to the needs of the individual activity; (2) lessen the burden on the user for installing plugins and extensions; (3) circumvent situations where there are barriers to sharing data between activities -- e.g., running outside of Sugar; and (4) perhaps encourage more developers to incorporate more programmatic elements in their activities. |
− | | |
− | Using the Turtle Blocks engine as an editor inside existing activities would be the preferred mechanism, as oppose to constantly extending Turtle Blocks itself. This would (1) let the editor be more specific to the needs of the individual activity; (2) lessen the burden on the user for installing plugins and extensions; (3) circumvent situations where there are barriers to sharing data between activities -- e.g., running outside of Sugar; and (4) perhaps encourage more developers to incorporate more programmatic elements in their activities. | |
| | | |
| ;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:mouse-music.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Music Blocks||valign=top width="15%" |Devin Ulibarri and Marnen Laibow-Koser||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||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. See some of Devin's sketches at [http://people.sugarlabs.org/walter/2015-02-16%20Mouse%20Music.pdf]. |
− | ;Expected results: Working code | + | ;Expected results: Working code |
| ;Knowledge prerequisite: Strong background in Javascript | | ;Knowledge prerequisite: Strong background in Javascript |
| |- | | |- |
Line 83: |
Line 81: |
| ;Expected results: Working prototype | | ;Expected results: Working prototype |
| ;Knowledge prerequisite: Strong background in Javascript | | ;Knowledge prerequisite: Strong background in Javascript |
| + | |- |
| + | !valign=top | ||valign=top width="15%" style="background:#e3e4e5;" | Covert Record, Clock, Speak and Measure to gstreamer 1.0 ||valign=top width="15%" | <TBD> ||align=left valign=top| |
| + | ;Brief explanation: The vast majority of Activities that use gstreamer for sound have been converted to gstreamer 1.0 because the older 0.10 is now End of Life and is no longer being developed. It also adds quite a large set of extra duplicate dependencies to Sugar distributions. There's a lot of good examples of Activities that have been converted to provide excellent examples. The gstreamer 1.0 bindings are provided by gobject-introspection so it also assists in the conversion of Activities to gtk3. |
| + | ;Expected results: As many of the above Activities converted to use gst 1.0 |
| + | ;Knowledge prerequisite: Strong background in python, gobject-introspection and gstreamer |
| + | |- |
| + | !valign=top | ||valign=top width="15%" style="background:#e3e4e5;" | Covert TamTam to Csound6 ||valign=top width="15%" | <TBD> ||align=left valign=top| |
| + | ;Brief explanation: TamTam makes extensive use of CSound, other Activities like Memorize, Pippy, and TurtleBlocks also can make use of CSound bindings. With the introduction of CSound 6 to a number of distributions TamTam needs migration to use the newer version of CSound. |
| + | ;Expected results: Convert TamTam to use CSound6, possibly other Activities |
| + | ;Knowledge prerequisite: Strong background in python, background in CSound |
| + | |- |
| + | !valign=top | ||valign=top width="15%" style="background:#e3e4e5;" | Modernise Etoys Activity ||valign=top width="15%" | <TBD> ||align=left valign=top| |
| + | ;Brief explanation: Etoys hasn't been updated for some time to newer Sugar APIs and design. Improve the Sugar Etoys Activity to no longer depend on the long obsolete sugar-presence-service and generally update it to more modern Sugar design and APIs. |
| + | ;Expected results: Modernise Etoys Sugar Activity |
| + | ;Knowledge prerequisite: Strong background in python |
| |} | | |} |
| | | |
Line 144: |
Line 157: |
| |} | | |} |
| | | |
| + | == Web Technology == |
| + | |
| + | Sugar is based on the Python programming language. A major new emphasis is on web techologies: HTML5, CSS, and Javascript. There is a need to help |
| + | our users learn these technologies. |
| + | |
| + | {| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;" |
| + | |-style="background:#787878; color: white;" |
| + | ! !! Title !! Mentor !! Project |
| + | |- |
| + | !valign=top | [[File:GSOC_Browse.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Web Confusion||valign=top width="15%" |Tony Anderson||align=left valign=top| |
| + | Create a representative set of web pages as challenges to learners who are developing skills in HTML and CSS. The idea is comparable to Turtle Confusion |
| + | which provides a set of figures to be created using TurtleBlocks. The web pages should not require Javascript. Creative use of images, audio and video should be encouraged (users have access to a camera and microphone and so can create media). |
| + | |
| + | Pre-requisite: |
| + | * Good knowledge of HTML and CSS and creative design skills |
| + | |} |
| + | {| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;" |
| + | |-style="background:#787878; color: white;" |
| + | ! !! Title !! Mentor !! Project |
| + | |- |
| + | !valign=top | [[File:GSOC_Browse.png|90px|thumb|center]] ||valign=top width="15%" style="background:#e3e4e5;" |Interactive Javascript Shell||valign=top width="15%" |Tony Anderson||align=left valign=top| |
| + | |
| + | There are many online tools that allow the user to type in javascript and then immediately run it. This is very useful in teaching a language. |
| + | Research available tools and their design, create an open source tool which can be run from an offline host (e.g. school server) or on the XO to support user learning of Javascript. |
| + | |
| + | |
| + | Pre-requisite: |
| + | * Good knowledge of javascript |
| + | |} |
| ==Subpages== | | ==Subpages== |
| {{Special:PrefixIndex/{{PAGENAMEE}}/}} | | {{Special:PrefixIndex/{{PAGENAMEE}}/}} |