Recently I joined the fantastic team of developers who run Google Developers Group Philly (GDG Philly), an umbrella organization that includes Android Alliance Philly and GoLang Philly meetup groups. Google Developer Groups or GDGs are community-run groups that are for developers who are interested in learning Google technologies.
The first thing we organized in 2016 was Google Developers Groups Study Jams, a free series of global, community-run, in-person study groups. We ran an Android Study Jam for 5 weeks which used Udacity's Android Beginners curriculum for newbies as well as experienced developers.
Since GDG Philly focuses mostly on Android & GoLang topics, we didn't have to go too far to find facilitators. Three of us organizers - Arpit, Corey & I are Android developers so we split the teaching part into 3 sessions that each of us would lead. The Study Jam ran for 5 weeks with a two week break between Session 4 and Session 5 so that attendees could focus on working on their final project which they would present on Demo Day.
Sessions 1, 2 and 3 on Feb 8th, 15th and 22nd
Our plan was to have facilitators be one lesson ahead of attendees. Attendees were expected to go through lessons and practice sets before attending each session but only about 30% of the attendees would do so. We encouraged attendees to bring their headsets along so that they could use the time to quietly study and catch up with the rest of the class.
Session 4 on Feb 29th : Final project discussion
Attendees were expected to be up to speed with all 3 lessons and practice sets before class. The facilitator walked through the final project in class. The final project was an educational app that teaches users 5 new things about a topic.
Session 5 on March 14th: Demo Day!Attendees were expected to have a working final project with deliverables. We asked attendees to sign up to demo their projects even if they weren't ready for it.
Slides from sessions are available here.
This was my first time running an event for GDG so here are my biggest takeaways.
— Yash Prabhu (@yashvprabhu) February 6, 2016
We had a strong core team. Arpit, Corey, Sam & I were present for most of the sessions so that attendees always had familiar faces that they could talk to. For Session 2, two of us facilitators were out of town so Corey & Sam stepped up to run it.
Involve the Community
We could only get the study jam up and running so quickly because we already had a lot of infrastructure in place. Most of us organizers work for or with companies that readily provide space and food on a short notice. Shout out to all the amazing companies for space and pizza.
Spread the word
The Android Alliance meetup group has 1000+ members. We tried to gauge interest in study jams by talking about it in the #android-philly channel in PhillyDev slack. We set up the event a week before it was to start. We didn't do too much outreach and spread the word by posting on Twitter and Google+. Going forward, we plan to set up events a few weeks in advance to give people enough time to RSVP. We also plan on working with other meetup groups in the area to involve more people from under-represented communities.
Have a Code of Conduct
We had a Code of Conduct from Day 1 which was adapted from Geek Feminism wiki. We mentioned it at the start of the event and in the meetup event page. We made it explicitly clear that harassment on any kind would not be tolerated and attendees had to treat each other with respect.
Give people time to mingle
We had planned to run the event from 6 to 8 pm and intended to start at 6 sharp. A lot of people were coming over right after work so we had to start around 6.30 pm. That way, attendees could grab food and get to know others who were all working towards the same goal - building their first Android app. It also gave the organizers a chance to get to know the attendees and their programming experience.
Have a game plan for facilitators
All of us facilitators reviewed the material before hand. The first three sessions were run by me, Corey and Arpit respectively and we all approached it in our own way. We used a mix of lectures, demos and workshops.
Prep work for facilitators and teaching assistants
There are a lot of things to do when you run a Study Jam. Catching up on hangouts to come up with a game plan, figuring out space and food, setting up events on meetup and Google developer events, sending sponsorship and swag requests to Google are a few of them. Our Study Jam plan was to have facilitators be one lesson ahead of attendees. Even though all our facilitators - Arpit, Corey & I had years of Android experience and Sam had gone through the Udacity Android Nanodegree in 3 months, we realized that teaching the basics of mobile development to attendees with some to no programming experience was not as easy as it seems especially since setup takes a lot of time and effort.
Prep work for attendeesWe let people know that a laptop is a must for development. Many attendees were new to programming and didn't know that we would be diving into code right away. We did not mention that a laptop was a must for Session 1 but started mentioning it in the meetup event page after that. We also let them know that homework was a part of this study jam and that it was up to them to go through the practice sets. We also did a review of the previous session before moving forward at every session.
— Yash Prabhu (@yashvprabhu) March 1, 2016
Setup is not always easy
Running an Android app for the first time is easier on a device rather than an emulator and that's what Udacity suggests starting off with. Since many attendees did not have Android devices, we thought we would set up an emulator instead. However, we didn’t realize that setting up Android Studio and an emulator (Android Virtual Device) would take up so much time. The blank Activity generated by Android Studio when you first create a project has a lot of unnecessary default layouts like the CoordinatorLayout so we asked attendees to remove everything that they don’t need so as to get a simple Hello World application running.
We also assured people that the setup is the worst part (and it was) but it got us wondering about the barriers of entering mobile development.
Encourage attendees to seek help from all sourcesWe asked attendees to create an account and track progress on the Udacity Android course for beginners. We encouraged them to post on StackOverflow, Udacity course discussion forums and the Google+ community for Android Study Jam students so that they could learn along with the thousands of students online.
Be availableWe asked our attendees to reach out to us either through the Philly Dev slack, email or meetup comments. We had an impromptu Q&A session at the end of Demo Day where we talked about what attendees liked and did not like about learning mobile development and MOOCs in general.
Ask for feedback
We gave everyone 5 minutes to fill up a feedback form that could be viewed by Google as well as the organizers so that we could improve the Study Jam sessions for next time.
Have a Demo Day
About 25% of our attendees had final projects to show. We allotted about 5 minutes to each presenter so that they could talk about their app's inspiration and answer questions from the group. We also used this time to give out the swag that Google had sent us. Some of the app ideas in our group where an app that lets you make a decision in 5 different ways, an app that teaches music theory, an app that shows info about 5 famous K-Pop stars and an app that teaches Java 101 with code samples.