Tag Archives: students

Sign up today for Hash Code 2017!

Calling all developers in Europe, the Middle East and Africa: our programming competition Hash Code is back for its fourth year of challenging programmers to solve a real Google engineering problem. Think you could optimize the layout of a Google Data Center?  Or how about scheduling a fleet of drones to make deliveries around the world?  If you’re up for the challenge, sign up to compete today at g.co/hashcode.  

Hash Code 2017 kicks off on 23rd February with the Online Qualification Round. The top 50 teams from this round will then be invited to Google Paris, in the City of Light, to battle it out for the coveted title of Hash Code 2017 Champion.

52 teams from 22 countries competed side-by-side during the Hash Code 2016 Final Round at Google Paris


To make things even more exciting, students and professionals across the region are signing up to host Hash Code hubs where local teams can come together to compete for the Online Qualification Round. So far, more than 250 hubs are being organized across Europe, the Middle East and Africa.  Participating from a hub is a great way to meet new people and add a little extra fun and competition to the contest. Don’t see a hub near you? You can still sign up to host a hub in your university, office or city on our website.

Whether you’ve just started coding or you’re a programming competition aficionado, Hash Code is a great chance to flex your programming muscles, get a glimpse into software engineering at Google and have some fun. Take a look at previous Hash Code problem statements to see the engineering challenges participants have tackled in the past.

Teams compete in the 2016 Online Qualification Round from a Hash Code hub


We can’t reveal this year’s problem statements, but we will have some other fun announcements leading up to the Online Qualification Round. Keep in touch with Hash Code by joining our Google+ community and Facebook event.

Are you up for the challenge? Sign up today at g.co/hashcode and we’ll see you online on 23rd February!

Lindsay Taub
University Programs Team

CSSI Three-Day Takeover! Day Three: Catching Up With Googler (and former CSSI’er) Kenechi

Today we’re speaking with a CSSI alumni, Kenechi from the class of 2008 (our first iteration of CSSI) who currently works at Google as a Software Engineer. Below, she shares her experience at CSSI and how it put her on the path to Google. Click here if you're ready to apply to CSSI!
Kenechi.jpg

Before CSSI, what was your experience with Computer Science? And why did you apply to the program?
I’ve wanted to write software since my first experience with Word 95 when I was little. I took a course on QBASIC in high school but didn’t have an opportunity to take AP Computer Science because it only had 1 offering a year. I took my first full programming course my first semester at CMU. I applied to CSSI because the program’s description sounded cool and I wanted the opportunity to visit Google’s headquarters.

What was your favorite moment during the program?
The final presentations were a great moment for me. It was amazing how much content was covered in two-and-a-half weeks and how much I had gotten to know the other students.

What's the most important lesson you learned?
The most important lesson of CSSI for me was one of validation. After CSSI a career in software engineering became a reality. For two weeks I was able to see what it was like to be at Google; I had the opportunity to meet and learn from dozens of full-time engineers. Even though I was already a CS major at CMU, CSSI formed the foundation for the rest of my career. It was there that I got the confidence and network necessary to succeed as a software engineer.

How did this help you for college going forward?
There was another CMU student in my CSSI class, after CSSI we started a study group. We would meet daily to study and go to office hours together. It really helped having a study group for the rest of time at CMU, especially as the courses got increasingly difficult.

What was your journey to Google?
My journey to Google started with CSSI. I returned as an intern for back to back summers, the first summer in the Engineering Practicum program. After graduating I worked at Microsoft for over two years and then returned to Google.


How did this prepare you for work? And specifically, how did this prepare you to for Google?

The summer after CSSI I had the opportunity to be an EP intern. My internship helped me to experience what day to day software development would be like. CSSI opened the door to that opportunity. CSSI also introduced me to a whole new network of other computer science majors from across the country; I came to depend on that network as I continued on in my career at both Google and even Microsoft.

CSSI Three-Day Takeover! Day Two: Catching Up With CSSI’ers

Today, we’re catching up with a few of our CSSI students from this past summer. We’ve asked the students to share highlights from their time at CSSI and how the program impacted them for their future academic and professional careers.


view


