Summer of Code - Getting Started: Difference between revisions

Jump to navigation Jump to search
remove notices from last year and re-format some of the student expectations
(→‎Numerical: Added interval package)
(remove notices from last year and re-format some of the student expectations)
Line 1: Line 1:
The following is distilled from the [[Projects]] page for the benefit of potential [https://www.google-melange.com/gsoc/homepage/google/gsoc2015 Google] and [http://sophia.estec.esa.int/socis2015 ESA] Summer of Code (SoC) students. Although students are welcome to attempt any of the projects in that page or any of their own choosing, here we offer some suggestions on what good student projects might be.
The following is distilled from the [[Projects]] page for the benefit of potential [https://www.google-melange.com/gsoc/homepage/google/gsoc2015 Google] and [http://sophia.estec.esa.int/socis2015 ESA] Summer of Code (SoC) students. Although students are welcome to attempt any of the projects in that page or any of their own choosing, here we offer some suggestions on what good student projects might be.
{{Note|For 2015, Octave is participating in GSoC under the [http://www.gnu.org/ GNU] umbrella.}}
{{Note|Octave has been selected for ESA Summer Of Code In Space ([http://sophia.estec.esa.int/socis2015 SoCIS]) program for 2015.
Applications for [http://sophia.estec.esa.int/socis2015 SoCIS] are due by end of April.}}


= Steps Toward a Successful Application =
= Steps Toward a Successful Application =


If you like any of the projects described below these are the steps you need to follow to apply:
If you like any of the projects described below, these are the steps you need to follow to apply:


* '''Help Us Get To Know You'''<br>
* '''Help Us Get To Know You'''<br>
: If you aren't communicating with us before the application is due, your application will not be accepted.
: If you aren't communicating with us before the application is due, your application will not be accepted.
:: '''Join the [https://lists.gnu.org/mailman/listinfo/octave-maintainers maintainers mailing list]''' or read the archives and see what topics we discuss and how the developers interact with each other.
:: '''Join the [https://lists.gnu.org/mailman/listinfo/octave-maintainers maintainers mailing list]''' or read the archives and see what topics we discuss and how the developers interact with each other.
:: '''Hang out in our [https://webchat.freenode.net/?channels=#octave IRC channel]'''. Ask questions, submit patches, show us that you are motivated and well-prepared. There will be more applicants than we can effectively mentor, so do ask for feedback on your public application to increase the strength of your proposal!
:: '''Hang out in our [https://webchat.freenode.net/?channels=#octave IRC channel]'''. Ask questions, show us that you are motivated and well-prepared. There will be more applicants than we can effectively mentor, so do ask for feedback on your public application to increase the strength of your proposal!
* '''Find Something That Interests You'''
* '''Find Something That Interests You'''
: It's '''critical''' that you '''find a project that excites you'''.  You'll be spending most of the summer working on it (we expect you to treat the SoC as a full-time job). But don't just tell us how interested you are, show us. You can do that by [https://savannah.gnu.org/bugs/?group=octave fixing a few bugs] or interacting with us on [https://webchat.freenode.net/?channels=#octave IRC] well before the deadline. Our experience shows us that successful SoC students demonstrate their interest early and often.
: It's '''critical''' that you '''find a project that excites you'''.  You'll be spending most of the summer working on it (we expect you to treat the SoC as a full-time job).
: Don't just tell us how interested you are, show us that you're willing and able to '''contribute''' to Octave. You can do that by [https://savannah.gnu.org/bugs/?group=octave fixing a few bugs] or [http://savannah.gnu.org/patch/?group=octave submitting patches] well before the deadline, in addition to regularly interacting with Octave maintainers and users on e-mail and IRC. Our experience shows us that successful SoC students demonstrate their interest early and often.
* '''Prepare Your Proposal With Us'''
* '''Prepare Your Proposal With Us'''
: By working with us to prepare your proposal, you'll be getting to know us and showing us how you approach problems. The best place for this is your wiki user page and the [https://webchat.freenode.net/?channels=#octave IRC channel].
: By working with us to prepare your proposal, you'll be getting to know us and showing us how you approach problems. The best place for this is your Wiki user page and the [https://webchat.freenode.net/?channels=#octave IRC channel].
* '''Complete Your Application'''
* '''Complete Your Application'''
: Fill out our '''''public''''' application template.
: Fill out our '''''public''''' application template.
:: This is best done by '''[[Special:CreateAccount|creating an account at this wiki]]''' and copying the '''[[Template:Student_application_template_public|template]]''' from its page.<br/>
:: This is best done by '''[[Special:CreateAccount|creating an account at this wiki]]''', and copying the '''[[Template:Student_application_template_public|template]]''' from its page.
:: You really only need to copy and answer the '''''public''''' part there, there is no need to showcase everything else to everybody reading your user page!
:: You really only need to copy and answer the '''''public''''' part there, there is no need to showcase everything else to everybody reading your user page!
: Fill out our '''''private''''' application template.
: Fill out our '''''private''''' application template.
Line 40: Line 36:
* '''The Procedure for Contributing Changesets'''
* '''The Procedure for Contributing Changesets'''
: You will be expected to follow the same procedures as other contributors and core developers.
: You will be expected to follow the same procedures as other contributors and core developers.
: You will be helping current and future Octave developers by using the same style for changes, commit messages, and so on.  You should also read the same [https://www.gnu.org/software/octave/doc/interpreter/Contributing-Guidelines.html contributing] [http://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING guidelines] we have for everyone.
: You will be helping current and future Octave developers by using our standard style for changes, commit messages, and so on.  You should also read the same [https://www.gnu.org/software/octave/doc/interpreter/Contributing-Guidelines.html contribution] [http://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING guidelines] we have for everyone.
: [[Hg_instructions_for_mentors#Mercurial_Tips_for_SoC_students | This page]] describes the procedures students are expected to use to publicly display their progress in a public mercurial repo during their work.
: [[Hg_instructions_for_mentors#Mercurial_Tips_for_SoC_students | This page]] describes the procedures students are expected to use to publicly display their progress in a public mercurial repo during their work.
* '''The Maintainers Mailing List'''
* '''The Maintainers Mailing List'''
Line 51: Line 47:
: Unless your primary mentor has a strong preference for some other method of communication, the IRC channel will likely be your primary means of communicating with your mentor and Octave developers.
: Unless your primary mentor has a strong preference for some other method of communication, the IRC channel will likely be your primary means of communicating with your mentor and Octave developers.
* '''The Octave Forge Project'''
* '''The Octave Forge Project'''
: [http://octave.sf.net Octave-Forge] is a project closely related to Octave where packages reside. They are somewhat analogous to Matlab's toolboxes.
: [http://octave.sf.net Octave-Forge] is a collection of contributed packages that enhance the capabilities of core Octave. They are somewhat analogous to Matlab's toolboxes.
* '''Related Skills'''
* '''Related Skills'''
: In addition, you probably should know '''some''' mathematics, engineering, or experimental science or something of the sort.
: In addition, you probably should know '''some''' mathematics, engineering, experimental science, or something of the sort.
: If you've used Matlab before, you probably have already been exposed to the kinds of problems that Octave is used for.
: If so, you probably have already been exposed to the kinds of problems that Octave is used for.


== Criteria by which applications are judged ==
== Criteria by which applications are judged ==
Line 61: Line 57:


* '''Applicant has demonstrated an ability to make substantial modifications to Octave'''
* '''Applicant has demonstrated an ability to make substantial modifications to Octave'''
: The most important thing is that your application has some interesting code samples to judge you by. It's ok during the application period to ask for help on how to format these code samples, which normally are Mercurial patches.
: The most important thing is that you've contributed some interesting code samples to judge you by. It's OK during the application period to ask for help on how to format these code samples, which normally are Mercurial patches.


* '''Applicant shows understanding of topic'''
* '''Applicant shows understanding of topic'''
Line 76: Line 72:
The following projects are broadly grouped by category and probable skills required to tackle each. Remember to check [[Projects]] for more ideas if none of these suit you, and your own ideas are always welcome.
The following projects are broadly grouped by category and probable skills required to tackle each. Remember to check [[Projects]] for more ideas if none of these suit you, and your own ideas are always welcome.


{{Note|these are a suggested projects but you are welcome to propose your own projects provided you find an Octave mentor}}
{{Note|these are suggested projects but you are welcome to propose your own projects provided you find an Octave mentor}}


== Numerical ==
== Numerical ==
281

edits

Navigation menu