Difference between revisions of "Top tips for GSOC applications"

From Apertium
Jump to navigation Jump to search
Line 18: Line 18:
* '''Read the Ideas Page!'''
* '''Read the Ideas Page!'''
** If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read [[Ideas for Google Summer of Code|the ideas page]]. Read the ideas page.
** If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read [[Ideas for Google Summer of Code|the ideas page]]. Read the ideas page.

* '''Do the coding challenge'''
** Every idea will have a coding challenge to perform, this is basically a test to see if you have the required skills to do the project or if you can acquire them in a short amount of time.


==Other tips==
==Other tips==

Revision as of 15:35, 11 January 2018

Writing your GSOC application

Here are the main tips to help you in writing your GSOC application with Apertium.

  • Be realistic
    • We're more likely to accept ideas which are realistic than ones which are "way out there". But if you have a "way out there" idea, don't panic! We're still interested, but we'll try to find a subset of it which is achievable in the time scale available.
  • Be appropriate
    • Demonstrate you have a knowledge of Apertium, how it works and the problem it has that you'd like to solve.
  • Have a plan
    • Three months may seem like a long time, but it isn't. Show you have a definite plan with dates and deliverables, split into weeks is probably best. Don't forget to leave time for getting familiar with the platform — this should be ideally before, or in the community bonding period — and for documentation. Anyone thinking of working on a language pair should make sure that they read about testvoc and other quality controls, and factor those in. If you know of any breaks or absences beforehand, be upfront about them and plan around them.
  • Get in contact ASAP!
    • We get a lot of proposals: some good, most bad. Get in contact with your potential mentor as soon as possible by sending your proposal to the mailing list, and asking for feedback. Be responsive to feedback. Refine your application based on feedback. If the mentors remember you, your chances of being picked are higher.
  • Read the Ideas Page!
    • If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read the ideas page. Read the ideas page.
  • Do the coding challenge
    • Every idea will have a coding challenge to perform, this is basically a test to see if you have the required skills to do the project or if you can acquire them in a short amount of time.

Other tips

We're not saying that following the advice below will automatically get you a mentor, but going through it will give you a pretty good chance!

  • Join IRC: even if you're idling or don't say anything, you'll discover more about how Apertium works.
  • Subscribe to the apertium-stuff mailing list.
  • Create a SourceForge username at hand... if you don't already have one.
  • Ask for an account on the Wiki.

Then:

  • First install Apertium and a language pair; read through the new language pair HOWTO. This might even give you some more ideas!
    • You typically want language data from SVN, core tools from our repo (official Debian packages are out of date though). See Installation.
  • When you think of Apertium, think Wikipedia (Be bold!) or think Nike (Just Do It!). Preferably, both.
  • Rule 1 here: Ask questions! Keep asking. The more you ask, the better.
  • Rule 2: No questions are stupid. We have all been new to Apertium once, we have all needed to ask questions. Asking them is proof to us that you are serious.
  • Even better: Write your questions, and a summary of the answers you get, on this wiki. A good summary shows us that you have understood what we told you.
  • Browse the wiki again, especially Apertium New Language Pair HOWTO.
  • Update the wiki so the next reader won't encounter the same problems as you did.
  • Play with some language pairs, perhaps using Apertium-viewer.
  • In a language pair of your own choice, try to edit the files, break stuff, and then make it work again — and then tell us about it.
  • If you think you know the problem better than the mentor does, it could be that you have misunderstood it. Read more about Apertium before making assumptions based on your existing experience.
  • While your code is compiling, look through the GsoC student guide from FLOSS manuals


Frequently asked questions

Do I first have to do the coding challenge and only then I get selected?

The way it works is this: First you need to find a mentor, then you need to write a proposal, then you need to submit the proposal to the Google Mélange site. After this, we read and evaluate the proposals, and we rank them. Then Google tells us how many slots we got, and we take the top n ranked slots, where n is the number of slots we got.

You don't have to do the coding challenge, but it will help you with (a) finding a mentor, and (b) writing your proposal. You are unlikely to be able to write a good proposal without knowing something about Apertium -- which the coding challenge will help you with. And by asking questions, hanging out on IRC, you will get to know the mentors, increasing the chances of finding one who is interested in your proposal.

Template

Name:
E-mail address:
Other information that may be useful to contact you:
Why is it you are interested in machine translation? 
Why is it that you are interested in Apertium?
Which of the published tasks are you interested in? What do you plan to do? 
Include a proposal, including 
    * a title,
    * reasons why Google and Apertium should sponsor it,
    * a description of how and who it will benefit in society,
    * and a detailed work plan (including, if possible, a brief schedule with milestones and deliverables).
Include time needed to think, to program, to document and to disseminate.
List your skills and give evidence of your qualifications. Tell us what is your current field of study, 
major, etc. Convince us that you can do the work. In particular we would like to know whether you 
have programmed before in open-source projects. 
List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for 
internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have 
at least 30 free hours a week to develop for our project. 

Work plan

  • Week 1:
  • Week 2:
  • Week 3:
  • Week 4:
  • Deliverable #1
  • Week 5:
  • Week 6:
  • Week 7:
  • Week 8:
  • Deliverable #2
  • Week 9:
  • Week 10:
  • Week 11:
  • Week 12:
  • Project completed