Haven is a first year student at University of Arkansas where she’s majoring in Computer Science and Mathematics.


Why did you apply to CSSI?


To be honest, I’d never taken a class in computer science and I didn’t have internet at home, so my only experience is in what I picked up troubleshooting tech problems for teachers and watching videos on Khan Academy. My goal for the summer was to gain some hands on experience with software.


What shocked you the most about the program?


I was surprised that there were so many people like me, I stick out with my family and friends and it was nice to belong. It was nice to develop a community that you can talk to about work, personal life, and share your thoughts because I don’t run into people like that in my day to day. Meeting people that were like me encouraged me to pursue CS.


What’s the most important lesson you learned?


I’m one of six kids, the middle child, single mom, poor family, so I felt like I blended in and didn’t think I was going to go far. I wanted to do amazing things, but I thought it’s not really going to happen. Getting into Google gave me the confidence that I can go far.


Now, Haven is pursuing a double major in Computer Science and Mathematics at the University of Arkansas. Great job, Haven!



view


Jay is a first year student at the University of Alabama where he’s majoring in Computer Science. Below, he shares his thoughts about his three weeks in Cambridge at the CSSI.


How did you become interested in Computer Science and CSSI?


In middle school, I developed a love for technology and was the go-to person at my school who assisted teachers with IT. This combined with my passion for giving back to my community led me to Computer Science. I wanted to pursue a subject where I’m able to build technology that will impact underserved populations and help others.
What was the most important lesson you learned at CSSI?


That it’s best to work in teams. During the project week, I was paired with two other CSSI classmates and together we built a web app. We leaned on each others’ talents to make it possible. Now at school, I meet weekly with my CS classmates preparing for technical interviews and we help each other with internship applications. It’s really helpful because not as many people are as social as I am, but it’s something we can all relate and can feed off of each other's’ energy. They’re shooting technical questions at me and telling me what to improve on and I can tell them how to talk to people.


What were you most shocked by?


The amount of talent that I was surrounded by… the instruction and the accelerated students who all had ideas about how they wanted to change the world. I was the only student at my High School who was interested in Computer Science, so being able to come to a place where there are 29 other students who are just like you, interested in the same stuff and they’re thinking about how they can use it to change the world was really meaningful to me.


Thank you for sharing your CSSI memories with us, Haven and Jay!

Click here to apply today!

CSSI Three-Day Takeover! Day One: Computer Science Summer Institute and Generation Google Scholarship Applications Are Open

We are now accepting applications for the 2017 Computer Science Summer Institute, as well as the 2017 Generation Google Scholarship. Learn more about both programs below and apply today!


view


What
The Computer Science Summer Institute (CSSI) is a three-week introduction to computer science for graduating high school seniors with a passion for technology. Students will learn programming fundamentals directly from Google engineers, get an inside look at some of Google's most exciting, emerging technologies, and even design and develop their very own application with fellow participants.


The Generation Google Scholarship helps aspiring computer scientists from underrepresented groups excel in technology and become leaders in the field. Selected students will receive 10,000 USD (for those studying in the US) or 5,000 CAD (for those studying in Canada) for the 2017-2018 school year. As part of the scholarship, current high school seniors who are entering their first year of university in Fall 2017 will be required to attend CSSI in the summer of 2017.


Where & When
We offer two types of sessions at CSSI: commuter and residential. In the residential camps, housing and transportation will be provided. In the day camps, students will be provided with a travel stipend and expected to commute into the respective Google offices for each day of CSSI. Students within a specified mileage distance from the respective day-camp offices will automatically be considered for those sites. The sites will be taking place in Mountain View, CA, Los Angeles, CA, Chicago, IL, New York, NY, Pittsburgh, PA, Atlanta, GA, Cambridge, MA, and Seattle, WA.


view


Who
We are looking for students eager to spend a few weeks immersed in the Google life -- tackling interesting technical problems, working collaboratively and having fun. The program is committed to addressing diversity in the field of computer science and is open to all qualified high school seniors who intend to major in computer science at a four year university in the US or Canada.


