Changes

12,233 bytes removed ,  13:58, 10 October 2017
Line 55: Line 55:  
== This is a stub for 25+ example tasks new for GCI 2017. ==
 
== This is a stub for 25+ example tasks new for GCI 2017. ==
    +
Note, more detailed task descriptions will be available once the contest begins.
 +
 +
=== beginner tasks ===
 +
# Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html]
 +
# Install Sugar in a virtual machine
 +
# Install Sugar packages on Ubuntu, Debian, or Fedora
 +
# Create an example program in Turtle Blocks
 +
# Create an example program in Music Blocks
 +
# Create a simple machine in Physics
 +
 +
=== general tasks ===
 
# Investigate Google Fuzzing tool (Research)
 
# Investigate Google Fuzzing tool (Research)
 
# Music Blocks examples (Documentation/Training)
 
# Music Blocks examples (Documentation/Training)
Line 72: Line 83:  
# Visualize turtle movements in Pitch-Time Matrix (Code: Javascript)
 
# Visualize turtle movements in Pitch-Time Matrix (Code: Javascript)
 
# Visualize turtle pitch in Music Blocks widget (Code: Javascript)
 
# Visualize turtle pitch in Music Blocks widget (Code: Javascript)
 
+
# Organize a Turtle Art Day (or Music Blocks Day) in your community (Outreach)
<!-- Begin comment out this section
+
# Create a 60 second promotional video on Sugar and its community (Outreach)
 
+
# Host a Question and Answer (Q&A)/Information session about Sugar on Google Hangouts. (Outreach)
== Tasks ==
+
# DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. (Outreach)
'''Note:''' This is our preliminary list of tasks. We can add more as the contest progresses.
+
# Gather information on who could benefit from using or knowing about Sugar. (Research)
 +
# Find the resources that people are using throughout the world to learn about or teach Sugar Activities. (Research)
 +
# Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. (Outreach)
 +
# Write a review about an Activity in Sugar. (Documentation)
 +
# Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. (Outreach)
 +
# Write a blog post about your experience as a GCI participant for Sugar Labs. (Outreach)
 +
# How should the Sugar UI change to accommodate a small screen? (User interface)
 +
# What else should be made easier to customize in Sugar with minimal programming? (User interface)
 +
# Create a unit tests for a JavaScript activity (Quality assurance)
 +
# Write a JavaScript version of [http://activities.sugarlabs.org/en-US/sugar/addon/4450 Turtle Confusion] (Code: JavaScript)
 +
# Write a extruder in JavaScript to convert from SVG to STL for 3D printing. (Code: JavaScript)
 +
# Write a slicer in JavaScript to convert between SL and GCODE for 3D printing. (Code: JavaScript)
    
Mentors: please feel free to add more tasks and/or add yourself as a potential mentor to an existing task.
 
Mentors: please feel free to add more tasks and/or add yourself as a potential mentor to an existing task.
    
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].
 
