Software Carpentry at USP

Last year Software Carpentry ran two workshops at USP and they ran another workshop this week.

Thanks ...

... to Anna Penna, the amazing host of this workshop that I’m in debit with.

Thanks ...

... to FDTE, CCSL for the financial support for the workshop.

Thanks ...

... to Diego Rabatone Oliveira and Luciano Ramalho that volunteer their time to teach at the workshop.

Thanks ...

... to Luciano Issoe and Yuri Teixeira that volunteer their time helping the learners during the workshop without it the workshop won’t be so great.

Thanks ...

... to Haydee Svab that also helped organizing the workshop.


The workshop started with Software Carpentry’s standard lesson about the shell. Unfortunately I didn’t have time to cover shell scripts, grep and find.

I only made two changes when taught the lesson:

During the coffee break, one of the learners mention to me that s/he was expecting to learn more about awk and sed. I will enjoy teach one advanced shell workshop covering Software Carpentry’s extra material about the shell.


In the afternoon of the first day, Luciano Ramalho taught the introduction to Python. Luciano is famous at the Python community and has a lot of experience teaching programming.


The second day started with the Git session leaded by Diego Rabatone Oliveira. As usual, 3 hours wasn’t enough time to fully cover Software Carpentry’s standard lesson about Git.

Python - Plots

When we planned the workshop we proposal to cover tests during the afternoon of the second day mostly because I want to teach it. At the last minute I choose to change the program and use the afternoon to cover

  • plots with matplotlib,
  • plots with Bokeh and
  • use of scripts on Jupyter Notebooks


  1. plots were only briefly covered on the first day,
  2. learners requested it on the feedback of the first day and
  3. plot is something that beginners will use more.

Two learners contacted one of the helpers and mention that they were only attending the workshop because of the session about tests. Since was only two students and the original plan was live coding the section from Effective Computation in Physics about tests I lead my copy to the students, suggested that they follow the section they are interested and asked questions if needed. Unfortunatelly they leave the room early and I couldn’t talk with them.

Bad things

We need to work for

  • have a good speed (learns complained about too fast),
  • have more exercises (one option is move the exercises for the middle of the lesson and another one is use slides with the exercises — I need to find time to review this pull request from Rémi),
  • have more time (that could solve the previous problem),
  • have more days and less time per day (that will be possible when we have at USP the same number of instructors at Berkeley or Melbourne).


This was one workshop as many others from Software Carpentry.