Jim, from Grok Scala (Dallas, US), and Xavier, from Dev4Fun (Paris, France), both decided to run a coding meetup using the CodinGame platform. They tell us how the sessions went, and what the gaming aspect brought to the participants, from a training point of view.
Hi Jim, Xavier, could you present your respective meetups and their goals?
Jim: The meet up is the “Grok Scala via Collaborative Coding of Dallas”. The
goals are very simple: to learn Scala and the Scala collections library
in an exploratory and collaborative environment. I have shared the deck
I used from the kick-off meeting. It kind of evolved out of our existing meetup; Dallas Scala Enthusiasts. When we didn’t have a presentation, we just did an interactive coding session with lots of questions and answers. And this resulted in lots of learning by those entirely new to Scala and/or FP. When we would have a presentation, we would end up going on tons of tangents to try and get those interested in or new to Scala up to speed on whatever was being discussed. These tangents were occurring so frequently, it was disrupting the primary presentation. While kicking around ideas after the Dec. meeting, I volunteered to create a separate group where we “trained up” those who were just dipping their toe into the Scala domain.
Xavier: We decided to created this meetup because we like coding dojos. However unfortunately, coding dojos have a pretty elitist image. A lot of people will not dare taking part for fear of not being skilled enough, or not knowing the selected programming language well enough. Dev4Fun is meant for any person interested in programming, whatever their skill level or favorite programming language.
What are the reasons that led you to choose the CodinGame platform to lead the session?
Jim: I am part of the Google+ Scala Group. I discovered CodinGame from a post placed there. I spent a weekend solving all of the easy puzzles and then started on the Intermediate problems. That was the weekend prior to our December meetup of Dallas Scala Enthusiasts where it was disrupted frequently by code related questions and confusions. So, when I suggested a specialized group to get people to actually start playing with Scala code, I figured I could use CodinGame for the first 6 months/meetings. And then I would let the group kind of evolve wherever it needed. My plan was to encourage the group to continue to work CodinGame problems at higher levels. Eventually, the monthly meeting will present both a simple and a more advanced problem. The more advanced problem might be something worked between meetings so as to encourage a deeper investment into learning more of the Scala platform. The end game is to generate more Scala software engineers.
Xavier: CodinGame mixes together video game and code. As a lot of programmers love video games, it appeared to be an excellent way to motivate them to come play with us.
What advantages do you see from an educational point of view?
Jim: There are several. First, visualization of a coding problem makes it much less difficult to “play” and “experiment” with code. Second, being able to code online without requiring the student “install tons of finicky software” makes the teaching process so much simpler. Finally, being able to work on it from anywhere and any device means the playing can continue after the meetup in places like “waiting for wife at grocery store”, “waiting for train/riding train to and from work”, etc. Finally, given the different difficulty levels AND the periodic “mega competition”, it stimulates all sorts of inspiration for those who want to push their limits in exploring the kinds of things Scala can resolve.
Xavier: CodinGame supports a lot of different programming languages, so it helps learning new languages while discovering new ways to program to, in the end, code even better.
How went your first session with CodinGame? What were the most positive outcomes for the participants?
Jim: The response was very positive. We had +20 people RSVP. We had 16 actually show up, which is an outstanding participation rate for meetups of this type. We had almost the same numbers for the second meetup. There is definitely lots of continued interest and commitment to learning. The participants are definitely feeling a higher level of efficacy in their learning experience. The editor itself, in CodinGame, is a bit difficult to use. That’s more about Scala than the CodinGame platform. The two biggest challenges are; Scala uses two spaces for indentation (as opposed to tabs with a width of 4) and the editor doesn’t show Scala types for variables (which the Eclipse and IntelliJ IDEs do). The first is mostly a visual distraction, especially when pasting in code to the editor from another source. The second, not seeing the types of Scala variables, is a bit more problematic for new students of Scala. And it’s not something trivial to add to your editor (at least I don’t think it is…you might ask the authors of Scala.js as they may might have found a pathway around this).
Xavier: We had a great time. Participants had very different profiles: beginners, experts, Java / Python / C enthusiasts… I think the most positive aspect was this diversity and all the valuable exchanges that it lead to.
What kind of advice would you give to people wishing to organize such a meetup?
Jim: Dive in and get started. Let the students push the process. Their eagerness to learn and explore will generate all sorts of fun ways of playing with both Scala and CodinGame. And I have shared the deck I used to kickstart the meetup. Feel free to share that with anyone interested in starting a meetup of a similar nature.
Xavier: Have a go! It really isn’t hard to organize and you’ll have a wonderful time.