This is a report about the workshop about computational tools that I help to organize for the lab where I work. If you like to watch the recorded of the workshop (only available in portuguese) you will find the links here.

I was hoping to have around 20 students (and possibly a waiting list) but had only 14 subscriptions and 12 of those show up.

Photo just before the workshop begin.


Thanks to Abel Siqueira that helps organizing the workshop and share the teaching with me.


Thanks to Gabriel Fedel, Luiz Vezza and Edson Mano for helping solving the problems that students had. And a very special thanks to Eric Oliveira that besides help with students troubles also take all the great photos that I use in this post.


Thanks to Software Carpentry for the awesome lessons available under CC-BY.

Just one day

Photo showing the students.

Make the room reservation was easy, I just have to send a few emails, but since it wasn’t available for two consecutive days I could only use it for one day and had to cut more than half of the content in Software Carpentry’s material.

Since I believe that Git is the tool that most students won’t heard a lot about I choose to focus the workshop to teaching Git.


Abel teaching the shell.

The workshop started with Abel, the system administrator of the lab and who I always help me solving the bugs in my programs, teaching the Unix shell.

He prefer keep a live demo session of the shell in half of the screen and use the other half for his slide deck.

During the lesson he cover all the basic commands of the shell but couldn’t teach if neither for and just mention how create a script.

Git and GitHub

Me teaching git.

After the shell lesson I gave a quick talk about what is Git and GitHub and why use it. I hope that it had motivate the students to try to use it in their daily work.

After the quick talk and before taught all the local git basic commands like status, add, commit, log and checkout, I try to use Post-it note to explain how git works (thanks very much to Chris and David for this tip).

Black board and post-it note to explain how git works.

After that we had a break for lunch and when we came back I taught the clone, push and pull commands.

As always, teach git to work in a collaborative way isn’t easy and take more time that we plan.



Although I would like to teach Python3, Software Carpentry lessons still use Python2 (I hope they move to Python3 this year) and Anaconda’s default configuration use Python2 (if you want to make Anaconda use Python3 you could follow this tutorial).

Abel taught the basic about Python and I showed how to do some very basic things with IPython, Numpy and matplotlib.

Photo of students working on the examples.

Lessons learned

  1. Check if the Post-it’s glue is OK before the workshop.
  2. If you had only one day don’t try to cover Python or R. Spend the time teaching Git properly and a little advanced Unix shell tools like SSH.
  3. Warning GNU/Linux beginner users that they must install Anaconda because install Python packages and their dependencies during the workshop will not work.
  4. Don’t forgot to ask the feedbacks before the ending.