Train the Trainer workshop: Best practices for Writing FAIR and Reproducible Code

On the 24th and 25th June, 4TU.ResearchData’s FAIR and Repro­ducible Code Com­mu­ni­ty Work­ing Group con­duct­ed an online ‘Train the Train­er’ work­shop for the data stew­ards and oth­er research data man­age­ment sup­port pro­fes­sion­als from 4TU part­ner insti­tu­tions to learn best prac­tices for writ­ing FAIR and Repro­ducible soft­ware code. 

The idea of this work­shop was for expe­ri­enced group mem­bers to teach oth­ers best prac­tices for writ­ing and man­ag­ing code. The aim was for learn­ers to gain the nec­es­sary skills to pro­vide advice and devel­op sim­i­lar train­ing for researchers with­in their own insti­tu­tions. 

The planning phase 

In April, a pre-work­shop sur­vey was com­plet­ed by the data stew­ards to iden­ti­fy their needs, goals and expec­ta­tions of the work­shop. 

From this sur­vey, we iden­ti­fied five instruc­tors and helpers: Heather Andews, Nico­las Dintzn­er, San­tosh Ilam­paruthi, José Urra Llanusa and Eiri­ni Zorm­pa; and, nine learn­ers: Mar­i­an­na Avetisyan, Con­nie Clare, Simone Fricke, Paula Mar­tinez Lavanchy, Zafer Özturk, Diana Popa, Phuong Truong, Yasemin Türky­il­maz van der Velden and Qian Zhang.

Before the work­shop, learn­ers had to fol­low prepa­ra­tion instruc­tions to…

The ‘Train the trainer’ workshop 

Based on the pre-work­shop sur­vey results, the work­shop train­ing mate­r­i­al was adapt­ed from the ‘Best Prac­tices in Writ­ing Repro­ducible Code’ course devel­oped by Bar­bara Vreede and col­leagues from Utrecht Uni­ver­si­ty

The work­shop was deliv­ered dur­ing two con­sec­u­tive after­noon ses­sions to show­case best prac­tices for writ­ing and man­ag­ing code in Python and R pro­gram­ming lan­guages. 

Instruc­tors Nico­las Dintzn­er and José Urra Llanusa struc­tured the course mate­r­i­al using ‘Books with Jupyter’ to pro­vide a clear overview of the work­shop aims, prepara­to­ry instruc­tions and agen­da.

The work­shop was con­duct­ed in a ‘flipped class­room’ for­mat which required learn­ers to under­take var­i­ous code man­age­ment exer­cis­es before the ses­sions and, then, work on live prob­lem-solv­ing dur­ing the ses­sions. We host­ed dif­fer­ent break­out ses­sions for R and Python in which learn­ers could attempt and then dis­cuss the exer­cis­es in their pre­ferred pro­gram­ming lan­guage as a group.

Day 1

12:00 Ses­sion zero: Last minute setup/environment fix for those who didn’t man­age to install every­thing.All
13:00 Wel­come and Intro­duc­tion Con­nie & Nico­las
13:15Project struc­ture & Git: Ques­tions Heather 
13:30Project struc­ture & Git: Break­out exer­cis­esHeather & Eiri­ni
13:45 Ver­sion con­trol with Git: Ques­tionsHeather 
14:00Ver­sion con­trol with Git: Break­out exer­cis­esHeather & Nico­las
14:15Pub­li­ca­tion and Licens­ing: Ques­tions San­tosh
14:30 Break All 
14:45Code read­abil­i­ty: Ques­tions Nico­las
14:55Code read­abil­i­ty: Break­out exer­cis­es Nico­las
15:15Code reusabil­i­ty: Ques­tionsNico­las
15:25Code reusabil­i­ty: Exer­cise Nico­las 
15:45 Break All 
16:00 Code robust­ness: Ques­tionsNico­las 
16:15 Code robust­ness: Demon­stra­tion Nico­las 
16:35 Q&A: Gen­er­al Dis­cus­sion All
16:45 EndAll

Day 2

