Site icon 4TU.ResearchData

‘Python Essentials for GIS Learners’: a targeted FAIR research workshop by TU Delft’s Digital Competence Centre

These were ques­tions posed to mem­bers of the His­tor­i­cal GIS (HGIS) and Delft Dig­i­tal Human­i­ties (DDH) com­mu­ni­ties with­in the Fac­ul­ty of Archi­tec­ture and the Built Envi­ron­ment to invite their par­tic­i­pa­tion in the ‘Python Essen­tials for GIS Learn­ers’ work­shop. The work­shop was coor­di­nat­ed by the TU Delft Dig­i­tal Com­pe­tence Cen­tre (DCC) from 15th to 17th March.

This 3‑day online work­shop was designed and deliv­ered by mem­bers of the DCC as part of a col­lab­o­ra­tive project with researchers Car­o­la Hein, Thomas van den Brink and Yvonne van Mil. The fun­da­men­tal aim was to sup­port skill build­ing in FAIR data, soft­ware, and research work­flows.

Using sim­ple geospa­tial datasets as exam­ples, work­shop instruc­tors Ash­ley Cryan and Jose Urra Llanusa taught fun­da­men­tal con­cepts of pro­gram­ming with Python, ver­sion con­trol with Git, work­ing with the com­mand line, and how tools for each skill can be used to find, explore, pro­duce, and share FAIR geospa­tial data. 

Specif­i­cal­ly, par­tic­i­pants learned how to: nav­i­gate files using the Bash (Unix) shell; inter­act with the Python ecosys­tem (Ana­con­da, Jupyter­Lab) and pop­u­lar libraries for data analy­sis and visu­al­i­sa­tion; work with the Python con­sole in QGIS; imple­ment ver­sion con­trol with Git; and prac­tice social cod­ing with GitHub. Hands-on group activ­i­ties were used to demon­strate how these tools are use­ful to auto­mate and aug­ment com­po­nents of a GIS-based research work­flow. 

The work­shop was designed for com­plete begin­ners in pro­gram­ming, with the goal of inspir­ing and empow­er­ing par­tic­i­pants to apply these prac­tices in the con­text of their own research. Thir­teen active par­tic­i­pants and two observers tuned in to the online work­shop for an engag­ing and fun learn­ing expe­ri­ence that we believe achieved our goal!

Most par­tic­i­pants in the work­shop had exten­sive expe­ri­ence work­ing with desk­top appli­ca­tions for GIS like ArcGIS and QGIS (pic­tured above). Dur­ing the work­shop, the group prac­ticed work­ing pro­gram­mat­i­cal­ly with geospa­tial data in QGIS using the Python con­sole and code edi­tor.
Python offers some pow­er­ful libraries for cre­at­ing beau­ti­ful maps, but to under­stand how they work “under the hood” we start­ed with the fun­da­men­tals! Par­tic­i­pants were intro­duced to basic con­cepts of object-ori­ent­ed pro­gram­ming to cre­ate a map of cities in the Nether­lands from a python script using the Tur­tle graph­ics mod­ule.
Par­tic­i­pants took part in a hands-on cod­ing ses­sion in a Jupyter Note­book to explore and plot data from the Nat­ur­al Earth Air­ports dataset, using fun­da­men­tal Python libraries for data analy­sis: numpy, mat­plotlib and pan­das. 

Creating the workshop

The mate­ri­als used in the work­shop were a com­pi­la­tion of orig­i­nal lessons and exter­nal sources. Dur­ing the work­shop design phase, we as instruc­tors dis­cov­ered many excel­lent resources that could be adapt­ed to pro­duce a cohe­sive cus­tom learn­ing expe­ri­ence. Lessons were cre­at­ed based on the Unix Shell and Plot­ting and Pro­gram­ming in Python lessons from Soft­ware Car­pen­try, the Tur­tle Graph­ics Map repos­i­to­ry by Andrea Cle­land and the Giz­mo “Can you speak Python?” chal­lenges repos­i­to­ry by Mar­i­jn van Vli­et.

The cen­tral plat­form for the work­shop was a web­site used to host the les­son mate­r­i­al and serve as an inter­ac­tive online edu­ca­tion­al resource. The web­site, which is pub­licly avail­able for reuse, was cre­at­ed using Jupyter Book and host­ed with GitHub Pages. All les­son mate­ri­als were col­lab­o­ra­tive­ly devel­oped and are now host­ed in the DCC orga­ni­za­tion on GitHub, writ­ten in Jupyter Note­books and mark­down files to show­case code- and text-based exam­ples. Inter­ac­tive group dis­cus­sion between par­tic­i­pants was facil­i­tat­ed by Jupyter Book’s  ‘utter­ances’ fea­ture, a web com­ment­ing sys­tem that uses GitHub Issues to store and man­age com­ments for effec­tive fol­low-up and live­ly dis­cus­sions.

