Version 60 (modified by dukeleto, 11 years ago) |
---|
This page lists detailed descriptions of tasks for Parrot Foundation and The Perl Foundation Google Code-In 2010.
1. What is Google Code-in?
Following on from the success of the Google Summer of Code™ program, Google is holding a contest for pre-university students (e.g., high school and secondary school students 13-18) called Google Code-In with the aim of encouraging young people to participate in open source. We will work with open source organizations, each of whom will provide a list of tasks to be completed by student contestants. Tasks can be anything a project needs help with, from bug fixes to writing documentation to user experience research.
2. What are the goals of this contest?
Google Code-in (GCI) is intended to help students who may have wanted to get involved in open source but didn't know where to start. By working through the tasks suggested by organizations, contestants will be given the opportunity to engage with the open source community and get involved. The participating open source projects gain the benefit of additional contributions to their project, often in important areas that may get overlooked for whatever reason.
It is Google's not so secret hope that the student contestants of today will be long-term contributors to these and other open source projects in the future.
Task Categories
Tasks will typically fall into the following categories:
- Code: Tasks related to writing or refactoring code
- Documentation: Tasks related to creating/editing documents
- Outreach: Tasks related to community management and outreach/marketing
- Quality Assurance: Tasks related to testing and ensuring code is of high quality
- Research: Tasks related to studying a problem and recommending solutions
- Training: Tasks related to helping others learn more
- Translation: Tasks related to localization
- User Interface: Tasks related to user experience research or user interface design and interaction
How to Write a Task
Please order the tasks in increasing difficulty, from 'easy', to 'medium', to 'difficult'
- Give it a descriptive title.
- Explain any acronyms or slang that an outsider would not know.
- List potential mentors and give both a recommended and an optional background.
- Also give an estimate for roughly how long this task should take.
- Provide as many links and background information as possible.
Task Template
Title: Name of the app/area and a short description of what the task entails
Category: [see Task Categories above]
Difficulty: (easy, medium, difficult)
Estimated time: A "day" range of how long you think the task will take to complete.
Task description: Consists of:
- An initial sentence or two that describes what the task entails and why a student would want to spend their time on it (emphasize importance to project, transferable skills...).
- Several sentences/bullets that provide more detail into the task: What approach should students use? What level of detail are you looking for?
- A sentence about the expected deliverables.
Benefits: A short explanation of why this task is useful for the project. This should help motivate the students too.
Requirements: A small list of skill requirements. This helps the students know if they might be able to complete the task, for example e.g. Git, programming languages, etc.
Extra: (optional) A description of some extra action that the student can do if he's enjoying the task.
Links: A list of links that should help the student start on this task.
Potential Mentor: The person we should list as the "owner" of the task, who will monitor student submissions and give the final sign-off. This should be either you or someone who you've talked to about taking this on.
GNOME's How To Write a Good Task
Proposed tasks
Task : Create a short video/screencast about how Perl 5, Perl 6 and Parrot VM are related
Potential Mentors:
Difficulty: Easy
Category: Outreach
Background: Video/Graphics
Details: Perl 5, Perl 6 and Parrot Virtual Machines are all related communities, yet for people that have not been around to see them evolve, that is not self-evident. This task will be to create a roughly 5 minute video/screencast which gives a history of Perl 5, Perl 6 and Parrot and how they are inter-related. It can start with the release of Perl 1 in 1987, and should mention how Perl 6 and Parrot grew out of the Perl5 community. Some community members should be interviewed, so that first-hand accounts can be recorded.
Links: http://perl6.org
https://secure.wikimedia.org/wikipedia/en/wiki/Perl_6#History
Benefits: Currently, there are only a few documents describing the history and evolution of these communities, and they are usually written from a very technical perspective. This task will create an introductory video describing the history of these communities that will be easy for newcomers to watch and understand.
Time: Roughly one week
Task : Create a Parrot Users Survey
j Potential Mentors:
Difficulty: Easy
Category: Outreach
Background: Survey writing
Details: Parrot would like a survey created, in the form of a Google Form connected to a spreadsheet, which we can send out to the parrot-dev and parrot-users maillings lists to see how people are using Parrot and what they use it for. This survey will be similar in the kind of questions that are asked as the "Git Survey". Questions such as "which version of Parrot do you use", "How long have you been using Parrot" and "Which parrot projects have you heard of or used" will be asked.
Links:
https://git.wiki.kernel.org/index.php/GitSurvey2008
Benefits: This survery will allow the Parrot community to learn more about itself and learn how to best provide what users and developers want.
Time: One day
Task : Create a Perl 6 T-Shirt
j Potential Mentors:
Difficulty: Easy
Category: Outreach
Background: Vector Graphics
Details: Perl 6 would like more really cool T-shirts so that Perl 6 developers and users can show their pride. The result needs to be modifiable in in an open source tool and be in a vector graphic format. Any of the current Perl 6 logos can be used as a starting point, or a totally new graphic can be created.
Links: http://perl6.org
http://www.cafepress.com/rakudo
https://github.com/perl6/mu/raw/master/misc/camelia.txt
Benefits: More T-shirts = More Awesome. As Google Summer of Code has shown, T-shirts motivate open source developers and make them happy :)
Time: Roughly one week
Task : Create a Parrot Virtual Machine T-Shirt
Potential Mentors:
Difficulty: Easy
Category: Outreach
Background: Vector Graphics
Details: Parrot would like a really cool T-shirt so that Parrot developers and users can show their pride. The result needs to be modifiable in in an open source tool and be in a vector graphic format. Any of the current Parrot logos can be used as a starting point, or a totally new graphic can be created.
Links: http://parrot.org
Benefits: Currently we do not have any Parrot T-shirts. As Google Summer of Code has shown, T-shirts motivate open source developers and make them happy :)
Time: Roughly one week
Task : Create a PL/Parrot T-Shirt
Potential Mentors:
Difficulty: Easy
Category: Outreach
Background: Vector Graphics
Details: PL/Parrot embeds the Parrot Virtual Machine in the PostgreSQL database. We would like a really cool T-shirt so that Parrot and Postgres developers and users can show their pride. The result needs to be modifiable in in an open source tool and be in a vector graphic format. Any of the current Parrot logos can be used as a starting point, or a totally new graphic can be created.
Links: http://pl.parrot.org
Benefits: Currently we do not have any PL/Parrot or Parrot T-shirts. As Google Summer of Code has shown, T-shirts motivate open source developers and make them happy :)
Time: Roughly one week
Task : Compare and Contrast Google's Dalvik VM and Parrot VM
Potential Mentors:
Difficulty: Easy
Category: Research
Background: Technical writing
Details: We would like a short paper (roughly 1000 words, with some charts/graphics) that compares and contrasts the Dalvik VM to Parrot VM, describing which characterists each shared, what things are different, how optimizations are done and which ideas Parrot can utilize from Dalvik. This paper should be in an open source format, and can take the form of a blog post or a POD file that can be included with the Parrot documentation or on the Parrot website.
Links:
https://secure.wikimedia.org/wikipedia/en/wiki/Dalvik_virtual_machine
Benefits: Not many people understand the different between the various virtual machines that exists. The document created in this task will increase the community knowledge about Parrot as well as Dalvik.
Time: A few days
Task : Compare and Contrast Neko VM and Parrot VM
Potential Mentors:
Difficulty: Easy
Category: Research
Background: Technical writing
Details: We would like a short paper (roughly 1000 words, with some charts/graphics) that compares and contrasts the Neko VM to Parrot VM, describing which characterists each shared, what things are different, how optimizations are done and which ideas Parrot can utilize from Neko. This paper should be in an open source format, and can take the form of a blog post or a POD file that can be included with the Parrot documentation or on the Parrot website.
Links:
Benefits: Not many people understand the different between the various virtual machines that exists. The document created in this task will increase the community knowledge about Parrot as well as Neko.
Time: A few days
Task : Translate parrot.org/download to Chinese
Potential Mentors: jimmyZ
Difficulty: Easy
Category: Translation
Background: Chinese, translation, Drupal
Details: Parrot would like a native Chinese speaker to translate our main website pages to Chinese. This task is to translate the download page text.
Links: http://parrot.org/download
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Chinese, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev to Chinese
Potential Mentors: jimmyZ
Difficulty: Easy
Category: Translation
Background: Chinese, translation, Drupal
Details: Parrot would like a native Chinese speaker to translate our main website pages to Chinese. This task is to translate the "Developer Resources" page text.
Links: http://parrot.org/dev
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Chinese, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/languages to Chinese
Potential Mentors: jimmyZ
Difficulty: Easy
Category: Translation
Background: Chinese, translation, Drupal
Details: Parrot would like a native Chinese speaker to translate our main website pages to Chinese. This task is to translate the "Languages" page text.
Links: http://parrot.org/languages
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Chinese, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev/docs/user to Chinese
Potential Mentors: jimmyZ
Difficulty: Easy
Category: Translation
Background: Chinese, translation, Drupal
Details: Parrot would like a native Chinese speaker to translate our main website pages to Chinese. This task is to translate the "Users/Docs" page text.
Links: http://parrot.org/dev/docs/user
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Chinese, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/foundation to Chinese
Potential Mentors: jimmyZ
Difficulty: Easy
Category: Translation
Background: Chinese, translation, Drupal
Details: Parrot would like a native Chinese speaker to translate our main website pages to Chinese. This task is to translate the "Foundation" page text.
Links: http://parrot.org/foundation
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Chinese, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/download to Spanish
Potential Mentors: NotFound
Difficulty: Easy
Category: Translation
Background: Spanish, translation, Drupal
Details: Parrot would like a native Spanish speaker to translate our main website pages to Spanish. This task is to translate the download page text.
Links: http://parrot.org/download
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Spanish, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev to Spanish
Potential Mentors: NotFound
Difficulty: Easy
Category: Translation
Background: Spanish, translation, Drupal
Details: Parrot would like a native Spanish speaker to translate our main website pages to Spanish. This task is to translate the "Developer Resources" page text.
Links: http://parrot.org/dev
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Spanish, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/languages to Spanish
Potential Mentors: NotFound
Difficulty: Easy
Category: Translation
Background: Spanish, translation, Drupal
Details: Parrot would like a native Spanish speaker to translate our main website pages to Spanish. This task is to translate the "Languages" page text.
Links: http://parrot.org/languages
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Spanish, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev/docs/user to Spanish
Potential Mentors: NotFound
Difficulty: Easy
Category: Translation
Background: Spanish, translation, Drupal
Details: Parrot would like a native Spanish speaker to translate our main website pages to Spanish. This task is to translate the "Users/Docs" page text.
Links: http://parrot.org/dev/docs/user
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Spanish, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/foundation to Spanish
Potential Mentors: NotFound
Difficulty: Easy
Category: Translation
Background: Spanish, translation, Drupal
Details: Parrot would like a native Spanish speaker to translate our main website pages to Spanish. This task is to translate the "Foundation" page text.
Links: http://parrot.org/foundation
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Spanish, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/download to German
Potential Mentors: moritz
Difficulty: Easy
Category: Translation
Background: German, translation, Drupal
Details: Parrot would like a native German speaker to translate our main website pages to German. This task is to translate the download page text.
Links: http://parrot.org/download
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to German, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev to German
Potential Mentors: moritz
Difficulty: Easy
Category: Translation
Background: German, translation, Drupal
Details: Parrot would like a native German speaker to translate our main website pages to German. This task is to translate the "Developer Resources" page text.
Links: http://parrot.org/dev
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to German, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/languages to German
Potential Mentors: moritz
Difficulty: Easy
Category: Translation
Background: German, translation, Drupal
Details: Parrot would like a native German speaker to translate our main website pages to German. This task is to translate the "Languages" page text.
Links: http://parrot.org/languages
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to German, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev/docs/user to German
Potential Mentors: moritz
Difficulty: Easy
Category: Translation
Background: German, translation, Drupal
Details: Parrot would like a native German speaker to translate our main website pages to German. This task is to translate the "Users/Docs" page text.
Links: http://parrot.org/dev/docs/user
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to German, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/foundation to German
Potential Mentors: moritz
Difficulty: Easy
Category: Translation
Background: German, translation, Drupal
Details: Parrot would like a native German speaker to translate our main website pages to German. This task is to translate the "Foundation" page text.
Links: http://parrot.org/foundation
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to German, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/download to Russian
Potential Mentors: bacek
Difficulty: Easy
Category: Translation
Background: Russian, translation, Drupal
Details: Parrot would like a native Russian speaker to translate our main website pages to Russian. This task is to translate the download page text.
Links: http://parrot.org/download
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Russian, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev to Russian
Potential Mentors: bacek
Difficulty: Easy
Category: Translation
Background: Russian, translation, Drupal
Details: Parrot would like a native Russian speaker to translate our main website pages to Russian. This task is to translate the "Developer Resources" page text.
Links: http://parrot.org/dev
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Russian, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/languages to Russian
Potential Mentors: bacek
Difficulty: Easy
Category: Translation
Background: Russian, translation, Drupal
Details: Parrot would like a native Russian speaker to translate our main website pages to Russian. This task is to translate the "Languages" page text.
Links: http://parrot.org/languages
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Russian, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev/docs/user to Russian
Potential Mentors: bacek
Difficulty: Easy
Category: Translation
Background: Russian, translation, Drupal
Details: Parrot would like a native Russian speaker to translate our main website pages to Russian. This task is to translate the "Users/Docs" page text.
Links: http://parrot.org/dev/docs/user
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Russian, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/foundation to Russian
Potential Mentors: bacek
Difficulty: Easy
Category: Translation
Background: Russian, translation, Drupal
Details: Parrot would like a native Russian speaker to translate our main website pages to Russian. This task is to translate the "Foundation" page text.
Links: http://parrot.org/foundation
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Russian, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/download to Hebrew
Potential Mentors: szabgab
Difficulty: Easy
Category: Translation
Background: Hebrew, translation, Drupal
Details: Parrot would like a native Hebrew speaker to translate our main website pages to Hebrew. This task is to translate the download page text.
Links: http://parrot.org/download
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Hebrew, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev to Hebrew
Potential Mentors: szabgab
Difficulty: Easy
Category: Translation
Background: Hebrew, translation, Drupal
Details: Parrot would like a native Hebrew speaker to translate our main website pages to Hebrew. This task is to translate the "Developer Resources" page text.
Links: http://parrot.org/dev
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Hebrew, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/languages to Hebrew
Potential Mentors: szabgab
Difficulty: Easy
Category: Translation
Background: Hebrew, translation, Drupal
Details: Parrot would like a native Hebrew speaker to translate our main website pages to Hebrew. This task is to translate the "Languages" page text.
Links: http://parrot.org/languages
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Hebrew, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/dev/docs/user to Hebrew
Potential Mentors: szabgab
Difficulty: Easy
Category: Translation
Background: Hebrew, translation, Drupal
Details: Parrot would like a native Hebrew speaker to translate our main website pages to Hebrew. This task is to translate the "Users/Docs" page text.
Links: http://parrot.org/dev/docs/user
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Hebrew, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Translate parrot.org/foundation to Hebrew
Potential Mentors: szabgab
Difficulty: Easy
Category: Translation
Background: Hebrew, translation, Drupal
Details: Parrot would like a native Hebrew speaker to translate our main website pages to Hebrew. This task is to translate the "Foundation" page text.
Links: http://parrot.org/foundation
Benefits: Currently we do not have any Parrot documentation in any Asian language. We hope that translating important documents to Hebrew, as well as other Asian languages, allows Parrot to reach more developers around the world.
Time: Roughly one week, depending on how much the student must learn how to translate new technical words.
Task : Create Snazzy Logo for Parrot on RTEMS
Potential Mentors: kid51
Difficulty: Easy
Category: Outreach
Background: Graphics
Details: Parrot Virtual Machine and the RTEMS project, which is a real-time embedded operating system, have been teaming up, so that Parrot can run on satellites and all kinds of other awesome real-time hardware. We need a logo for this project. It should represent the excitement of being able to use dynamic languages on real-time hardware.
Benefits: Parrot+RTEMS is a very exciting project, but it is hard to convey to other without a logo to catch their attention. This logo will draw in more people who are interested in Parrot and Real-Time Embedded systems.
Links: http://rtems.org
Task : Make parrot.org reflect current development and be more useful
Potential Mentors: ?
Difficulty: Easy
Background Required: Familiar with HTML, CSS, RSS
Details: The parrot.org main web site is currently not dynamic enough. It is hard to see what is going on in our community right now from our main entry page. This task will make usability improvements to our site such as: List the last few commits to our codebase, giving links to relevant mailing lists and irc channels (and logs), summarizing recent blog posts from Planet Parrot, etc. PLEASE ADD MORE DETAIL.
Task : Convert tests written in perl5 to pir - This would be multiple tasks
Potential Mentors: mikehh, ?
Difficulty: Medium
Background: Perl 5, readup on pir
Details: Some of our test files generate PIR (Parrot Intermediate Representation) files from within perl5 code. This also tends to generate a lot of files (that later have to be removed, when make clean/realclean is run). It would be better if these test files were written directly in PIR. Some progress has been made in this area but there is a lot left to be done.
This would give the student a reasonable introduction to parrot and be useful in getting a lot of tests converted.
A tutorial and examples would be provided.
A possible (ungraded at the moment) list of tests that could be converted each of which could be a task:
t/examples/dumper.t t/examples/streams.t t/examples/yaml_dumper.t t/op/basic.t t/op/calling.t t/op/exceptions.t t/op/exit.t t/op/interp.t t/op/lexivals.t t/op/say.t t/op/spawnw.t t/op/string_cclass.t t/op/string_cs.t t/op/stringu.t t/pmc/bignum.t t/pmc/config.t t/pmc/coroutine.t t/pmc/eval.t t/pmc/exporter.t t/pmc/filehandle.t t/pmc/globals.t t/pmc/io.t t/pmc/io_iterator.t t/pmc/io_status.t t/pmc/io_stdin.t t/pmc/iterator.t t/pmc/multidispatch.t t/pmc/nci.t t/pmc/object-meths.t t/pmc/object-mro.t t/pmc/orderedhash.t t/pmc/parrotio.t t/pmc/parrotobject.t t/pmc/pmc.t t/pmc/stringhandle.t t/pmc/sub.t t/pmc/sys.t t/pmc/task.t t/pmc/threads.t t/pmc/timer.t
Task : Increase test coverage of PMCs - This represents several tasks.
Potential Mentors: cotto, ?
Difficulty: Medium
Background: familiarity with PIR and C, Perl 5 in some cases.
Details: Many of our PMCs don't have complete test coverage. Although 100% coverage may not be possible in all cases, we can do better. We will provide a list of PMCs which need increased test coverage and notes about any PMCs which may provide difficulties in reaching 100%. A task will be complete when, at the mentor's discretion, a PMC's coverage is increased as much as is practical, ideally to 100%. This task requires the use of PIR, but increasing test coverage will usually require a small and easily-learned subset of PIR.
PMCs according to test coverage:
29.4 multisub.pmc 37.1 socket.pmc 45.5 role.pmc 59.5 bignum.pmc 59.5 integer.pmc 66.7 sockaddr.pmc 67.9 eventhandler.pmc 71.1 undef.pmc 73.8 continuation.pmc 76.0 complex.pmc 76.9 bigint.pmc 77.0 capture.pmc 78.6 string.pmc 80.0 timer.pmc 80.2 orderedhash.pmc 80.3 hash.pmc 81.8 filehandle.pmc 82.3 sub.pmc 83.3 object.pmc 85.9 coroutine.pmc 87.8 callcontext.pmc 89.4 class.pmc 89.6 namespace.pmc 94.9 float.pmc 95.2 exceptionhandler.pmc 95.2 exception.pmc 95.3 exporter.pmc 96.3 fixedpmcarray.pmc
Task : Increase test coverage of Math::Primality
Potential Mentors: bubaflub
Difficulty: Medium
Background: Perl 5, Prime numbers, Devel::Cover
Details: Math::Primality is a Perl 5 CPAN module that has advanced prime-checking algorithms. It was a GSoC project in 2009. Currently some new algorithms were added, but they don't have proper test coverage. Having better test coverage is necessary because people will rely on the correctness of the algorithms in this module for cryptography and number theory applications. This task will involve the student learning how to build and test Math::Primality, as well as analyzing the test coverage with the Devel::Cover CPAN module. When parts of the code are identified that need more tests, the students will work with the mentor to write tests that verify those parts of the code work correctly.
Links: http://github.com/leto/math--primality
http://search.cpan.org/~pjcj/Devel-Cover-0.73/lib/Devel/Cover.pm
Task : Increase Test Coverage for NumMatrix2D
Title: Increase Test Coverage for NumMatrix2D
Category: Code
Difficulty: medium
Estimated time: 4 hours
Task description: Consists of:
- Tests are an important part of verifying the behavior of software. The Parrot-Linear-Algebra (PLA) project has several tests to exercise it's core PMC types, but needs more to cover additional input cases, especially error conditions.
- Tests are needed for basic arithmetic operations (addition and multiplication) and several methods calls (gemm, row operations, etc).
- Tests should cover cases where input matrices have incorrect sizes, where the wrong types of PMCs are passed to operations and methods, and where invalid values are used
- The user is expected to write approximately 15 new tests for the NumMatrix2D type to cover conditions that are not already tested
Benefits: PLA will benefit strongly from additional test coverage. Tests help to prove that the software works correctly, and prevent breakages when things are changed in the future. More tests help inform users about possible consequences to their own software when using PLA under certain conditions.
Requirements: Knowledge of programming (no specific languages), Linear algebra, access to a Linux system
Links: http://github.com/Whiteknight/parrot-linear-algebra
Potential Mentor: Whiteknight
Task : Create User Examples for NumMatrix2D
Title: Create User Examples for NumMatrix2D
Category: Code
Difficulty: medium
Estimated time: 4 hours
Task description: Consists of:
- Code examples are an important part of any documentation for software users. Parrot-Linear-Algebra (PLA) has several pages of documentation for it's developers, but little documentation for it's users. Creating code examples is the first step in creating comprehensive user documentation for PLA.
- Examples are needed for complex operations not covered by existing methods.
- Some good code examples that would be: Calculate determinants of 2x2 and 3x3 matrices, create identity matrices, dot and cross products of two vectors, calculating the norm of a matrix, calculating the trace of a matrix, etc.
- The student is expected to write at least 5 good code examples, with accompanying documentation/descriptions for use in user documentation.
- Code examples can be written in any language which runs on Parrot (PIR, NQP, Winxed, Rakudo Perl 6, etc)
Benefits: PLA will benefit strongly from the addition of more user documentation, especially code examples. These code examples will be displayed on a public website for users to read, and will help new users to get started with PLA much more quickly.
Requirements: Knowledge of programming (no specific languages), Linear algebra, access to a Linux system
Links: http://github.com/Whiteknight/parrot-linear-algebra, http://whiteknight.github.com/parrot-linear-algebra
Potential Mentor: Whiteknight
Task : Increase Test Coverage for ComplexMatrix2D
Title: Increase Test Coverage for ComplexMatrix2D
Category: Code
Difficulty: hard
Estimated time: 6 hours
Task description: Consists of:
- Tests are an important part of verifying the behavior of software. The Parrot-Linear-Algebra (PLA) project has several tests to exercise it's core PMC types, but needs more to cover additional input cases, especially error conditions.
- Tests are needed for basic arithmetic operations (addition and multiplication) and several methods calls (gemm, row operations, conjugate, etc).
- Tests should cover cases where input matrices have incorrect sizes, where the wrong types of PMCs are passed to operations and methods, and where invalid values are used
- The user is expected to write approximately 15 new tests for the ComplexMatrix2D type to cover conditions that are not already tested
Benefits: PLA will benefit strongly from additional test coverage. Tests help to prove that the software works correctly, and prevent breakages when things are changed in the future. More tests help inform users about possible consequences to their own software when using PLA under certain conditions.
Requirements: Knowledge of programming (no specific languages), Linear algebra, Complex numbers, access to a Linux system
Links: http://github.com/Whiteknight/parrot-linear-algebra
Potential Mentor: Whiteknight