Summer of Code - Getting Started: Difference between revisions

More overhaul page.
(More overhaul page.)
Line 22: Line 22:
#* Try to show us as early as possible a draft of your proposal 👍
#* Try to show us as early as possible a draft of your proposal 👍


== Things You'll be Expected to Know or Quickly Learn On Your Own ==
= How do we judge your application? =
 
Depending on the mentors and SoC program there are varieties, but typically the main factors considered would be:
 
* '''You have demonstrated interest in Octave and an ability to make substantial modifications to Octave'''
*: The most important thing is that you've contributed some interesting code samples to judge your skills. It's OK during the application period to ask for help on how to format these code samples, which normally are Mercurial patches.
 
* '''You showed understanding of your topic'''
*: Your proposal should make it clear that you're reasonably well versed in the subject area and won't need all summer just to read up on it.
 
* '''Well thought out, adequately detailed, realistic project plan'''
*: "I'm good at this, so trust me" isn't enough.  In your proposal, you should describe which algorithms you'll use and how you'll integrate with existing Octave code.  You should also prepare a project timeline and goals for the midterm and final evaluations.
 
= Things You'll be Expected to Know or Quickly Learn On Your Own =


Octave is mostly written in C++ and its own scripting language that is mostly compatible with Matlab. There are bits and pieces of Fortran, Perl, C, awk, and Unix shell scripts here and there. In addition to being familiar with C++ and Octave's scripting language, successful applicants will be familiar with or able to quickly learn about Octave's infrastructure. You can't spend the whole summer learning how to build Octave or prepare a changeset and still successfully complete your project.
Octave is mostly written in C++ and its own scripting language that is mostly compatible with Matlab. There are bits and pieces of Fortran, Perl, C, awk, and Unix shell scripts here and there. In addition to being familiar with C++ and Octave's scripting language, successful applicants will be familiar with or able to quickly learn about Octave's infrastructure. You can't spend the whole summer learning how to build Octave or prepare a changeset and still successfully complete your project.
Line 53: Line 66:
*: In addition, you probably should know '''some''' mathematics, engineering, experimental science, or something of the sort.
*: In addition, you probably should know '''some''' mathematics, engineering, experimental science, or something of the sort.
*: If so, 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 ==
These might vary somewhat depending on the mentors and SoC program, but typically the main factors considered would be:
* '''Applicant has demonstrated interest in Octave and an ability to make substantial modifications to Octave'''
*: The most important thing is that you've contributed some interesting code samples to judge your skills. 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'''
*: Your proposal should make it clear that you're reasonably well versed in the subject area and won't need all summer just to read up on it.
* '''Well thought out, adequately detailed, realistic project plan'''
*: "I'm good at this, so trust me" isn't enough.  In your proposal, you should describe which algorithms you'll use and how you'll integrate with existing Octave code.  You should also prepare a project timeline and goals for the midterm and final evaluations.


= Suggested projects =
= Suggested projects =