Difference between revisions of "Task ideas for Google Code-in"

From Apertium
Jump to navigation Jump to search
(10 intermediate revisions by 4 users not shown)
Line 34: Line 34:
 
|title=Adopt a Wiki page
 
|title=Adopt a Wiki page
 
|description=Request an Apertium wiki account and adopt a wiki page by updating and fixing any issues with it. Examples of things to update might be documentation that still refers to our SVN repo (we're on GitHub now), documentation of new features, clarification of unclear things, indicating that a page no longer reflects how things are done, "archiving" a page that represents deprecated information, or updating documentation to reflect the current options and defaults of various tools.
 
|description=Request an Apertium wiki account and adopt a wiki page by updating and fixing any issues with it. Examples of things to update might be documentation that still refers to our SVN repo (we're on GitHub now), documentation of new features, clarification of unclear things, indicating that a page no longer reflects how things are done, "archiving" a page that represents deprecated information, or updating documentation to reflect the current options and defaults of various tools.
  +
|tags=wiki
  +
|mentors=*
  +
|multi=150
  +
|beginner=yes
  +
}}
  +
  +
{{Taskidea
  +
|type=research, quality, documentation
  +
|title=Test instructions on Apertium wiki
  +
|description=Find a page on the Apertium wiki that documents how to do something (hint: check the [http://wiki.apertium.org/wiki/Category:Documentation Documentation] category). Then try to follow the instructions. Check with your mentor when you get stuck. Modify the instructions as necessary. If the instructions are for something that is deprecated or no longer used by the community, either mark them as deprecated (category, banner at top of page, fix links to page) and/or modify them to match current practices.
 
|tags=wiki
 
|tags=wiki
 
|mentors=*
 
|mentors=*
Line 144: Line 154:
 
|description=See [[Installation]] for instructions and if you encounter any issues along the way, document them and/or improve the wiki instructions!
 
|description=See [[Installation]] for instructions and if you encounter any issues along the way, document them and/or improve the wiki instructions!
 
|tags=bash
 
|tags=bash
|mentors=ftyers, JNW, Unhammer, anakuz, Josh, fotonzade, sevilay, eirien, wei2912, padth4i
+
|mentors=ftyers, JNW, Unhammer, anakuz, Josh, fotonzade, sevilay, eirien, wei2912, padth4i, jjjppp
 
|multi=150
 
|multi=150
 
|beginner=yes
 
|beginner=yes
Line 153: Line 163:
 
|title=Write a contrastive grammar
 
|title=Write a contrastive grammar
 
|description=Document 6 differences between two (preferably related) languages and where they would need to be addressed in the [[Apertium pipeline]] (morph analysis, transfer, etc). Use a grammar book/resource for inspiration. Each difference should have no fewer than 3 examples. Put your work on the Apertium wiki under [[Language1_and_Language2/Contrastive_grammar]]. See [[Farsi_and_English/Pending_tests]] for an example of a contrastive grammar that a previous GCI student made.
 
|description=Document 6 differences between two (preferably related) languages and where they would need to be addressed in the [[Apertium pipeline]] (morph analysis, transfer, etc). Use a grammar book/resource for inspiration. Each difference should have no fewer than 3 examples. Put your work on the Apertium wiki under [[Language1_and_Language2/Contrastive_grammar]]. See [[Farsi_and_English/Pending_tests]] for an example of a contrastive grammar that a previous GCI student made.
|mentors=Mikel, JNW, Josh, xavivars, fotonzade, sevilay, khannatanmai, dolphingarlic, padth4i
+
|mentors=mlforcada, JNW, Josh, xavivars, fotonzade, sevilay, khannatanmai, dolphingarlic, padth4i
 
|tags=wiki, languages
 
|tags=wiki, languages
 
|beginner=yes
 
|beginner=yes
Line 161: Line 171:
 
{{Taskidea
 
{{Taskidea
 
|type=quality
 
|type=quality
|mentors=Mikel, anakuz, xavivars, fotonzade, sevilay, Unhammer, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz
+
|mentors=mlforcada, anakuz, xavivars, fotonzade, sevilay, Unhammer, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW, jjjppp
 
|tags=xml, dictionaries
 
|tags=xml, dictionaries
|title=Add 200 new entries to the bilingual dictionary of language pair %AAA%-%BBB%
+
|title=Identify and add 100 new entries to the bilingual dictionary for the %AAA%-%BBB% language pair
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 200 new words to a bidirectional dictionary. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual Read more]...
+
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 100 new words to a bidirectional dictionary. With the help of your mentor, identify some text in either %AAA% or %BBB% and run it through Apertium's %AAA%-%BBB% translator to identify 50 unknown forms. Add the stems of these forms to the analyser in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]...
 
|multi=40
 
|multi=40
 
|beginner=yes
 
|beginner=yes
Line 171: Line 181:
 
{{Taskidea
 
{{Taskidea
 
|type=quality
 
|type=quality
|mentors=Mikel, anakuz, xavivars, fotonzade, ftyers, sevilay, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz
+
|mentors=mlforcada, anakuz, xavivars, fotonzade, ftyers, sevilay, eirien, dolphingarlic, wei2912, marcriera, padth4i, Oguz, JNW
 
|tags=xml, dictionaries
 
|tags=xml, dictionaries
|title=Add 500 new entries to the bilingual dictionary of language pair %AAA%-%BBB%
+
|title=Identify and add 250 new entries to the bilingual dictionary for the %AAA%-%BBB% language pair
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 500 new words to a bidirectional dictionary. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual Read more]...
+
|description=Our translation systems require large lexicons so as to provide production-quality coverage of any input data. This task requires the student to add 250 new words to a bidirectional dictionary. With the help of your mentor, identify some text in either %AAA% or %BBB% and run it through Apertium's %AAA%-%BBB% translator to identify 50 unknown forms. Add the stems of these forms to the analyser in an appropriate way so that these words are analysed correctly. Your submission should be in the form of a pull request to each of the appropriate repositories on GitHub. [http://wiki.apertium.org/wiki/Task_ideas_for_Google_Code-in/Grow_bilingual More instructions for this task here]...
|dup=10
+
|dup=20
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 181: Line 191:
 
{{Taskidea
 
{{Taskidea
 
|type=quality
 
|type=quality
|mentors=fotonzade, JNW, ftyers, anakuz, xavivars, Mikel, shardulc, sevilay, Unhammer, khannatanmai, dolphingarlic, wei2912, marcriera
+
|mentors=fotonzade, JNW, ftyers, anakuz, xavivars, mlforcada, shardulc, sevilay, Unhammer, khannatanmai, dolphingarlic, wei2912, marcriera
 
|tags=xml, dictionaries
 
|tags=xml, dictionaries
 
|title=Post-edit 500 sentences of any public domain text from %AAA% to %BBB%
 
|title=Post-edit 500 sentences of any public domain text from %AAA% to %BBB%
|description=Many of our systems benefit from statistical methods used with (ideally public domain) bilingual data. For this task, you need to translate a public domain text from %AAA% to %BBB% using any available machine translation system and clean up the translations yourself manually. Commit the post-edited texts (in plain text format) to an existing (via pull request) or if needed new github repository for the pair in dev/ or texts/ folder. The texts are subject to mentor approval.
+
|description=Many of our systems benefit from statistical methods used with (ideally public domain) bilingual data. For this task, you need to translate a public domain text from %AAA% to %BBB% using any available machine translation system and clean up the translations yourself manually. Commit the post-edited texts (in plain text format) to an existing (via pull request) or if needed new github repository for the language pair in dev/ or texts/ folder. The texts are subject to mentor approval.
 
|multi=10
 
|multi=10
 
|beginner=yes
 
|beginner=yes
Line 191: Line 201:
 
{{Taskidea
 
{{Taskidea
 
|type=quality
 
|type=quality
|mentors=Mikel, anakuz, xavivars, fotonzade, sevilay, khannatanmai, dolphingarlic, wei2912, marcriera, padth4i
+
|mentors=mlforcada, anakuz, xavivars, fotonzade, sevilay, khannatanmai, dolphingarlic, wei2912, marcriera, padth4i
 
|tags=disambiguation
 
|tags=disambiguation
 
|title=Disambiguate 500 tokens of text in %AAA%
 
|title=Disambiguate 500 tokens of text in %AAA%
Line 210: Line 220:
 
{{Taskidea
 
{{Taskidea
 
|type=research
 
|type=research
|mentors=eirien, anakuz, sevilay. marcriera
+
|mentors=eirien, anakuz, sevilay, marcriera
 
|tags=dictionaries
 
|tags=dictionaries
 
|title=Categorise 500 words from frequency list in %AAA%
 
|title=Categorise 500 words from frequency list in %AAA%
Line 277: Line 287:
 
{{Taskidea
 
{{Taskidea
 
|type=documentation
 
|type=documentation
|mentors=JNW, Flammie
+
|mentors=JNW, flammie
 
|title=Add comments to a dictionary defining the symbols used in it
 
|title=Add comments to a dictionary defining the symbols used in it
 
|description=Add comments to a monolingual or bilingual dictionary file (.lexc/.dix, .dix) in the symbol definitions area that clarify what each symbol stands for. Also direct the comment reader to the Apertium wiki page on symbol definitions for more information.
 
|description=Add comments to a monolingual or bilingual dictionary file (.lexc/.dix, .dix) in the symbol definitions area that clarify what each symbol stands for. Also direct the comment reader to the Apertium wiki page on symbol definitions for more information.
Line 303: Line 313:
 
|type=quality
 
|type=quality
 
|title=Beta-test the apertium-separable module
 
|title=Beta-test the apertium-separable module
|mentors=JNW, ftyers, wei2912, khannatanmai
+
|mentors=JNW, ftyers, wei2912, khannatanmai, dolphingarlic
 
|description= [[Lsx_module#Creating_the_lsx-dictionary|create an lsx dictionary]] in both directions for any relevant and existing language pair that doesn't yet support it (as a "separable" branch in its GitHub repository), adding 10-30 entries to it in one or both directions. Thoroughly test to make sure the output is as expected. Report bugs/non-supported features and add them to [[Lsx_module#Future_work| future work]]. Document your tested language pair by listing it under [[Lsx_module#Beta_testing]] and in [[Lsx_module/supported_languages | this wiki page]]
 
|description= [[Lsx_module#Creating_the_lsx-dictionary|create an lsx dictionary]] in both directions for any relevant and existing language pair that doesn't yet support it (as a "separable" branch in its GitHub repository), adding 10-30 entries to it in one or both directions. Thoroughly test to make sure the output is as expected. Report bugs/non-supported features and add them to [[Lsx_module#Future_work| future work]]. Document your tested language pair by listing it under [[Lsx_module#Beta_testing]] and in [[Lsx_module/supported_languages | this wiki page]]
 
|tags=C++, transducers, lsx
 
|tags=C++, transducers, lsx
Line 330: Line 340:
 
{{Taskidea
 
{{Taskidea
 
|type=code, design
 
|type=code, design
|mentors=JNW, jjjppp, sushain
+
|mentors=JNW, jjjppp, sushain, dolphingarlic
 
|tags=d3, javascript
 
|tags=d3, javascript
 
|title=Integrate globe viewer into language family visualiser interface
 
|title=Integrate globe viewer into language family visualiser interface
Line 336: Line 346:
 
|multi=no
 
|multi=no
 
|beginner=no
 
|beginner=no
  +
}}
  +
  +
{{Taskidea
  +
|type=code
  +
|mentors=JNW, jjjppp, dolphingarlic
  +
|tags=d3, javascript
  +
|title=Change hard-coded values to dynamic in the globe viewer's code
  +
|description=The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. This task is to clean up its source code by changing hard-coded values (e.g. scales and object sizes) to dynamic values so that the code will be easier to maintain in the future. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/24 associated GitHub issue].
  +
|multi=no
  +
|beginner=no
  +
}}
  +
  +
{{Taskidea
  +
|type=code
  +
|mentors=JNW, jjjppp, dolphingarlic
  +
|tags=d3, javascript
  +
|title=Fix fading for flyers in globe viewer
  +
|description=The [https://github.com/jonorthwash/Apertium-Global-PairViewer globe viewer] provides a globe visualisation of languages that we can translate a given language to and from. Currently, the flyers, which are the 3D colored connections, fade as either end of the connection goes out of the current scope of the globe. However, this causes flyers that connect two far away languages to be invisible (see issue for example). This task is to change the current fading function to account for far away connections and allow them to stay visible. There is an [https://github.com/jonorthwash/Apertium-Global-PairViewer/issues/22 associated GitHub issue].
  +
|multi=no
  +
|beginner=yes
 
}}
 
}}
   
Line 369: Line 399:
 
| xavivars || cat, spa, eng, fra
 
| xavivars || cat, spa, eng, fra
 
|-
 
|-
| unhammer || nno, nob, swe, dan, fao, sme, ovd
+
| Unhammer || nno, nob, swe, dan, fao, sme, ovd
 
|-
 
|-
 
| shardulc || eng, fra, mar, hin, urd, kan
 
| shardulc || eng, fra, mar, hin, urd, kan
Line 395: Line 425:
 
| Oguz|| eng, tur, uig, aze, crh
 
| Oguz|| eng, tur, uig, aze, crh
 
|-
 
|-
| mlforcada || eng, cat, eus, fra, por, glg, esp, gle, bre
+
| mlforcada || eng, cat, eus, fra, por, glg, spa, gle, bre
  +
|-
  +
| ayushjain || eng, hin
  +
|-
  +
| jjjppp || eng, lat
 
|}
 
|}
   

Revision as of 01:33, 14 November 2019

This is the task ideas page for Google Code-in, here you can find ideas on interesting tasks that will improve your knowledge of Apertium and help you get into the world of open-source development.

The people column lists people who you should get in contact with to request further information. All tasks are 2 hours maximum estimated amount of time that would be spent on the task by an experienced developer, however:

  1. this is the time expected to take by an experienced developer, you may find that you spend more time on the task because of the learning curve.

Categories:

  • code: Tasks related to writing or refactoring code
  • documentation: Tasks related to creating/editing documents and helping others learn more
  • research: Tasks related to community management, outreach/marketting, or studying problems and recommending solutions
  • quality: Tasks related to testing and ensuring code is of high quality.
  • design: Tasks related to user experience research or user interface design and interaction

Clarification of "multiple task" types

  • multi = number of students who can do a given task
  • dup = number of times a student can do the same task

You can find descriptions of some of the mentors here.

Task ideas

The current task ideas here are for 2019. See Talk:Task ideas for Google Code-in for task ideas from previous years.

Mentors

These are languages that can be substituted for AAA and/or BBB for tasks each mentor is listed to mentor above.

If you do not see your language here, ask. We may be able to mentor or find you a mentor.

Mentor Languages
ftyers eng, spa, cat, fra, nor, rus, por, swe, tur, gag, aze
JNW eng, spa, fra, rus, tur, gag, aze, kaz, kir, kaa, tat, bak, kum, nog, kaa, uzb, uig, crh, khk, yid
anakuz grn, spa, por, rus
fotonzade eng, tur, aze, uig, tat, crh, kmr, ckb, fas
xavivars cat, spa, eng, fra
Unhammer nno, nob, swe, dan, fao, sme, ovd
shardulc eng, fra, mar, hin, urd, kan
m-alpha eng, fra, byv
popcorndude eng, spa
sevilay eng, ara, tur, kaz, aze, tat, gag, uig, uzb, crh, kum
eirien sah, rus, eng
khannatanmai eng, hin
flammie fin, krl, olo, hun, nio, kpv, mdf, tlh, fra, swe, eng, est, ekk, vro
dolphingarlic afr, deu, eng
wei2912 eng, zho
marcriera cat, spa, eng, ron
padth4i eng, mal, hin
Oguz eng, tur, uig, aze, crh
mlforcada eng, cat, eus, fra, por, glg, spa, gle, bre
ayushjain eng, hin
jjjppp eng, lat

Counts

Last updated by Firespeaker (talk) 07:30, 28 October 2019 (CET).

Category Count
code 16
documentation 4
research 11
quality 8
design 2
Total 33