Why
Google is committed to increasing the enrollment and retention of students in the field of computer science. These programs offer an intensive, interactive and fun experience that seeks to inspire the tech leaders and innovators of tomorrow. We want students to leave empowered, heading into their first year of college armed with technical skills and a unique learning experience that can only be found at Google. We aim to expose selected students to key programming concepts while enabling them to tackle the challenging problems in CS by creating a safe, comfortable environment to learn, play, break, and build.


view


Apply
Visit our Google for Education website for more information and to apply. The application deadline is March 2, 2017. Final decisions will be announced in early May.


Questions?
Give us a shout at [email protected] or [email protected].

Winners of the Google Hispanic Heritage Month, Pay it Forward contest

In honor of Hispanic Heritage Month*, Google hosted the ‘Pay it Forward’ contest.* In this blog post we’ll have a Q&A with our winners, Oscar Cazalez and Luis Narvaez, showcasing their amazing work that impacts educational access and opportunity for the Hispanic community.
*Each year, Americans observe National Hispanic Heritage Month from September 15 to October 15 by celebrating the histories, cultures and contributions of American citizens whose ancestors came from Spain, Mexico, the Caribbean and Central and South America.

Student Winner: Oscar Cazalez
Based in Chicago, Ill., Oscar is a senior at the Illinois Institute of Technology where he is simultaneously studying toward a Bachelor’s degree in Business Administration and a Master of Science in Finance. This year, Oscar worked with 4 peers to form a scholarship fund for undocumented students who don’t qualify for federal aid or student loans. So far, the fund has raised over $11,000 and multiple grants have already been awarded.

11891894_877452078974731_2755555120403026336_o.jpg14291681_1092686237451313_6202530183994827368_n.jpg14064103_1070569502996320_5290102676406466764_n.jpg
Professional Winner: Luis Narvaez
Also based in Chicago, Luis is the Director of Strategic Projects at Chicago Public Schools. Luis came to the US from Mexico when he was 15 and had to learn English as a second language. In his current role, Luis works to develop initiatives like Bilingual Student Access to College and Career Attainment (BACCA), which brings together elementary, middle and high school counselors, college admissions and financial aid representatives, and members of community based organizations focused on college access for underrepresented populations. Luis is currently working toward his Masters in Educational Leadership.


IMG_1870.JPG12188934_10206970420566178_8117186238890064258_n.jpgBiliteracy-UIC-4743.jpg
What would people would be surprised to learn about you?
Oscar: When I tell people my story of how I got to the United States, they are usually surprised. But they are truly surprised when I tell them that I am a first generation college student, play Division III Men’s Soccer for my university, and I am finishing my Bachelor of Science in Business Administration while taking classes for my Master in Science of Finance. I am just one of millions of undocumented students who are doing great work in their respective fields.

Luis: I became a US citizen as soon as I was eligible and have had the chance to travel throughout Latin America, Puerto Rico, and parts of Europe. Traveling is one of my biggest passions and I will continue to travel for as long as I can. My wife and I also have raised a beautiful 4 year old since birth as our foster child and will be adopting him very soon.

It sounds like your work requires a lot of time, dedication, and energy. How do you keep it up?
Oscar: My days are always long and I am stressed almost all the time. But I know the importance of taking care of my mental and physical health. When I am not in soccer season, I go to the gym to relieve my stress; I usually do power lifting. I’m lucky that I live in Chicago because I go biking by the Lake during the summer.

I know many undocumented students are not open about the immigration status but I am not afraid because I know for a fact that if you’re undocumented and attending college, you have worked and sacrificed so much. At the end of the day, my vision and purpose motivate me to keep going.

Luis: The 3 Fs in my life are my backbone. One F is for family - I am blessed to have a very loving and caring wife, who supports my journey and helps me raise our two boys (3 and 4 years of age), and a mother and father who've been by my side every step of the way. I am also a man of faith, so that's the second F; I believe that we are all connected to spiritual powers beyond our understanding and control, and I like to stay in connection with those forces. The third F is for friends who I have always leaned on for support and advice and who cheer me on every step of the way.