The work­shop was adver­tised using Eventbrite and pro­mot­ed with­in the HGIS and DDH com­mu­ni­ties with the help of the fac­ul­ty Data Stew­ard, Diana Popa, and Data Stew­ard Coor­di­na­tor, Yan Wang. The group size was capped at 15 par­tic­i­pants (with a wait­ing list of 10 par­tic­i­pants) who reg­is­tered with­in four days of pub­lish­ing the event page — an encour­ag­ing sig­nal of the demand for the skills this work­shop tar­get­ed. 

Measuring impact

Pre- and post-work­shop sur­veys were used to mea­sure the impact that this expe­ri­ence had on par­tic­i­pants’ con­fi­dence and abil­i­ty to apply fun­da­men­tal pro­gram­ming tools and con­cepts. 

Par­tic­i­pants were asked to rate their reac­tion to ten state­ments before and after the work­shop, respec­tive­ly, on a scale from 0 (“strong­ly dis­agree”) to 10 (“strong­ly agree”). These state­ments were:

  1. I feel capa­ble of writ­ing a small pro­gram, script, or macro to address a prob­lem in my own work.
  2. I know how and where to search for answers to my tech­ni­cal ques­tions online.
  3. I feel capa­ble of using script­ing and automa­tion in my data analy­sis.
  4. I under­stand why and how to use a ver­sion con­trol sys­tem like Git to track changes to my own files.
  5. I feel capa­ble of col­lab­o­ra­tive­ly writ­ing and shar­ing code with oth­ers.
  6. I think that pro­gram­ming skills can improve my research process.
  7. I feel capa­ble of using an online repos­i­to­ry like GitHub to search for oth­ers’ code and pub­lish code from my own projects.
  8. Basic pro­gram­ming skills and data lit­er­a­cy should be taught as part of a Uni­ver­si­ty cur­ricu­lum.
  9. I under­stand the ben­e­fit of using metadata/documentation to enrich and describe my research data out­puts accord­ing to my domain stan­dards.
  10. I believe that PhD stu­dents can ben­e­fit from work­shops like this on pro­gram­ming basics at the start of their PhD.

For each state­ment, the mean aggre­gate score was high­er after par­tic­i­pa­tion in the work­shop — in some cas­es sub­stan­tial­ly — indi­cat­ing that par­tic­i­pants ben­e­fit­ed from the learn­ing expe­ri­ence. Because par­tic­i­pants were begin­ners at pro­gram­ming, the pre-work­shop mean scores were fair­ly low (around 2), how­ev­er, after the work­shop they increased con­sid­er­ably. The great­est improve­ment was observed for ques­tion 5, “I feel capa­ble of col­lab­o­ra­tive­ly writ­ing and shar­ing code with oth­ers”, which increased by 4.65 points (from a pre-work­shop mean score of 0.25 to a post-work­shop mean score of 4.9). These results are encour­ag­ing to say the least!

Through the post-work­shop sur­vey, par­tic­i­pants also high­light­ed the work­shop’s role in inspir­ing them to con­tin­ue build­ing their Python skills; help­ing them under­stand how tools for work­ing with code can be used to sup­port dif­fer­ent phas­es of a research project; and, giv­ing them a bet­ter appre­ci­a­tion of the time com­mit­ment and prac­tice nec­es­sary to devel­op pro­gram­ming skills. 

Quotes from par­tic­i­pant feed­back includ­ed: 

“The teach­ing style was fun, inter­ac­tive, and a nice change of pace from stan­dard “lec­tures”. I liked how infor­mal it was, and how we could ask ques­tions as we pro­gressed through the lessons.”

“Great mod­er­a­tion and feed­back! Very acces­si­ble and use­ful walk­through with QGIS! Excel­lent intro to shell script­ing. Excel­lent answers to ques­tions raised dur­ing the work­shop, both in the com­ment sec­tion of the web­site and dur­ing the live ses­sions.”

Opportunities and lessons learned

There are clear oppor­tu­ni­ties for future engage­ment through train­ing using this work­shop mate­r­i­al and impli­ca­tions for the val­ue of offer­ing tar­get­ed work­shops for dis­ci­pline-spe­cif­ic research groups.

One impor­tant find­ing is the inter­est and abil­i­ty of work­shop par­tic­i­pants to become instruc­tors for this work­shop in the future. Six of the thir­teen active par­tic­i­pants indi­cat­ed either “yes” or “maybe” to the post-work­shop sur­vey ques­tion: Would you be inter­est­ed in teach­ing this mate­r­i­al to oth­ers to sup­port com­pe­ten­cy build­ing in your own fac­ul­ty or research group?

