opensource.google.com

Menu

Google Code-in Contest for High School Students Starts this November

Monday, September 24, 2012



Today marks the launch of the third Google Code-in, an international contest introducing 13-17 year old pre-university students to the world of open source software development. The goal of the contest is to give students the opportunity to explore the many types of projects and tasks involved in open source software development. Globally, open source software development is becoming a major factor in all industries from governments, healthcare, and relief efforts to gaming and large tech companies.

When you hear the term “open source” do you ask yourself:

  • What exactly is open source?  
  • How can I get involved in open source software development if I’m just starting to learn how to code?
  • What types of work do open source projects do?  
  • I’d like to work on open source but I’m not really a coder, what else can I do?
  • I’ve never worked on a global project using IRC and chat groups: can someone help me?

If you’ve wondered about any of these questions and are a pre-university student (age 13-17) then you should join in on the fun with the Google Code-in contest starting November 26, 2012.

From late November to mid January, students will be able to work with 10 open source projects on a variety of tasks. These projects have all successfully served as mentoring organizations working with university students in our Google Summer of Code program.

The types of tasks students will be working on will fall into the following categories:

  1. Code: Tasks related to writing or refactoring code
  2. Documentation/Training: Tasks related to creating/editing documents and helping others learn more
  3. Outreach/research: Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
  4. Quality Assurance: Tasks related to testing and ensuring code is of high quality
  5. User Interface: Tasks related to user experience research or user interface design and interaction

Over the last two years we have had 904 students compete in the contest from 65 countries. This past January we announced the 10 Grand Prize Winners for the 2011 Google Code-in. In June, we flew the winners and a parent/legal guardian to Google’s Mountain View, CA headquarters for a 5 day/4 night trip complete with an awards ceremony, talks with Google engineers, Google campus tour, and a full day of fun in San Francisco.

Visit the Frequently Asked Questions page on the Google Code-in site for more details on how to sign up and participate. Please help us spread the word to your friends around the globe. If you are a teacher that would like to encourage your students to participate, please send an email to our team at ospoteam@gmail.com. We would be happy to answer any questions you may have.

Stay tuned to the contest site and subscribe to our mailing list for more updates on the contest. We will announce the 10 open source organizations that will be participating in the contest on November 12. The Google Code-in contest starts on November 26, 2012, and we look forward to welcoming hundreds of students from around the world into the open source family.

By Stephanie Taylor, Open Source Programs

BARUG Meetup at the Googleplex

Thursday, September 20, 2012


What is R?  R is an open-source, statistical programming language that is increasingly becoming the lingua franca of modern data analysis. R developers have created over 4,000 packages to run in the R environment, including several dozen developed by Googlers. We continue to work with the R community through conferences, meetups like this one, Faculty Research Awards, and the annual Google Summer of Code program, which funded 16 students to work with the R Project this summer.

Last week, Google hosted the Bay Area useR Group (BARUG) at our Mountain View HQ.  Over 130 R users and developers met for pizza, networking, and presentations by Googlers.
This was our third time hosting a BARUG Meetup at Google.  Last year we hosted meetings in both Mountain View and San Francisco.  Last week’s meetup topics included an overview of the integration of R into Google’s engineering systems by Sundar Dorai-Raj (above), exciting new work serializing R to run over Flume by Karl Millar (below left), and tips for better R code by Olivia Lau (below right).
By Olivia Lau and Murray Stokely, Google’s R Intergrouplet

J2ObjC: A Java to iOS Objective-C translator

Thursday, September 13, 2012


We are proud to announce the open source release of J2ObjC, a Google-authored translator that converts Java source code into Objective-C source for iPhone/iPad applications.

J2ObjC enables Java code to be part of an iOS application's build, as no editing of the generated files is necessary. The goal is to write an application's non-UI code (such as data access, or application logic) in Java, which can then be shared by Android apps, web apps (using GWT), and iOS.
J2ObjC is not a Java emulator, but instead converts Java classes to Objective-C classes that directly use the iOS Foundation Framework.  It supports the full Java 6 language and most of its runtime features that are required by client-side application developers, including exceptions, inner and anonymous classes, generic types, threads and reflection. JUnit test translation and execution is also supported.  J2ObjC can be used with most build tools, including Xcode and Make.

You can go to the J2ObjC project page for instructions on how to use the tool, check out the source code and view the list of reported issues.  The site also has detailed design docs for anyone interested in how the translator works.

By Tom Ball, Google Engineer, Mountain View

A Summer in Crystal Space

Wednesday, September 12, 2012



For the seventh year in a row Crystal Space, an open source 3D Engine, has participated in the Google Summer of Code program. In previous years we had great success stories, but this year has exceeded all of our expectations.  Below is a brief description of each of the seven student projects, some of which are continuations of student projects from previous years of Google Summer of Code.