What motivates you to do this work? Why do you think it’s important to pay it forward?
Oscar: My younger undocumented peers motivate me because I was once a student who feared going to college due to my immigration status. I was always told if I worked hard, I could go places but I found out that there are more barriers when you’re undocumented. Growing up, others lent me a helping hand, so I am just doing the same thing for others.

Luis: I think we always need to take a look at our accomplishments and achievements, be thankful for our current position, and pay it forward by helping others get to a similar point. Being selfish is the worst path we can take when we reach success. I come from a community where we care for one another, help each other when there's obstacles in the way, and celebrate others achievements and successes as if they were our own.

Who or what inspires you?
Oscar: My parents are my greatest motivation because they risked everything to give their children a better life and a shot at the American Dream. One day, I want to pay it forward to my parents by buying them a house and helping them financially. It has been a tough journey but I have always let my work ethic speak for itself.

Luis: As a former ESL student who arrived from Mexico at the age of 15 without US citizenship, I give credit for where I am today to all of the educators in high school, undergraduate, and graduate level who believed in me and pushed me to challenge myself.

What’s next for you?
Oscar: My short term goal is to get an internship this upcoming summer and to graduate with a Master of Science in Finance, while continuing to fundraise for the scholarship. Long-term, I plan to work either in banking or the tech sector for about five years before starting my own company. I also want to continue my activist work by creating more resources for students who are in financial need but don’t qualify for aid or loans; motivating students to pursue STEM degrees; and by being a constant advocate for immigrant rights.

Luis: I would like to pursue a PhD. I am very well aware of the lack of educated Latino males in this country and I would like to become a role model for them. I am very interested in pursuing a program in Educational Policy Studies and so I can have positive impact in shaping the future of education in America.

Google Summer of Code 2016 wrap-up: Oppia

Google Summer of Code (GSoC) is an annual program that encourages university students to become open source contributors. This guest post is part of a series of blog posts from the open source projects and organizations that participated in GSoC 2016.

The Oppia project makes it easy for anyone to create lightweight, interactive online lessons that simulate personal tutoring. These activities, called “explorations,” can be shared with others around the world as standalone tutorials (such as Programming with Carla and Quadratic Equations), or embedded in websites to supplement an existing course (such as “Take Your Medicine” on edX and Computational Thinking for Educators).

2016 was Oppia’s first year participating in GSoC and it was a blast! More students flocked to our ideas page than we had expected, and our Gitter channel was full of people saying hello and looking for starter projects. Over the course of the summer, with the help of two capable and enthusiastic students, we were able to bring the following new features to the Oppia codebase:

A new creator dashboard -- Avijit Gupta


An important principle of Oppia is that lessons can be easily improved over time -- it’s hard to figure out all the possible ways a student can go wrong at the outset, but it’s much easier to respond appropriately to a new misconception that arises.

Each creator on Oppia has a “creator dashboard” which allows them to see the lessons they’ve created, as well as the feedback they’ve received from learners. Avijit completed a full revamp of this page, updating its design (for both desktop and mobile) and finding ways to display all the necessary information in an intuitive way so that creators can easily improve their lessons while getting feedback on their teaching.

The new creator dashboard.

In addition, Avijit added functionality allowing creators to view student misconceptions that were not well-addressed, to make it easier for them to improve the feedback for those answers. He has continued to help out with the Oppia open source project as a maintainer and reviewer, even after GSoC, and is mentoring other contributors who are working on further improvements to the creator dashboard. You can read more about the project in his GSoC writeup!

Speed improvements -- Vishal Gupta


In order to improve the accessibility of lessons for students with poor internet connectivity, Vishal’s project aimed to make Oppia speedier and less bandwidth-intensive. He started by implementing a performance testing framework to benchmark his efforts, and also integrated it with our continuous integration system in order to protect against performance regressions. He then turned his efforts to caching as many static resources as possible, implementing a cache slug system that causes new files to be downloaded only after a new release is made.

In addition, Vishal removed JavaScript code that was inlined in the main templates, and refactored it out into an external script which could then be cached for better performance. You can read more about this project in his post on the Oppia blog.

We’d like to extend our grateful thanks not only to Avijit and Vishal, but also to our many willing and enthusiastic mentors, and to Google for supporting our open source work with GSoC.