Tasks must fall within one of these five categories: [[#Documentation/Training]]; [[#Outreach/Research]]; [[#User Interface]]; [[#Quality Assurance]]; and [[#Code]].
  −
End of commented out section -->
  −
  −
===Beginner Tasks===
  −
We have several tasks that are targeting people new to Sugar and Sugar development. You are only allowed to complete two beginner tasks.
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
|Install the Sugar development environment||Following the instruction at [http://developer.sugarlabs.org/dev-environment.md.html], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
  −
|-
  −
|Install Sugar in a virtual machine||If your intention is to focus on documentation and training or outreach, then you may want to install Sugar in a virtual machine. Following the instructions at [http://wiki.sugarlabs.org/go/Sugar_Creation_Kit#Tutorials][http://wiki.sugarlabs.org/go/Sugar_on_a_Stick/Virtual_machines][http://wiki.sugarlabs.org/go/Downloads#Virtual_Machines_on_all_platforms], set up the Sugar development environment. Submit a screen-shot of the development environment running to complete this task. You can get help on our irc channel should you run into any difficulties.|| 48 || all || beginner
  −
|-
  −
|Create an example program in Turtle Blocks||We distribute examples with the Turtle Blocks programming environment. Create your example -- some art, some geometry, some multimedia, a simple game -- to be included with the package. Deliverable is a Turtle Blocks project file to be reviewed by Sugar Labs designers and educators. (Use either the Python version bundled with Sugar or the Javascript version at [http://turtle.sugarlabs.org Turtle Blocks JS]) One source of inspiration might be [https://www.pinterest.com/walterbender/turtle-art/]. || 48 || all || beginner
  −
|-
  −
|Create an example program in Music Blocks||We distribute examples with the [http://walterbender.github.io/musicblocks Music Blocks] programming environment. Create your example -- some music (and art) -- to be included with the package. Deliverable is a Music Blocks project file to be reviewed by Sugar Labs designers and educators. || 48 || all || beginner
  −
|-
  −
|Create a simple machine in Physics||We distribute examples with the [http://activities.sugarlabs.org/en-US/sugar/addon/4193 Physics Activity]. Create a simple machine we can include in the examples collection -- some interesting mechanical device. Deliverable is a Physics activity project file to be reviewed by Sugar Labs designers and educators. (Note: you should have completed the "Install Sugar" task before attemping to complete this task.) || 48 || all || beginner
  −
|}
  −
  −
===Documentation/Training===
  −
Tasks related to creating/editing documents and helping others learn more
  −
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
|Update the Sugar Labs entry in Wikipedia|| The Sugar Labs entry in Wikipedia could use some TLC. Please bring it up to date. || 48 || Walter || Documentation
  −
|-
  −
|Update the Sugar Labs wiki page on git||The [[Activity Team/Git Tutorial]] is out of date: we have migrated to GitHub. Please update the page to reflect the GitHub workflow. See http://developer.sugarlabs.org/contributing.md.html for more details || 48 || Walter || Documentation
  −
|-
  −
|Turtle Blocks Programming Guide 1|| Add live examples missing from the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks]. || 48 || Walter || Documentation
  −
|-
  −
|Turtle Blocks Programming Guide 2|| Extend the [https://github.com/walterbender/turtleblocksjs/blob/master/guide/README.md Guide to Programming with Turtle Blocks] to include more examples. || 48 || Walter || Documentation
  −
|-
  −
|Music Blocks Programming Guide|| Extend the [https://github.com/walterbender/musicblocks/blob/master/guide/README.md Guide to Programming with Music Blocks] to include more examples. || 48 || Walter || Documentation
  −
|-
  −
|Turtle Blocks Classroom Guide||Write a guide on how to use Turtle Blocks in the classroom -- a manual for teachers who might want to engage in programming. Please consult with a classroom teacher when creating the guide.|| 96 || Walter || Documentation
  −
|-
  −
|Music Blocks Classroom Guide||Write a guide on how to use Music Blocks in the classroom -- a manual for teachers who might want to engage in programming with Music. Please consult with a music teacher when creating the guide.|| 96 || Walter || Documentation
  −
|-
  −
|Sugarizer Server API Documentation||Write a documentation for the REST API for Sugarizer Server. Include some GET/POST/DELETE sample inside || 48|| Lionel || Documentation
  −
|-
  −
|Sugarizer Server Collaboration Tutorial||Write a tutorial on how to connect a Sugarizer Client to a Sugarizer Server and how to use it to do Journal sharing and collaboration || 24 || Lionel || Documentation
  −
|-
  −
|Sugarizer wiki page||Write a Sugarizer page in the SugarLabs wiki || 24 || Lionel || Documentation
  −
|-
  −
|Sugarizer wiki page||Create a Sugarizer entry in Wikipedia|| 48 || All || Documentation
  −
|}
  −
  −
For information about how to create help pages for activities
  −
  −
http://wiki.sugarlabs.org/go/Activities/Help/Contribute
  −
  −
https://github.com/godiard/help-activity/blob/master/source/restructuredtext.rst
  −
  −
https://github.com/godiard/help-activity/blob/master/source/collaborating.rst
  −
  −
===Outreach/Research===
  −
Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
  −
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
|Turtle Art Day||Organize a Turtle Art Day in your community. Details at [http://people.sugarlabs.org/walter/Guia_Ingles_10-08-2013.pdf]||96||Walter||Outreach
  −
|-
  −
|Promo Video||Create a 60 second promotional video on Sugar and its community.||96||Mariah||Outreach
  −
|-
  −
|Hangout Q&A||Host a Question and Answer (Q&A)/Information session about Sugar on Google Hangouts. Invite friends, family, peers, as well as academic and community leaders.||96||Mariah||Outreach
  −
|-
  −
|Local Lab Wiki||Create/update a "Local Lab" page for your area/country. Fill in the page with information on the Sugar community in your area. This could include contact information, mailing lists, events and any other information that may be relevant. ||96||Mariah||Research
  −
|-
  −
|How-To Guide||Create a guide for how to host your own DIY Sugar on a Stick party. The guide should include at least two promotional item designs (like a sticker, brochure, flyer). Feel free to change the name to something else. ||96||Mariah||Outreach
  −
|-
  −
|DIY Sugar on a Stick||Organize and host a Sugar on a Stick party where you show people how to make their own Sugar on a Stick. Then, hold a workshop on the basics of using Sugar. Take pictures to document the experience. Post a blog about it.||96||Mariah||Outreach
  −
|-
  −
|Potential Users||Gather information on who could benefit from using or knowing about Sugar. Look at non-profit organizations, academic institutions, the home-school community. Build a database including contact information, website URLS, social media profiles, and any other relevant information.||96||Mariah||Research
  −
|-
  −
|Sugar Tools & Resources||Find the resources that people are using throughout the world to learn about or teach Sugar Activities. This can include manuals, teacher guides, YouTube videos, blogs, etc. Document what type of resource it is, the URL for the resource, the target audience of the resource and whether it is up-to-date.||96||Mariah||Research
  −
|-
  −
|Introduce Yourself||Write a blog post about why you are participating in Google Code-In, what you hope to learn from the GCI and how Sugar Labs can help you. Include a picture. Share blog post through social media.||48||Mariah||Outreach
  −
|-
  −
|Interview a GCI Peer||Interview another Sugar Labs GCI participant. Ask them questions about how they are selecting/completing tasks, any successes/struggles they are having, etc. Post on participant blog. Share blog post through social media.||48||Mariah||Outreach
  −
|--
  −
|Interview an Educator||Find an educator who is using open-source educational software to teach. Interview the educator about their experience as an educator and why they are using open-source software to teach. Post about it on the blog, include a picture. Share the blog post through social media and with the educator.||48||Mariah||Outreach|
  −
|-
  −
|Review an Activity||Write a review about an Activity in Sugar. Explain how you use it, what kind of project you could do with it, any bugs it might have, etc. Post your review. The review can be a video review or a written review with screenshots. Share the blog post through social media.||48||Mariah||Outreach
  −
|-
  −
|Women in the Sugar Community||Create a 10-minute presentation celebrating at least three women within the Sugar community and/or the open-source community at large. Write a blog post about what you learned when making this presentation and include a link to the presentation.||48||Mariah||Outreach
  −
|-
  −
|Wrap-Up||Write a blog post about your experience as a GCI participant for Sugar Labs. Share your thoughts on what was successful and what can be improved for next year's participants. Feel free to include pictures, videos, links to work that you are most proud of. Share the post through social media.||48||Mariah||Outreach
  −
|}
  −
  −
===User Interface===
  −
Tasks related to user experience research or user interface design and interaction
  −
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
|Programming on a small screen|| We put an emphasis on programming in Sugar. One popular programming environment is Turtle Blocks. Recently we made a Javascript version that can run in a browser (and hence on a smart phone). How should the UI change to accommodate that form-factor? A series of annotated sketches should be made as part of completing this task. || 72 || Walter || UI
  −
|-
  −
|End-user customization||We try to encourage our users to re-imagine Sugar as they'd like it. Users can change the icon layout, the background screen, and the XO avatar. What else should be made easier to customize with minimal programming? || 72 || Walter || UI
  −
|-
  −
|Sugarizer marketing web page||Create a marketing web page to explain what is Sugarizer and  replace the [http://sugarizer.org current one] || 40 || Lionel || UI
  −
|}
  −
  −
===Quality Assurance===
  −
Tasks related to testing and ensuring code is of high quality.
  −
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
|Unit tests for JS activities||We have no unit tests for our JavaScript activities. This task is to investigate approaches to unit testing in JavaScript||72||Walter||QA
  −
|-
  −
|Test Sugar on a Stick || Help test the latest Sugar on a Stick on Fedora (F26). See https://wiki.sugarlabs.org/go/Fedora_26#fedora_26,  https://wiki.sugarlabs.org/go/Sugar_on_a_Stick [http://dl.fedoraproject.org/pub/alt/stage/26_RC-1.3/] #fedora-qa (freenode IRC). Deliverable is a report of the major Sugar features, e.g., desktop, journal, collaboration, and the core activities, e.g., Write, Browse, Turtle, Chat, Speak, etc. || 48 || Satellit || QA, SoaS
  −
|-
  −
|Interview a teacher|| Ultimately the quality of our work is determined by our end users. Interview a classroom teacher who is using Sugar and solicit feedback about what works, what doesn't. || 72 || Walter || QA
  −
|-
  −
|Interview a student|| Ultimately the quality of our work is determined by our end users. Interview a student who is using Sugar in school and solicit feedback about what works, what doesn't. || 72 || Walter || QA
  −
|}
  −
  −
<!-- Begin comment out this section
  −
===Code===
  −
Tasks related to writing or refactoring code
  −
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Title !! Description !! Hours !! Mentor !! Tag
  −
|-
  −
| Turtle Confusion in Javascript || [http://activities.sugarlabs.org/en-US/sugar/addon/4450 Turtle Confusion] presents 40 shape challenges to the learner that must be completed using basic Logo-blocks. The challenges as based on Barry Newell's 1988 book, Turtle Confusion: Logo Puzzles and Riddles. This task is to implement Turtle Confusion within the framework of the [http://turtle.sugarlabs.org JavaScript version of Turtle Blocks].|| 72 || Walter || Code, JavaScript
  −
|}
  −
  −
End of commented out section -->
  −
  −
<!--
  −
== Unsorted tasks ==
  −
=== Sugar enhancements from bugs.sugarlabs.org ===
  −
Each of these open tickets is potential task-worthy.
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Ticket !! Description !! Type !! Component
  −
|-
  −
| [http://bugs.sugarlabs.org/ticket/1646 1646] || No way to force-close (kill) an activity || enhancement || Sugar
  −
|}
  −
  −
=== Sugar bugs from bugs.sugarlabs.org ===
  −
Each of these open tickets is potential task-worthy.
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Ticket !! Description !! Type !! Component
  −
|-
  −
| [http://bugs.sugarlabs.org/ticket/4307 4307] || clipboard.set_with_data/set_with_owner is not introspectable || defect || Sugar
  −
|}
  −
  −
=== Activity enhancements from bugs.sugarlabs.org ===
  −
Each of these open tickets is potential task-worthy.
  −
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
  −
|-style="background:#787878; color: white;"
  −
!Ticket !! Description !! Component
  −
|-
  −
| [http://bugs.sugarlabs.org/ticket/758 758] || Port to new tube API || Read
  −
|}
  −
-->
      
== Mentors ==
 
== Mentors ==