Introduction to programming in research with Python

This work­shop adapts the Python Soft­ware Car­pen­try cur­ricu­lum to focus on best prac­tices for pro­gram­ming in research. Par­tic­i­pants will not only learn core Python fun­da­men­tals but also explore how to struc­ture repro­ducible, main­tain­able, and robust code for research pur­pos­es. In addi­tion, the work­shop includes a ses­sion on run­ning Python scripts from the ter­mi­nal and ded­i­cates time on Day 2 for get­ting to know the 4TU.ResearchData repos­i­to­ry.

Note: This work­shop is still in pilot mode so the actu­al syl­labus may have slight changes for the work­shop instance but over­all the learn­ing objec­tives are the same.


Learning objectives

By the end of this work­shop, par­tic­i­pants will be able to:

  • Under­stand Python fun­da­men­tals and apply them to research-relat­ed prob­lems, name­ly , uti­lizes libraries (e.g., NumPy and Pan­das) for data manip­u­la­tion in research.
  • Write clean, mod­u­lar, and well-doc­u­ment­ed code fol­low­ing best prac­tices
  • Run Python scripts from the ter­mi­nal
  • Famil­iar­ize with the 4TU.ResearchData repos­i­to­ry for data and soft­ware long term deposit.


Syllabus/Curriculum overview

Day 1

  • Morn­ing ses­sion (09:30 – 12:30):
    • Wel­come & intro­duc­tion:
      • Overview of work­shop goals and the impor­tance of repro­ducibil­i­ty in research.
    • Envi­ron­ment set­up & Python fun­da­men­tals:
      • Set­ting up Python (using Jupyter­lab).
      • Core Python top­ics: data types, vari­ables, for loops, mak­ing choic­es on a case study of analysing a small dataset.
  • After­noon ses­sion (13:30 – 16:00):
    • Cre­at­ing func­tions
    • Tyd­ing things up

Day 2

  • Morn­ing & ear­ly after­noon (09:30 – 14:30):
    • Intro­duc­tion to the com­mand line.
    • Mod­i­fy our mini project to run from the ter­mi­nal with var­i­ous para­me­ters
  • After­noon ses­sion (14:45 – 16:00):
    • Overview of the repos­i­to­ry sys­tem
    • Best prac­tices for soft­ware and data shar­ing


Prerequisites

  • Basic famil­iar­i­ty with com­put­ers and nav­i­gat­ing the com­mand line.
  • No pri­or pro­gram­ming expe­ri­ence is required; how­ev­er, a will­ing­ness to engage in hands-on exer­cis­es and learn new con­cepts is essen­tial.
  • Par­tic­i­pants should have Python installed on their lap­tops (instal­la­tion instruc­tions will be pro­vid­ed pri­or to the work­shop).


Target audience

This work­shop is designed for:

  • Researchers, grad­u­ate stu­dents, and pro­fes­sion­als in aca­d­e­m­ic or sci­en­tif­ic fields seek­ing to inte­grate pro­gram­ming into their research.
  • Indi­vid­u­als who are new to Python or pro­gram­ming and wish to learn to apply these skills in a research con­text.


Instructors

Leila Iñi­go de la Cruz


Resources

  • Par­tic­i­pants are encour­aged to bring their own lap­tops for hands-on exer­cis­es.
  • Pre-work­shop instal­la­tion guides, sam­ple datasets, and addi­tion­al online resources will be pro­vid­ed.

If you are inter­est­ed in orga­niz­ing one of those train­ings at your insti­tu­tion (cur­rent 4TU.ResearchData mem­ber’s insti­tu­tions), please approach our train­er Leila Iñi­go!