Join us in helping improve educational opportunities for students around the world. If you’d like to subscribe to news and updates about Oppia’s participation in GSoC, you can sign up to the oppia-gsoc-announce mailing list -- or, if you’re already feeling enthusiastic, you can start helping out with the project right away!

By Ben Henning and Sean Lip, Organization Administrators for Oppia

Rails Girls Summer of Code: Changing the face of tech

This is a guest post from Laura Gaetano who organizes Rails Girls Summer of Code, a global fellowship program inspired by Google Summer of Code.

Have you seen that picture of Margaret Hamilton, the NASA engineer who worked on the computer systems for the Apollo 11 launch? She’s standing next to the human-sized pile of listings of the Apollo Guidance Computer source code that she worked on. Do you know about Ada Lovelace, often cited as the very first computer programmer?

From World War II until the 1980s, women engineers and women computer operators were fairly common. There was a steady rise in women entering STEM fields, and young girls had role models and strong women to look up to. We're well acquainted with the drop in female engineering graduates worldwide after this time period, and the subsequent drop in the percentage of women entering the world of tech. We're here to help change that, and reverse the trend.

Rails Girls Summer of Code (RGSoC) aims to bring more diversity into the world of tech — specifically, into the world of open source software, where women make up a mere 11% of the community. The global program offers 3-month scholarships to teams of women to allow them to work full-time on an open source project of their choice – aided by local coaches and guided by the project maintainer (or a core contributor). The scholarships are funded through the support of the community as well as our sponsors, via a crowdfunding campaign.

Local vs. Global
We all cherish our local community and understand how strong of a support network it can be, especially for newcomers. The Rails Girls chapters worldwide emphasize that need: most coaches and organisers are local, and many alums go on to create their own study groups, or become coaches or organisers themselves. RGSoC also relies strongly on a global network of user groups — both Rails Girls chapters and similar organisations such as PyLadies or DjangoGirls.

Thanks to our connections with these different groups, we are able to reach people in remote or unlikely locations, and build the most diverse group of applicants possible. This is very important to us. Since the beginning, the program has provided the opportunity to bring together women with different experiences, backgrounds, locales and age groups to come together and be part of the same global initiative.

Our Structure
This year, we received over 90 team applications. When applying, each two-person team chooses from a list of pre-selected projects. These projects are maintained by people we either personally know, or who have reached out to us prior to the application period. We look for projects with patient, open-minded contributors who are active in their community, and projects that provide a lot of learning opportunities for applicants.

Project maintainers (also called mentors) are in touch with students in order to adapt the roadmap throughout the summer to the students' needs and check up on their progress. On a daily basis, students spend the majority of their time with coaches. The coaches help, support, and teach the students throughout the summer. Each team is also appointed a supervisor, who supports students on the organisational side of things. They are the glue that keeps the whole team together, and a way for the core RGSoC team to keep track of how every team is doing.

Our Stats
Our program started in 2013 with 18 teams, 10 of which were sponsored and 8 of which were volunteer teams. The following year, 16 teams participated with 10 sponsored spots. The real breakthrough came in 2015 when we were able to fund 16 sponsored teams, a substantial increase from the previous years. Not only did this enable us to have more impact — with a potential 12 more women entering the tech world and STEM workforce than the previous years — but it also shows the community’s trust in the program.

In 2016, the Ruby community awarded us with a Ruby Hero Award, and we managed to collect enough money to sponsor 16 teams from five continents with another 4 teams joining as volunteers. This year was also the first time we had teams based in Uganda, Egypt, Singapore and the Czech Republic.
Our stats from 2016 (Image: Laura Gaetano/RGSoC)
Last year, we contacted our alums from 2013 and 2014 to find out what they were doing after the program. The responses were impressive: out of 64 graduates, over 90% are now currently working in the tech field. A fair number of graduates have even founded their own startup. Not only that some of these women have found their calling, but we might have made a small difference in the community of open source, and are on the right track to really shake things up.