Deferred Rendering
Matthieu Kraus worked on improving the deferred renderer in Crystal Space by cleaning up the deferred render pipeline and integrating dynamic shadows using Cascaded Shadow Maps. He also added deferred lighting and deferred shading.

Extensions to the cseditor Framework
A continuation of a Google Summer of Code project from 2007, Andrei Bârsan’s project was to create the base tools needed for the automated generation of a graphical user interface, and then to apply and test those tools on an object that had always strongly lacked a way to be manipulated: the particle mesh. The goals of the project were achieved and for the first time it is possible to modify particle systems easily and dynamically.

Improved Physics in Crystal Space with Bullet
Dominik Seifert continued revamping the Bullet-based physics engine in Crystal Space, a project started last year by another student. Dominik did much more than just improve the physics engine: he refactored it, pulled it apart, put it back together, and added a lot of new features and improvements. He worked on implementing handling of kinematic and dynamic actors, better coupling of rendering and physics parameters and objects, and more work on portals. He also added support for simple vehicles and physically more accurate particles.

Improving Support for Water Bodies
One of our most graphically oriented projects (together with deferred rendering) was the improvement of water bodies. Naman Gupta managed to fix several bugs in the ocean system, implemented reflection and refraction and implemented support for shorelines.

Virtual File System v2: Modular and Extensible Redesign of VFS
In Crystal Space we have a VFS plugin (Virtual File System) which takes care of loading and saving data transparently to archives and the regular file system. Our student, Touko, spent the summer cleaning up, refactoring the code, committing code and fixing some serious issues like buffer overflows with the old VFS plugin.

Lighter2 Improvements
Lighter2 is an application in Crystal Space that calculates static lightmaps for a level. The tool is quite complicated so this is the second year that we had a student work on the project. This year’s student, Steel Style, was mentored by the student who worked on the project last year. Steel implemented Sector Grouping, Lighter2 configuration option simplifications, and improvements in the packaging of the light maps. His work on Sector Grouping made light map computing faster by a factor of 5x-10x on the sample maps, an astonishing speedup.

Updating Behavior Trees, Recast & Detour and the Life-Sim Demo
Sam Devlin worked on several different tasks in his Artificial Intelligence-oriented project: improving the behavior trees that Sam actually created himself during a previous Google Summer of Code edition, improving the path-finding system that is the result of two other previous Google Summer of Code projects, and improving the demo and tutorial applications for these tools. There is still a lot of work that still has to be done, but all of these tools are now finally usable.

At the end of the program the students spent a lot of time cleaning up their code, writing documentation and some of them even started helping us with the merging of their respective subversion branches into our main development branch. We believe that the experience for our students has been a good one and hope that what they have learned this summer will be valuable for them in the future. Several of the students expressed interest in continuing to work with Crystal Space and there was a lot of very useful code produced. All in all, a really good experience!

By Jorrit Tyberghein, Crystal Space Organization Administrator

Helping the World to Teach

Tuesday, September 11, 2012


In July, Research at Google ran a large open online course, Power Searching with Google, taught by search expert, Dan Russell.  The course was successful, with 155,000 registered students.  Through this experiment, we learned that Google technologies can help bring education to a global audience.  So we packaged up the technology we used to build Power Searching and are providing it as an open source project called Course Builder.  We want to make this technology available so that others can experiment with online learning.
The Course Builder open source project is an experimental early step for us in the world of online education.  It is a snapshot of an approach we found useful and an indication of our future direction.  We hope to continue development along these lines, but we wanted to make this limited code base available now, to see what early adopters will do with it, and to explore the future of learning technology.  We will be hosting a community building event in the upcoming months to help more people get started using this software.  edX shares in the open source vision for online learning platforms, and Google and the edX team are in discussions about open standards and technology sharing for course platforms.

We are excited that Stanford University, Indiana University, UC San Diego, Saylor.org, LearningByGivingFoundation.org, Swiss Federal Institute of Technology in Lausanne (EPFL), and a group of universities in Spain led by Universia, CRUE, and Banco Santander-Universidades are considering how this experimental technology might work for some of their online courses.  Sebastian Thrun at Udacity welcomes this new option for instructors who would like to create an online class.  We believe Google’s preliminary efforts here may be useful to those looking to scale online education through the cloud.

Along with releasing the experimental open source code, we’ve provided documentation and forums for anyone to learn how to develop and deploy an online course like Power Searching.  In addition, over the next two weeks we will provide educators the opportunity to connect with the Google team working on the code via Google Hangouts.  For access to the code, documentation, user forum, and information about the Hangouts, visit the Course Builder Open Source Project Page.  To see what is possible with the Course Builder technology register for Google’s next version of Power Searching.  We invite you to explore this brave new world of online learning with us.

By Peter Norvig, Director of Research
.