Elleva Day at Federal Fluminense University (UFF)

Cínthia Pessanha
cinthiabpessanha
Published in
5 min readNov 2, 2019
The event logo

In October, 24th 2019, Elleva (@elleva.me in Instagram) was invited to do a presentation at UFF, a public university in Rio das Ostras, Rio de Janeiro, Brazil. And I was recruited to help them in this journey :D I couldn’t be more excited to be part of it!

Me :)
The audience

In this article I’ll describe how we organized the presentation, the results and the students’ feedbacks during the retrospective. If you don’t know what a coding dojo is or if you’re too shy to try it, this post is for you!

Part 1: Fundamentals

What’s Coding DOJO?

The first part of the presentation was destinated to describe what is a coding DOJO.

DOJO is a Japanese word commonly used in martial arts context, specially Judo. Dojo means training place. It’s the place where several judo learners stay together learning judo moves. The classes don’t separate beginners from senior fighters, since the target is the beginners learn from the older fighters’ experience.

Judo class

Applying this in programming context, the target is the same.

Coding DOJOs got popular due to its adoption in complex problems resolution in agile projects. So, the technique has several features inspired in Agiles processes, like XP and scrum.

DOJO types

Basically there are 3 types of coding DOJO:

KATA

  • Presenter, one computer which screen is projected in a way that all audience can see
  • The audience is free to ask as many questions as necessary to understand the full explanation
  • The presenter shows a problem solved and explains all the code
  • In other words: it’s a presentation of a code previously developed
Dojo Kata

RANDORI

  • Pilot, copilot, audience, one computer which screen is projected in a way that all audience can see
  • There are coding sessions that last 5–7 minutes. Every time that a cycle ends, the pilot goes to the audience, the copilot becomes the pilot and someone from the audience get the copilot’s position. And a brand-new cycle restart
  • The audience can’t speak, except if the pilot and copilot ask them something or if all tests are passing
  • TDD is mandatory
DOJO Randori

KAKE

  • This kind of coding dojo works only if the participants have some previous experience, since it happens in different languages at the same time
  • The same problem is solved in parallel by different pairs using different technologies
  • Just like in RANDORI, here there is also time-box coding sessions. And in the end of each cycle, the pilot goes to another computer and continue the development from the point it stopped, without previous explanations
  • No projection; several computers
DOJO Kake

In order to a coding dojo session works fine, there are some principles that everybody must be committed with. And we did this deal with the students.

The principles

TDD — Test Driven Development

As we were about to apply Randori, it was necessary to make the audience understand the basic of Test Driven Development.

It is important to understand that TDD is a programming style that must be applied in specific situations, like architecture design, part of a domain model development or any complex problem. As it’s mandatory to develop in baby steps (think in small problems progressively) and often refactoring, the solution emerges and with good quality.

TDD details

Part 3: Coding DOJO session

Finally, the Randori coding dojo started! The audience was amazing, since many students volunteered to code. It was a great surprise! We chose Java as programming language, using IntelliJ and Junit. We don’t have so much experience on it, but this is the language that most students in Brazil study in the university. The challenge was based on a board game with Harry Potter theme.

Part 4: Retrospective

In the end of the coding dojo, the audience received some papers to share their impressions. Here are some that can be worthy for future coding dojo sessions:

  • Try to find out your audience’s profile. Ours didn’t have experience with MAC computers. So they had some issues during coding, like “how do I copy/paste things here?”
  • We should have been ready to ask them the programming language they’d prefer. We supposed that it would be java, since that’s the most popular programming language in Brazil’s universities. But our audience was too young. Their skills were still more focused in C or Pascal.
  • Harry Potter made the coding dojo much more interesting.

Well, that’s it! The experience was amazing. Although the students weren’t feeling comfortable with the programming language or the MAC keyboard, they tried and followed all dojo principles. TDD ran well and the mission was accomplished. In other words, the challenge was solved.

--

--