Where do we go from here
On the first of July, we kicked off our program with over 130 people participating — including coaches, supervisors, designers, helpdesk coaches and project mentors. We were incredibly excited to have 20 teams in 16 cities and 11 different countries, spanning time zones, from UTC+10 to UTC-7.
Our 2016 sponsored and volunteer teams! (Image: Ana Sofia Pinho/RGSoC)
We’ve seen in the past just how much of an impact we’ve had in our participants’ lives, and are hoping that this trend will continue to rise. We hope that some of this year’s teams graduated with the skills and confidence to become NASA engineers, web developers, or anything else they want to be. Hopefully someday they will become a young woman’s role model, and realise the important role they served in changing the future of engineering and of open source software.


By Laura Gaetano, Organizer of Rails Girls Summer of Code

Taking the pulse of Google Code-in 2016

GCI official horizontal_1372x448dp.png

Today is the official midpoint of this year’s Google Code-in contest and we are delighted to announce this is our most popular year ever! 930 teenagers from 60 countries have completed 3,503 tasks with 17 open source organizations. The number of students successfully completing tasks has almost met the total number of students from the 2015 contest already.

Tasks that the students have completed include:
  • writing test suites
  • improving mobile UI 
  • writing documentation and creating videos to help new users 
  • working on internationalization efforts
  • fixing and finding bugs in the organization's’ software 
Participants from all over the world
In total, over 2,800 students from 87 countries have registered for the contest and we look forward to seeing great work from these (and more!) students over the next few weeks. 2016 has also seen a huge increase in student participation in places such as Indonesia, Vietnam and the Philippines.

Google Code-in participants by country

Please welcome two new countries to the GCI family: Mauritius and Moldova! Mauritius made a very strong debut to the contest and currently has 13 registered students who have completed 31 tasks.

The top five countries with the most completed tasks are:
  1. India: 982
  2. United States: 801
  3. Singapore: 202
  4. Vietnam: 119
  5. Canada: 117
Students, there is still plenty of time to get started with Google Code-in. New tasks are being added daily to the contest site — there are over 1,500 tasks available for students to choose from right now! If you don’t see something that interests you today, check back again every couple of days for new tasks.

The last day to register for the contest and claim a task is Friday, January 13, 2017 with all work being due on Monday, January 16, 2017 at 9:00 am PT.

Good luck to all of the students participating this year in Google Code-in!

By Stephanie Taylor, Google Code-in Program Manager

All numbers reported as of 8:00 PM Pacific Time, December 22, 2016.

Google Summer of Code 2016 wrap-up: Public Lab

This post is part of our series of guest posts from students, mentors and organization administrators who participated in Google Summer of Code 2016.


How we made this our best Google Summer of Code ever

This was our fourth year doing Google Summer of Code (GSoC), and it was our best year ever by a wide margin! We had five hard-working students who contributed over 17,000 new lines of (very useful) code to our high-priority projects.

Students voluntarily started coding early and hit the ground running, with full development environments and a working knowledge of GitHub Flow-style pull request process. They communicated with one another and provided peer support. They wrote tests. Hundreds of them! They blogged about their work as they went, and chatted with other community members about how to design features.

All of that was amazing, and it was made better by the fact that we were accepting pull requests with new code twice weekly. Tuesdays and Fridays, I went through new submissions, provided feedback, and pulled new code into our master branch, usually publishing it to our production site once a week.

I don't know how other projects do things, but this was very new for us, and it's revolutionized how we work together. In past years, students would work on their forks, slowly building up features. Then in a mad dash at the end, we’d try to merge them into trunk, with lots of conflicts and many hours (weeks!) of work on the part of project maintainers.

Screenshot_2016-08-26_at_11.44.16_AM.png
What made this year so good?

Many things aligned to make this summer great, and basically none of them are our ideas. I'm sure plenty of you are cringing at how we used to do things, but I also don't think that it's that unusual for projects not "born" in the fast-paced world of modern code collaboration.

We used ideas and learned from Nicolas Bevacqua, author of JavaScript Application Design and of the woofmark and horsey libraries which I've contributed to. We've also learned a great deal from the Hoodie community, particularly Gregor Martynus, who we ran into at a BostonJS meetup. Lastly, we learned from SpinachCon, organized by Shauna Gordon McKeon and Deb Nicholson, where people refine their install process by actually going through the process while sitting next to each other.