13:00Q&A: Day 1 review All
13:10 Com­ments and Doc­string: Ques­tions Eiri­ni 
13:25 Com­ments and Doc­string: Break­out exer­cise Eiri­ni 
13:45README: Ques­tionsEiri­ni 
13:55README: Break­out exer­ciseEiri­ni 
14:15 Break All 
14:30 Depen­den­cies: Ques­tions Heather 
14:45 Depen­den­cies: Break­out exer­ciseHeather and Nico­las
15:00Binder: Ques­tionsEiri­ni
15:15Archiv­ing: Ques­tions San­tosh
15:30 Break All
15:45 Q&A: Gen­er­al Dis­cus­sion All
16:00 EndAll

Post-workshop reflections 

A post-work­shop sur­vey was com­plet­ed by five learn­ers who par­tic­i­pat­ed in the work­shop to gath­er feed­back about the dura­tion, prepa­ra­tion, for­mat, struc­ture and con­tent cov­ered. 

The respons­es demon­strat­ed that the work­shop met expec­ta­tions, but that per­haps the dura­tion could have been longer to accom­mo­date the large vol­ume of mate­r­i­al cov­ered in the live ses­sions. 

The respon­dents spent a var­ied amount of time prepar­ing for the work­shop (from <1 hour to 4 hours). They report­ed that the prepara­to­ry steps could have been more explic­it to indi­cate the time required for each exer­cise since this was gen­er­al­ly under­es­ti­mat­ed by the learn­ers. 

In gen­er­al, the respon­dents believed the bal­ance between self-study and live ses­sions dur­ing the ‘flipped class­room’ for­mat to be ‘about right’, how­ev­er, some would pre­fer to have more live ses­sions to work through the mate­r­i­al togeth­er and live ses­sions could be longer. 

One learn­er report­ed that they would have pre­ferred to under­take the exer­cis­es with oth­ers in small groups and with the instructors/helpers avail­able to assist and answer ques­tions dur­ing the process. They stat­ed that it was frus­trat­ing to encounter dif­fi­cul­ties dur­ing an exer­cise and to have to wait for the live ses­sion to trou­bleshoot the prob­lem.

In gen­er­al, respon­dents believed that the work­shop con­tent was use­ful to the role of a data stew­ard and that the train­ing mate­ri­als serve as a use­ful resource to be shared with researchers. 

In par­tic­u­lar, the ‘project set-up’ and ‘Q&A: Gen­er­al Dis­cus­sion’ were vot­ed the most use­ful ses­sions dur­ing the work­shop. Respon­dents indi­cat­ed that future top­ics of inter­est for the group to learn are how to use mark­down, and how to write FAIR and repro­ducible code when no ver­sion con­trol envi­ron­ment is used.

We asked the learn­ers to tell us what they liked about the course… Here’s what they said: 

  • “Great mate­ri­als and great and knowl­edge­able instruc­tors.”
  • “The diverse con­tent.”
  • “I liked the group a lot and how knowl­edge­able our instruc­tors are.”
  • “The team, the atmos­phere, every­thing!”
  • “Knowl­edge­able instruc­tors who gave clear answers to all our ques­tions; received a lot of use­ful infor­ma­tion; nice exer­cis­es”. 
  • “I would like to do more than that but I do not have the time capac­i­ty or back­ground to be able to run these work­shops in my fac­ul­ty on my own.
  • “I will have to go through the mate­ri­als at a slow­er pace”
  • “It would be great to have this course as an online mod­ule with a ques­tion hour I think! That would make it easy to imple­ment and I think it would work for the tar­get group!”

The next steps… 

We’re now tak­ing a break and some time to reflect over the sum­mer. In Sep­tem­ber, we’ll recon­vene for our month­ly meet­ings to dis­cuss future direc­tions and deliv­er­ables for the FAIR ad Repro­ducible work­ing group. More to fol­low towards the end of the year!

Writ­ten by Heather Andrews, Con­nie Clare, San­tosh Ilam­paruthi, José Urra Llanusa and Eiri­ni Zorm­pa
Images by Peggy_Marco on Pix­abay

Related Articles

Discover more from 4TU.ResearchData

Subscribe now to keep reading and get access to the full archive.

Continue reading