Inte­gra­tion with the Open Sci­ence Com­mu­ni­ty Delft is also a log­i­cal next step, giv­en that the par­tic­i­pants in this work­shop were already inter­est­ed in Open Sci­ence top­ics and are now equipped with essen­tial FAIR data and code skills. The pos­si­bil­i­ty for past par­tic­i­pants to join future work­shops (includ­ing TU Delft Soft­ware and Data Car­pen­try work­shops) as helpers and con­tribute to new edu­ca­tion­al mate­r­i­al is open and excit­ing!

The for­mat used to run this work­shop was well-received and could be emu­lat­ed in the future. Each day was divid­ed into online teach­ing ses­sions of 3 hours in the morn­ing fol­lowed by offline self-study ses­sions in the after­noon. This allowed par­tic­i­pants to join group dis­cus­sions and demon­stra­tions in the morn­ing and after­wards, work inde­pen­dent­ly on pre­pared exer­cis­es relat­ed to the morn­ing’s mate­r­i­al. Instruc­tors were avail­able for “Zoom Office Hours” each after­noon to pro­vide par­tic­i­pants with help and answer ques­tions via GitHub with the assis­tance of geospa­tial data expert and DCC research soft­ware engi­neer, Manuel Gar­cia Alvarez.

The major­i­ty of par­tic­i­pants found the for­mat of this work­shop to be a good bal­ance of teach­ing time and inde­pen­dent exer­cis­es. About 30% of par­tic­i­pants thought the work­shop was too short and that more than three days of train­ing would have been prefer­able. 

Our expe­ri­ence val­i­dat­ed that this work­shop could be effec­tive­ly con­duct­ed for this group size with just two instruc­tors. How­ev­er, whilst the teach­ing expe­ri­ence was fun and man­age­able an impor­tant obser­va­tion was the preva­lence of pro­gram­ming envi­ron­ment-relat­ed errors which were dif­fi­cult to trou­bleshoot online. We were able to solve most issues dur­ing the online teach­ing ses­sion. In some cas­es, small groups with sim­i­lar issues were asked to remain online after the teach­ing ses­sion to resolve tech­ni­cal issues. Such tech­ni­cal issues caused some under­stand­able frus­tra­tion among par­tic­i­pants, and could poten­tial­ly be avoid­ed in future work­shops by cre­at­ing a shared envi­ron­ment with Jupyter­Hub in which to run the work­shop. This would help to reduce fric­tion for begin­ners and cre­ate a smooth expe­ri­ence for par­tic­i­pants and instruc­tors alike. 

Last­ly, sev­er­al PhD and mas­ters stu­dent par­tic­i­pants inquired about receiv­ing ECTS cred­its which could not be pro­vid­ed for this par­tic­u­lar work­shop due to devel­op­ment time con­straints. In the future, it is rec­om­mend­ed to pro­vide par­tic­i­pants with 2 ECTS for work­shops of this kind if at all pos­si­ble. This will fur­ther incen­tivize par­tic­i­pants to devote time to learn­ing and feel that their accom­plish­ments are rec­og­nized by the grad­u­ate school, which will pro­mote a high-qual­i­ty learn­ing expe­ri­ence for all. 

Plans for the future

Run­ning this ‘Python Essen­tials for GIS Learn­ers’ work­shop for the first time was a great expe­ri­ence! In the future, this mate­r­i­al can be offered with sup­port and either full or co-instruc­tion from the DCC in con­nec­tion with research groups work­ing on geospa­tial research. 

Groups of up to 15 researchers are sug­gest­ed for keep­ing this work­shop small and man­age­able by two instruc­tors. The work­shop mate­r­i­al (lessons, exer­cis­es and instruc­tor notes) can be reused by any­one (even inde­pen­dent­ly) via the work­shop web­site.

Since Sep­tem­ber 2020, the DCC has been active­ly involved in sup­port­ing a num­ber of long-term projects across all fac­ul­ties at TU Delft. With a mis­sion to help researchers devel­op skills in apply­ing the FAIR prin­ci­ples to their research activ­i­ties and reach their data man­age­ment and soft­ware devel­op­ment goals, this team of Data Man­agers and Research Soft­ware Engi­neers is poised to offer tar­get­ed train­ing. 

Get in touch!

If you’re inter­est­ed in devel­op­ing a work­shop on a top­ic relat­ed to FAIR data and soft­ware or have ques­tions about how to make your own research out­puts FAIR, please get in touch with the DCC by email­ing: dcc@tudelft.nl.

Writ­ten by Ash­ley Cryan and Jose Urra Llanusa (TU Delft DCC)
Edit­ed by Con­nie Clare (4TU.ResearchData)

Cov­er image by Gerd Alt­mann from Pix­abay

Exit mobile version
Skip to toolbar