Difference between revisions of "Google Code In 2015"
(→Mentors: - for the history) |
|||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude>[[Category:Trac Reference]][[Category:Idea]] | <noinclude>[[Category:Trac Reference]][[Category:Idea]] | ||
[[Category: GCI2015]]</noinclude> | [[Category: GCI2015]]</noinclude> | ||
+ | |||
+ | [[File:Gci-sugarlabs-2015.png]] | ||
+ | |||
This is the project page for the Sugar Labs application to [http://www.google-melange.com/gci/homepage/google/gci2015 Google Code In 2015]. Sugar Labs community members: please feel free to add tasks below. We'll do an edit before final applications are due the first week of November 2015. | This is the project page for the Sugar Labs application to [http://www.google-melange.com/gci/homepage/google/gci2015 Google Code In 2015]. Sugar Labs community members: please feel free to add tasks below. We'll do an edit before final applications are due the first week of November 2015. | ||
Line 40: | Line 43: | ||
;Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet. | ;Other: If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet. | ||
=== Collaboration=== | === Collaboration=== | ||
− | Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in. Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. | + | Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in. Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. Collaborate with the community and mentors on the #sugar channel in the irc.freenode.net network. |
=== Quality over Quantity === | === Quality over Quantity === | ||
Line 72: | Line 75: | ||
Sugar Web Framework is the JavaScript Framework for Sugar [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]. Sugarizer [http://sugarizer.org] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App. | Sugar Web Framework is the JavaScript Framework for Sugar [https://github.com/sugarlabs/sugar-docs/blob/master/web-architecture.md]. Sugarizer [http://sugarizer.org] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App. | ||
+ | |||
+ | <!-- Begin comment out this section | ||
== Tasks == | == Tasks == | ||
Line 90: | Line 95: | ||
|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 | |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]) || 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 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 | ||
Line 108: | Line 113: | ||
|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 | |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|| 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 | + | |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 | |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 | ||
Line 116: | Line 123: | ||
|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 | |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 || | + | |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 || | + | |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 || | + | |Sugarizer wiki page||Write a Sugarizer page in the SugarLabs wiki || 24 || Lionel || Documentation |
|} | |} | ||
Line 287: | Line 294: | ||
|- | |- | ||
| Music Blocks: Accent (Articulation) || [https://github.com/walterbender/musicblocks/issues/72 Issue 72] Articulation is a clamp block and affects all notes contained within. || 72 || Walter, Devin || Code, JavaScript | | Music Blocks: Accent (Articulation) || [https://github.com/walterbender/musicblocks/issues/72 Issue 72] Articulation is a clamp block and affects all notes contained within. || 72 || Walter, Devin || Code, JavaScript | ||
+ | |- | ||
+ | | Music Blocks: matrix blocks don't load in collapsed state || [https://github.com/walterbender/musicblocks/issues/76 Issue 76] The matrix blocks can collapse (like start and action blocks) but the collapse state does not preserve when saving/loading project files. || 72 || Walter, Devin || Code, JavaScript | ||
|- | |- | ||
| Music Blocks: Staccato || [https://github.com/walterbender/musicblocks/issues/71 Issue 71] Staccato is a clamp block and affects all notes contained within || 72 || Walter, Devin || Code, JavaScript | | Music Blocks: Staccato || [https://github.com/walterbender/musicblocks/issues/71 Issue 71] Staccato is a clamp block and affects all notes contained within || 72 || Walter, Devin || Code, JavaScript | ||
Line 355: | Line 364: | ||
|} | |} | ||
+ | End of commented out section --> | ||
+ | |||
+ | <!-- | ||
== Unsorted tasks == | == Unsorted tasks == | ||
=== Sugar enhancements from bugs.sugarlabs.org === | === Sugar enhancements from bugs.sugarlabs.org === | ||
Line 382: | Line 394: | ||
| [http://bugs.sugarlabs.org/ticket/758 758] || Port to new tube API || Read | | [http://bugs.sugarlabs.org/ticket/758 758] || Port to new tube API || Read | ||
|} | |} | ||
+ | --> | ||
== Mentors == | == Mentors == | ||
Line 405: | Line 418: | ||
* Bernie Innocenti | * Bernie Innocenti | ||
* Devin Ulibarri | * Devin Ulibarri | ||
+ | * Tummala Dhanvi | ||
+ | * Tymon Radzik |
Latest revision as of 19:49, 29 December 2016
This is the project page for the Sugar Labs application to Google Code In 2015. Sugar Labs community members: please feel free to add tasks below. We'll do an edit before final applications are due the first week of November 2015.
Message to potential participants
It is important that you obtain permission of your parents.
Es importante que obtengas el permiso de tus padres para participar.
https://developers.google.com/open-source/gci/resources/contest-rules
Please see the Contest Rules for Eligibility and Registration process.
https://developers.google.com/open-source/gci/resources/contest-rules
Details regarding the required forms and paperwork are here: Google Code In 2015/Participate#Students.
Also, you will likely need to set up the Sugar development environment. See http://developer.sugarlabs.org/dev-environment.md.html for details. Further information about contributing to the project can be found here: http://developer.sugarlabs.org/
Please don't hesitate to ask questions on our irc channel (#sugar on irc.freenode.net) or on the sugar-devel list: sugar-devel AT lists.sugarlabs DOT org
Why we are participating
Sugar is written and maintained by volunteers, who range from seasoned professionals to children as young as 12-years of age. Children who have grown up with Sugar have transitioned from Sugar users to Sugar App developers to Sugar maintainers. They hang out on IRC with the global Sugar developer community and are full-fledged members of the Sugar development team. It is this latter group of children we hope will participate in and benefit from Google Code-in. Specifically we want to re-enforce the message that Sugar belongs to its users and that they have both ownership and the responsibility that ownership implies. Just as learning is not something done to you, but something you do, learning with Sugar ultimately means participating in the Sugar development process. At Sugar Labs, we are trying to bring the culture of Free Software into the culture of school. So the Code-in is not just an opportunity for us to get some tasks accomplished, it is quintessential to our overall mission.
Some background from GCI
[See https://developers.google.com/open-source/gci/resources/getting-started]
Open Source Fundamentals
You can contribute without being a coder! You do not have to be a coder to contribute to open source. There are many different skill sets needed to help an open source community thrive:
- Documentation
- If you are a good writer and enjoy attention to detail then you might want to contribute by writing or editing documentation. Documentation is a huge part of a successful open source project. Organizations need documentation to help attract new contributors as it helps them see what the codebase looks like and where things are and what the plan is for the project.
- Research
- An organization may need help crunching numbers or sorting through pages of documents to better understand what the users want or need. There are many different types of tasks that students could work on that are very important to the health of the project.
- Outreach
- If you have an outgoing personality and like being around and talking to people, take a look at the outreach tasks. Outreach tasks often include hosting meetups in your local community or creating a plan on how people around the globe can host a meetup about the project in their local communities.
- Training
- You could create a YouTube video discussing a new feature of the project or maybe some basics on what the project does so people who haven’t heard about it can understand the project and get involved.
- User Interface
- User interface can include many types of tasks including designing new aspects of a webpage or creating a new logo for the project. It may also include various accessibility opportunities to help make the project easier for people who are blind.
- Other
- If you have an idea that may help an organization, reach out to them and let them know! Sometimes the best task is one that the organization hasn’t even considered yet.
Collaboration
Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in. Mentors tell us every year that their best students were the ones who worked hard on their projects but also participated on IRC and helped answer questions other students had. Collaborate with the community and mentors on the #sugar channel in the irc.freenode.net network.
Quality over Quantity
It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner. We have had quite a few students who completed the most tasks for their organization yet were not named as Grand Prize Winners because they did everything solo and didn’t get involved in the community or think about the health of the project as a whole, they just kept completing task after task like a machine. If you actively participate in the community then you not only feel the camaraderie that comes with working as a team but you become committed to making the project better for everyone.
Some basics about Sugar Labs
For some basics about the project, see Chapter 4 of Learning to Change the World.
Getting started with coding
Sugar development is in either Python or Javascript.
- You will need knowledge of Python and GTK (See http://python-gtk-3-tutorial.readthedocs.org/en/latest/);
- or Javascript/HTML5;
- and then the basic of Sugar development (See http://www.flossmanuals.net/make-your-own-sugar-activities/);
- and to have a Sugar development environment running (See http://developer.sugarlabs.org).
Please note that you must run pep8 and pyflakes on your code before submitting your patches.
Getting started with GIT
Some knowledge of git is important as your work will be submitted to our git repository (https://github.com/sugarlabs). The basic mechanism is a pull request (PR), which is detailed in [1].
GitHub provides a tutorial (See https://try.github.io/levels/1/challenges/1), although there are many others as well.
Note that our bug tracker is http:bugs.sugarlabs.org.
Getting started with Sugarizer
Sugar Web Framework is the JavaScript Framework for Sugar [2]. Sugarizer [3] is a subset of Sugar that allow runing activities developed with Sugar Web Framework on any web browser. Sugarizer is also available as Android, iOS, Firefox OS and Chrome Web App.
Mentors
- NOTES TO MENTORS
- Please refer to Google Code In 2015/Participate#Mentors for details regarding enrolling as a mentor.
- Please add yourself to the list below.
- Feel free to add new tasks to the table above.
Depending on the project, we will assign multiple mentors from our various development and support teams.
- Walter Bender - also org admin for GCI
- Sam Parkinson (student volunteer)
- Ignacio Rodriguez (student volunteer)
- German Ruiz
- Amit Kumar Jha
- Martin Abente
- Mariah Noelle Villarreal
- Gary Servin Cardozo
- Rajul Srivastava
- Julio Daniel Reyes
- Arturo Volpe
- Lionel Laské
- Bernie Innocenti
- Devin Ulibarri
- Tummala Dhanvi
- Tymon Radzik