Broadly, our strategies were:

  • Good documentation for newcomers (duh)
  • Short and sweet install process that you've tried yourself (thanks, SpinachCon!)
  • Predictable, regular merge schedule
  • Thorough test suite, and requiring tests with each pull request
  • Modularity, insisting that projects be broken into small, independently testable parts and merged as they’re written

Installation and pull requests

Most of the above sound kind of obvious or trivial, but we saw a lot of changes when we put it all together. Having a really fast install process, and guidance on getting it running in a completely consistent environment like the virtualized Cloud9 service, meant that many students were able to get the code running the same day they found the project. We aimed for an install time of 15 minutes max, and supplied a video of this for one of our codebases.

We also asked students to make a small change (even just add a space to a file) and walk through the GitHub Flow pull request (PR) submission process. We had clear step-by-step guidance for this, and we took it as a good sign when students were able to read through it and do this.

Importantly, we really tried to make each step welcoming, not demanding or dismissive, of folks who weren’t familiar with this process. This ultimately meant that all five students already knew the PR process when they began coding.

Twice-weekly merge schedule

We were concerned that, in past years, students only tried merging a few times and typically towards the end of the summer. This meant really big conflicts (with each other, often) and frustration.

This year we decided that, even though we’re a tiny organization with just one staff coder, we’d try merging on Tuesday and Friday mornings, and we mostly succeeded. Any code that wasn’t clearly presented, commits squashed, passing tests, and submitting new tests, was reviewed and I left friendly comments and requests so it could be merged the following week.

At first I felt bad rejecting PRs, but we had such great students that they got used to the strictness. They got really good at separating out features, demonstrating their features through clear tests, and some began submitting more than two PRs per week - always rebasing on top of the latest master to ensure a linear commit history. Sweet!

Wrap-up and next steps

The last thing we did was to ask each student, essentially as their documentation, to write a series of new issues which clearly described the problem and/or desired behavior, leave suggestions and links to specific lines of code or example code, and mark them with the special “help-wanted” tag which was so helpful to them when they first started out. We asked each to also make one extra-welcoming “first-timers-only” issue which walks a new contributor through every step of making a commit and even provides suggested code to be inserted.

This final requirement was key. While I personally made each of the initial set of “help-wanted” and “first-timers-only” issues before GSoC, now five students were offloading their unfinished to-dos as very readable and inviting issues for others. The effect was immediate, in part because these special tags are syndicated on some sites. Newcomers began picking them up within hours and our students were very helpful in guiding them through their first contributions to open source.

I want to thank everyone who made this past summer so great, from our champion mentors and community members, to our stellar students, to all our inspirations in this new process, to the dozen or so new contributors we’ve attracted since the end of August.

By Jeff Warren, Organization Administrator for PublicLab.org

Google Summer of Code 2016 wrap-up: CSE@TU Wien

Every year over a thousand university students work with more than a hundred open source organizations as part of the Google Summer of Code (GSoC). This post is part of a series of guest posts from students, mentors and organization administrators reflecting on GSoC 2016.

CSE@TU Wien is a loose interest group at the Technische Universität Wien (TU Wien) focused on developing, providing and utilizing free and open source software for research. We’re an umbrella organization for several open source projects and we participate in Google Summer of Code (GSoC) to ensure that future generations continue building open source software for scientific computing.

We’ve participated in GSoC most years since 2011, and in 2016 we had ten successful projects. The thematic areas are -- befitting an engineering-focused university -- very diverse. Let’s take a look at the projects and what students accomplished:

Carbon Footprint for Google Maps is a browser extension that calculates CO2 emissions that users would incur by driving on routes suggested by popular mapping services and displays this information alongside time and distance. The aim is to raise awareness of the environmental impact of driving cars.

Kolya Opahle brilliantly re-factored the extension, making it much more modular. This enabled expansion to include other map services and port to other browsers, with browser-specific implementations reduced to a minimum. Building for specific browsers was made easy through a Gradle build script. He took on the Firefox port himself, which turned out to be more challenging than expected due to incompatibilities between the extension API’s of Firefox and Chrome. Overcoming this challenge required ingenuity. 

