R, Open Source and GSoC
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
There’s a plethora of generic content regarding GSoC preparation already available on the internet.* This blog post will concentrate on specific tips which should help anyone looking to get involved with The R-Project, or any R-centric Open-Source project, begin their journey.
*The post assumes basic programming knowledge (loops, functions, etc.) and familiarity with git/github.*
The basics
To begin with, familiarity with the basic R commands/constructs (function, apply family, etc) would be required. Previous experience of writing small-to-mid sized programs and a good IDE can really come in handy. RStudio is highly recommended.
The following resources should help in beginning your R journey.
-> Try R
-> Learn R with R tutorials and coding challenges | DataCamp
-> swirl: Learn R, in R. (Give this a go even if already proficient in R; great resource!)
Carrying the journey forward
If you are looking for more in-depth R knowledge, try some of the numerous free courses on Coursera, edX, Udacity, etc.
(I had started with this one: https://www.coursera.org/course/rprog)
Once you find yourself moderately experienced in R programming (and if books are your thing), go through this e-book by Hadley Wickham: Advanced R.
He happens to be one of the most famous (and awesome) R programmers in the world (and was one of my GSoC mentors too). This book would help you become a much better R programmer, and in my opinion, a better programmer too.
Getting the feel of things
Once all the R basics have been dealt with, try going through this year’s GSoC project list:
rstats-gsoc: table-of-proposed-coding-projects
Go through the proposal column of the list to get an idea about the projects that were done this year. Here’s the page for mine: rstats-gsoc/project-page.
As you could see, there were two things a student had to do:
1.) Complete some tests.
2.) Contact the mentors.
It was the template for, more or less, each project. Each individual project, however, varied differently. You will have to choose one (or more) to apply to as per your interests/strengths/experience. In addition to R and basic version control (git/svn), each project will require some additional skills. Some would require proficiency in C/C++, others Javascript while some other will require you to work with the Shiny framework for R.
R packages
Majority of the projects would require you to write an R-package. The package system is the backbone of the R ecosystem, and one of the major reasons behind its popularity.
Quoting Quick-R,
Packages are collections of R functions, data, and compiled code in a well-defined format. The directory where packages are stored is called the library. R comes with a standard set of packages. Others are available for download and installation. Once installed, they have to be loaded into the session to be used.
This blog post should help you quickstart: Writing an R package from scratch.
The e-book R packages is one of the best and most up-to-date resource about the same.
Miscellaneous
Join the R mailing lists (R: Mailing Lists) and follow some blogs. R-bloggers is a great one!
Conclusion
In Google Summer of Code (GSoC), there’s no fixed formula for getting accepted. The same applies to R Project.
R, and statistical computing, are fascinating subjects and you should explore them as freely as possible. At the time of writing this post (October 2, 2015), there’s still a few months to go before GSoC really heats up.
*Some generic GSoC content:
-> Student Guide
-> There are as many as 137 organizations selected in GSoC this year. For a beginner, it’s really difficult to select an organization. I’m preparing for GSoC 2016. So, how can I choose an appropriate organization?
There are many more resources available on the internet. Look them up.
Have fun while at it all. That’s real important.
Open Source is fun!
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.