Google Summer of Code - nteract/nteract GitHub Wiki

  • The student will be mentored by at least one nteract team member and also receive financial support from Google.
  • The student will be expected to contribute code to nteract and/or surrounding projects in order to pass their midterm and final evaluations.

The application window opens on March 20, 2017 at 12:00 (PDT).

Eligibility

Eligibility requirements are described in the GSoC FAQ:

  • You must be at least 18 years of age.
  • You must be a full or part-time student at an accredited university (or have been accepted as of May 1, 2017).
  • You must be eligible to work in the country you will reside in during the program.
  • You have not already participated as a Student in GSoC more than twice.
  • You must reside in a country that is not currently embargoed by the United States. See Program Rules for more information.

How to Contact Nteract

Please contact us before submitting your application to Google. Join our slack and talk to us during the application process!

Project Ideas

Project Ideas

Who are we?

Available mentors

The following nteract members have expressed interest in mentoring for GSoC:

Am I experienced enough?

Yes, the range of available projects should suit people with different backgrounds, both with and without prior knowledge of Jupyter notebooks and our tech stack.

Our Expectations from Students

Communication

  • Write a short report for us once a week
  • Commit early and commit often! Push to github so that we can see and review your work.
  • Actively work on our project timeline and communicate with us during the community bonding period
  • Communicate every working day with your mentor. Just say "Hello" if you like. It can be via slack, email, skype, github comments, phone, etc.
  • If there is a reason why you can't work or can't contact us on a regular basis please make us aware of this.
  • If you don't communicate with us regularly we will have to fail you.

Midterm and Final evaluations

  • Set a realistic goal for mid-term. If you fail to meet your own goal we are more likely to fail you in the evaluations
  • Have some code merged into our develop branch at the end of the summer to pass the final evaluation
  • The last point is a hard requirement. Make sure that your time plan includes it.

How to write a great Application

Firstly, think about your choice of project carefully, you're going to be doing it for a couple of months, so it's important that you choose something you're going to enjoy. Once you've made your mind up:

  1. Make sure you've thought about the project and understand what it entails
  2. Don't be afraid to come up with original solutions to the problem
  3. Don't be afraid to give us lots of detail about how you would approach the project
  4. Contact us early! The earlier you contact us the earlier you will be able to get feedback from us to improve your application

Overall, your application should make us believe that you are capable of completing the project and delivering the functionality to our users. If you aren't sure about anything, get in touch with us, we're happy to advise you.

Requirements for an Application

Dividing your project

We expect that all of our students have at least one commit in our master branch before the end of the coding period. By designing the project to be composed of smaller, self-contained subprojects, this requirement will be satisfied without much friction.

During your summer you will encounter bugs in nteract or find code that can be refactored to help you implement your ideas. By fixing them and making a pull request, you are helping the project move forward even if it might not be directly related to your project proposal. These bug fixes are a part of the learning process and will inevitably make you more knowledgable of the nteract codebase as a whole.

The philosophy of nteract is to follow a merge-first strategy, so making contributions early and often shouldn't be an issue.

Your application should include answers to the following questions.

  • Why are you interested in working with us?
  • Have you used nteract or other notebooks already, if so, what would you like to see improved?
  • Do you have any experience programming?
  • Do you have any exams during GSoC or plan a vacation during the summer?

Your application should include a week by week timeline of planned work

How to estimate time needed for development

To get a feeling for the code and get some experience with our code you can go and tackle some of our new-contributor-friendly issues. Do some research on the packages and ecosystem around the work you want to do. Take a pen and paper and draw out what you want to work on. Keep all of these thoughts in a notebook, it will come in handy! The more exhaustive your research is and the better you plan ahead, the easier it will be to judge how long a given task will take. Work almost inevitably takes longer than one would expect so always plan on being conservative in making time estimates.

This page is adapted from the wonderful folks at MDAnalysis