Prateek Gupta completely re-designed and reimplemented the extension’s user interface, optimizing the storage of user options and allowing localization. He added support for more mapping services and calculations of additional greenhouse gases. He added new features to give the user more information about greenhouse gas emissions, including: 
  • a page with air quality index using an API from the World Air Quality Index
  • a page with tips to reduce emissions; a calculator to compute CO2 absorption by trees
  • another calculator for the benefits of walking and cycling instead of driving
Chirag Arora ported the extension to the Safari web browser. Like the port to Firefox, this proved challenging due to discrepancies between the Chrome and Safari extension API’s. Chirag also implemented several new features, including: 
  • more unit systems in the options page
  • automatic configuration of fuel price based on location and the Global Petrol Prices API
  • approximate calculation of CO2 emissions for public transportation
The Colibri project focuses on smart building energy management. Intelligent control strategies are becoming more and more important for efficiently operating residential and commercial buildings, as buildings are responsible for a significant amount of global energy consumption.

Georg Faustmann implemented a connector for Open Automated Demand Response (OpenADR) networks. OpenADR information and signals can now be processed and stored in the Colibri data store. One challenge for this student was comprehensive handling of the OpenADR specification. Based on the specification, Georg identified a set of relevant use cases which were finally realized in this Colibri component.

Josef Wechselauer worked on a connector for gateways based on the OASIS Open Building Information Exchange (OBIX) standard. This connector links physical devices and data from building automation systems to Colibri. Josef was very enthusiastic and he implemented the connector with an additional graphical user interface for browsing through available OBIX objects. The system test with real hardware was challenging, but he solved all of the problems.

Pratyush Talreja implemented a connector that enables the integration of MATLAB Simulink simulations. More precisely, the connector links to the MATLAB environment and can read and write data over interfaces provided by the simulation. Pratyush had some initial troubles with the system design and the role of the connector in the overall system. However, he tackled those challenges and succeeded in the end.

Mind the Word is a browser extension that helps users learn a new language. It randomly translates a few words per sentence on websites as the user browsers. Since the user sees the translated words in context, they can infer its meaning and thus gradually learns new vocabulary with minimal effort. The extension uses Google, Microsoft and Yandex translation APIs.

Ankit Muchhala re-factored and modernized the code base to ES6 using JSPM, fixing critical bugs in the process and setting up a test environment in Karma and Jasmine. After that, he redesigned the user interface, making extensive use of Bootstrap 3 along with AngularJS. He also implemented various features to make the extension more usable, such as: 
  • dispersed word translation
  • (automatic) blacklisting and easy whitelisting of words and websites
  • and the ability to backup and restore the user's configurations
Rohan Katyal ported the extension to Firefox and implemented several new features, including: 
  • speech of translated words
  • generation of quizzes with the translated words
  • search for visual hints, similar words and usage examples, and more. 
R/sdcMicro is the state-of-the-art R package for data anonymization and is used by national and international institutions. Data privacy has become a hot topic in research and requires serious effort to ensure that individuals cannot be identified.

Probhonjon Baruah improved the code quality of sdcMicro. He wrote unit tests that should help other contributors keep the package consistent and free of bugs. The main challenge for the student was understanding the object-oriented implementation of sdcMicro that goes beyond typical R packages. The student learned that standardized tests are too general to be useful, and that more problem-oriented and specific tests are more effective.

Classilist is an open source visualization dashboard for probabilistic classification data.

Medha Katehara of LNMIIT India developed Classilist, an interactive system for visualizing the performance of probabilistic classifiers. Additionally, she developed plugins to pull classification data from machine learning frameworks such as RapidMiner, WEKA and R.

In conclusion, we are -- again -- very happy with Google Summer of Code. Students advanced themselves and our research software, a clear win-win. Our large team of experienced mentors performed well and we’re grateful for their continued dedication and the support of our university. We hope to participate again in 2017!

By Josef Weinbub and Florian Rudolf, Organization Administrators for TU Wien, Austria